k8s之存储卷local PV
一、简介
- local能够作为PV使用的本地存储卷。
- local卷插件用于将本地存储设备(如磁盘、分区或目录) 配置为卷。
- hostPath卷在Pod被重建后可能被调试至其它节点而无法再次使用此前的数据,而基于local卷,调度器能自行完成调度绑定。
- 基于local的PV,需要管理员通过nodeAffinit声明其定义在的节点。
- local 卷只能用作静态创建的持久卷。不支持动态配置。
二、创建local PV
1、创建存储类
- 配置PVC绑定local PV时,通常要创建个StorageClass。
root@k8s-master01:~/learning-k8s/examples/volumes/local-pv-demo# cat storageclass-local.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: local
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
root@k8s-master01:~/learning-k8s/examples/volumes/local-pv-demo# kubectl apply -f storageclass-local.yaml
storageclass.storage.k8s.io/local created
root@k8s-master01:~/learning-k8s/examples/volumes/local-pv-demo# kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
local kubernetes.io/no-provisioner Delete WaitForFirstConsumer false 4s
2、创建率属于存储类的PV
- 进入节点1准备本地磁盘目录,作为local pv的存储卷
root@k8s-node01:~# mkdir /disks/vol1 -pv
mkdir: created directory '/disks'
mkdir: created directory '/disks/vol1'
root@k8s-node01:~# ls /disks/vol1/
- 创建PV
root@k8s-master01:~/learning-k8s/examples/volumes/local-pv-demo# cat local-pv-demo.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: local-pv-demo
spec:
capacity:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
storageClassName: local
local:
path: /disks/vol1 #将本地磁盘作为目录,事先存在。
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname #匹配的节点标签
operator: In
values:
- k8s-node01 #PV绑定的节点名称
root@k8s-master01:~/learning-k8s/examples/volumes/local-pv-demo# kubectl apply -f local-pv-demo.yaml
persistentvolume/local-pv-demo created
root@k8s-master01:~/learning-k8s/examples/volumes/local-pv-demo# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
local-pv-demo 5Gi RWO Delete Available local 4s
3、创建PVC
- 由于PVC是创建的延迟绑定的,所以创建完成后处于Pending 状态
root@k8s-master01:~/learning-k8s/examples/volumes/local-pv-demo# cat pvc-localpv-demo.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-localpv-demo
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: local
root@k8s-master01:~/learning-k8s/examples/volumes/local-pv-demo# kubectl apply -f pvc-localpv-demo.yaml
persistentvolumeclaim/pvc-localpv-demo created
root@k8s-master01:~/learning-k8s/examples/volumes/local-pv-demo# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-mysql-0 Bound pvc-7785640d-623d-4dd6-90ff-0ce026254733 10Gi RWO openebs-hostpath 5d13h
pvc-demo Bound pv-nfs-demo 5Gi RWX 96m
pvc-localpv-demo Pending local 6s
三、Pod消费PVC
- 由于可消费的PVC只在节点1,所以Pod被调度到节点1
root@k8s-master01:~/learning-k8s/examples/volumes/local-pv-demo# cat pod-with-localpv.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-with-localpv
spec:
containers:
- name: redis
image: redis:7-alpine
ports:
- containerPort: 6379
name: redis
volumeMounts:
- mountPath: "/data"
name: data
volumes:
- name: data
persistentVolumeClaim:
claimName: pvc-localpv-demo
root@k8s-master01:~/learning-k8s/examples/volumes/local-pv-demo# kubectl apply -f pod-with-localpv.yaml
pod/pod-with-localpv created
root@k8s-master01:~/learning-k8s/examples/volumes/local-pv-demo# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
pod-with-localpv 1/1 Running 0 22s 10.244.2.32 k8s-node01 <none> <none>
- PVC也被Bound
root@k8s-master01:~/learning-k8s/examples/volumes/local-pv-demo# kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-mysql-0 Bound pvc-7785640d-623d-4dd6-90ff-0ce026254733 10Gi RWO openebs-hostpath 5d13h
pvc-demo Bound pv-nfs-demo 5Gi RWX 104m
pvc-localpv-demo Bound local-pv-demo 5Gi RWO local 7m45s
k8s之存储卷local PV的更多相关文章
- k8s volume存储卷
k8s volume存储卷 介绍 volume存储卷是Pod中能够被多个容器访问的共享目录,kubernetes的volume概念,用途和目的与docker的volume比较类似,但两者不能等价, ...
- k8s之存储卷及pvc
1.存储卷概述 因为pod是有生命周期的,pod一重启,里面的数据就没了,所以我们需要数据持久化存储,在k8s中,存储卷不属于容器,而是属于pod,也就是说同一个pod中的容器可以共享一个存储卷,存储 ...
- K8s的存储卷使用总结
K8s的存储卷: 它有四种存储卷: 1. emptyDir: 空目录,这种存储卷会随着Pod的删除而被清空,它一般作为缓存目录使用,或临时目录, 当做缓存目录时,通常会将一块内存空间映射到该目录上,让 ...
- k8s系列---存储卷pv/pvc。configMap/secert
因为pod是有生命周期的,pod一重启,里面的数据就没了.所以我们需要数据持久化存储. 在k8s中,存储卷不属于容器,而是属于pod.也就是说同一个pod中的容器可以共享一个存储卷. 存储卷可以是宿主 ...
- K8S当中的本地卷(Local PV)的使用
Local PV是从kuberntes 1.10开始引入,本质目的是为了解决hostPath的缺陷.通过PV控制器与Scheduler的结合,会对local PV做针对性的逻辑处理,从而,让Pod在多 ...
- k8s volume存储卷(四)
介绍 volume存储卷是Pod中能够被多个容器访问的共享目录,kubernetes的volume概念,用途和目的与docker的volume比较类似,但两者不能等价,首先,kubernetes中的v ...
- k8s的存储卷
存储卷查看:kubectl explain pods.spec.volumes 一.简单的存储方式 1)2个容器之间共享存储..(删除则数据消失) apiVersion: v1 kind: Pod m ...
- K8s存储卷、pv和pvc的使用
emptyDIR 临时目录 hostPath :使用主机的路径 网络存储: 传统的设备存储:NAS,SAN 分布式存储:glusterfs,rbd,cephfs 云存储:EBS,Azure,阿里云的 ...
- Kubernetes 搭建 ES 集群(存储使用 local pv)
一.集群规划 由于当前环境中没有分布式存储,所以只能使用本地 PV 的方式来实现数据持久化. ES 集群的 master 节点至少需要三个,防止脑裂. 由于 master 在配置过程中需要保证主机名固 ...
- 12.k8s的存储卷创建过程
数据持久化需要数据卷.kubernetes生态提供海量的存储驱动和存储使用方式. [root@master song]# cat pod-demo.yml apiVersion: v1 kind: P ...
随机推荐
- 关于mv命令,系统是如何区分是移动还是重命名
引入: 精简回答版:重命名的本质仍是移动覆盖 ,所以不存在应该如何区分的问题 最近学习到linux基础命令中的mv命令,了解到mv命令的作用是对文件的移动和重命名,但自己一直想不明白系统是如何分辨 ...
- C++ //常用拷贝和替换算法 //copy //replace 将指定区间范围内的旧元素修改为新元素 //replace_if(满足条件的元素,替换指定的元素) //swap 互换两个容器的元素
//常用拷贝和替换算法 //copy //replace 将指定区间范围内的旧元素修改为新元素 //replace_if(满足条件的元素,替换指定的元素) //swap 互换两个容器的元素 #incl ...
- sentinel的见解
Sentinel 是面向分布式.多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量控制.熔断降级.热点流量防护等多个维度来帮助开发者保障微服务的稳定性. 在 Sentinel 里面,所 ...
- [VueJsDev] 基础知识 - 常见编码集
[VueJsDev] 目录列表 https://www.cnblogs.com/pengchenggang/p/17037320.html 常用编码集 ::: details 目录 目录 常用编码集 ...
- Educational Codeforces Round 141:C. Yet Another Tournament
一.来源:Problem - C - Codeforces 二.题面 三.思路 读题: 其他人的胜场由位次决定,对于第i位,其胜场为i-1 人数为\(5·10^5\),不是5(看错了) 每个人和自己比 ...
- Android 线性布局平分宽度item的隐藏问题
原文:Android 线性布局平分宽度item的隐藏问题 - Stars-One的杂货小窝 一直只使用layout_weight来平分布局,但是如果隐藏了某个item,会导致其他item宽高有所变化 ...
- 李沐动手学深度学习pytorch实践笔记
1.pytorch中的矩阵乘法: 2.标量对向量求导: 3.pytorch的backward函数: 4.如何直观理解梯度下降: 梯度,是个向量,有方向和长度就是向量,向量里的各个元素是偏导.是标量对向 ...
- objective-c之Class底层结构探索
isa 走位图 在讲 OC->Class 底层类结构之前,先看下下面这张图: 通过isa走位图 得出的结论是: 1,类,父类,元类都包含了 isa, superclass 2,对象isa指向类对 ...
- 降低FTP服务器速度的解决方案(Filezilla等)
我最近发现,尽管有70Mbps(8.75MB / s)的互联网连接和1Gbps(125MB / s)的专用服务器可以从中下载,但我似乎只能从FTP服务器上以大约16.8Mbps(2.1MB / s)的 ...
- windows系统命令行cmd查看显卡驱动版本号CUDA
Win+R 输入cmd 进入命令行 输入 nvidia-smi