代码拉取完成,页面将自动刷新
对于k8s存储卷来说其有一套标准的使用流程,如下我们将展示一下在使用carina存储驱动下这些文件如何配置及创建的
首选创建storageclass kubectl apply -f storageclass.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: csi-carina-sc
provisioner: carina.storage.io
parameters:
# file system
csi.storage.k8s.io/fstype: xfs
# disk group
carina.storage.io/disk-group-name: hdd
reclaimPolicy: Delete
allowVolumeExpansion: true
# WaitForFirstConsumer表示被容器绑定调度后再创建pv
volumeBindingMode: WaitForFirstConsumer
mountOptions:
csi.storage.k8s.io/fstype
参数carina.storage.io/disk-group-name
支持 hdd
ssd
值创建PVC kubectl apply -f pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: csi-carina-pvc
namespace: carina
spec:
accessModes:
- ReadWriteOnce # 本地存储只能被一个节点上Pod挂载
resources:
requests:
storage: 7Gi
storageClassName: csi-carina-sc
volumeMode: Filesystem # block便会创建块设备
PVC创建完成后,carina-controller会创建LogicVolume,carina-node则负责监听LogicVolume的创建事件,并在本地创建lvm存储卷
$ kubectl get lv
NAME SIZE GROUP NODE STATUS
pvc-319c5deb-f637-423b-8b52-42ecfcf0d3b7 7Gi carina-vg-hdd 10.20.9.154 Success
挂载到容器内使用kubectl apply -f deployment.yaml
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: carina-deployment
namespace: carina
labels:
app: web-server
spec:
replicas: 1
selector:
matchLabels:
app: web-server
template:
metadata:
labels:
app: web-server
spec:
containers:
- name: web-server
image: nginx:latest
imagePullPolicy: "IfNotPresent"
volumeMounts:
- name: mypvc
mountPath: /var/lib/www/html
volumes:
- name: mypvc
persistentVolumeClaim:
claimName: csi-carina-pvc
readOnly: false
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。