部署cephfs provisioner
官方没有cephfs动态卷支持,使用社区提供的cephfs-provisioner
k8s yaml文件:https://github.com/kubernetes-retired/external-storage/tree/master/ceph/cephfs/deploy/rbac
kubectl create ns cephfs
kubectl apply -f serviceaccount.yaml
kubectl apply -f role.yaml
kubectl appl y-f rolebinding.yaml
kubectl apply -f rolebinding.yaml
kubectl apply -f clusterrole.yaml
kubectl apply -f clusterrolebinding.yaml
kubectl apply -f deployment.yaml
部署secret key
创建secret。在secret中,data域的各子域的值必须为base64编码值。key值为ceph.client.admin.keyring中的值
vim ceph-secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: ceph-secret
data:
key: AQBIOrZfN9zpNhAAW/PH2FbR9JjyYoIeXMIIsw==
创建storageclass
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: cephfs
namespace: integral-test
provisioner: ceph.com/cephfs
parameters:
monitors: 172.16.0.202:6789,172.16.0.203:6789,172.16.0.204:6789
adminId: admin
adminSecretName: ceph-secret
adminSecretNamespace: cephfs
reclaimPolicy: Retain
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: reportfile
namespace: integral-test
spec:
accessModes:
- ReadWriteMany
storageClassName: cephfs
resources:
requests:
storage: 2Gi
---
kind: Pod
apiVersion: v1
metadata:
name: test-pod
namespace: cephfs
spec:
containers:
- name: test-pod
image: ikubernetes/myapp:v4
volumeMounts:
- name: pvc
mountPath: "/data/cephfs"
volumes:
- name: pvc
persistentVolumeClaim:
claimName: claim
文档更新时间: 2023-02-28 10:39 作者:张尚