K8S 使用cephfs 作为持久化存储
1、查看ceph的key#进入ceph集群的管理主机ceph auth get-key client.admin | base64#得到这个串,下面使用2、k8s里面添加一个密码cat <<eof >ceph-secret.yamlapiVersion: v1kind: Secretmetadata:name: ceph-secretdata:k...
·
1、查看ceph的key
#进入ceph集群的管理主机
ceph auth get-key client.admin | base64
#得到这个串,下面使用
2、k8s里面添加一个密码
c
at <<eof >ceph-secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: ceph-secret
data:
key: 这里输入上面得到的串
eof
kubectl apply -f ceph-secret.yaml #添加密码
3、K8S里面添加一个PV(持久存储盘)
cat <<eof >test-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: test-pv
spec:
capacity:
storage: 2Gi
accessModes:
- ReadWriteMany
cephfs:
monitors:
- 10.41.10.81:6789,10.41.10.82:6789,10.41.10.83:6789
path: /
user: admin
readOnly: false
secretRef:
name: ceph-secret
persistentVolumeReclaimPolicy: Recycle
eof
kubectl apply -f test-pv.yaml #添加一个PV
4、K8S里面添加一个PVC(持久存储盘声明)
cat <<eof >test-pvc.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: test-pvc3
spec:
accessModes:
- ReadWriteMany
volumeName: test-pv
resources:
requests:
storage: 2Gi
eof
kubectl apply -f test-pvc.yaml #添加PVC
5、K8S里面添加一个部署
cat <<eof > test-centos
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-centos
spec:
replicas: 1
selector:
matchLabels:
app: test-centos
template:
metadata:
labels:
app: test-centos
spec:
containers:
- name: test-centos
image: 10.41.10.81:5000/centos
command: ["/bin/sh"]
args: ["-c","while true;do echo hello;sleep 1000;done"]
volumeMounts:
- mountPath: "/data"
name: data
volumes:
- name: data
persistentVolumeClaim:
claimName: test-pvc3
eof
kubectl apply -f test-centos.yaml #添加部署
4、测试
kubectl get pods
kubectl exec -it test-centos-7c7bd5c9b4-6fc5w /bin/sh #进入已经运行的pod
进入Pod
#以下内容在pod里面执行
cd /data
touch test
touch 20200414
exit
进入ceph的管理节点
#以下内容在ceph集群的管理服务器上运行
cd /ceph #这个目录是已经挂载的ceph目录,挂载方法见另外一篇文章
ls
#这里会看到刚刚新建的两个文件,说明我们的操作是符合预期的。
更多推荐
已为社区贡献12条内容
所有评论(0)