1、创建密钥

进入ceph,获取密钥串
(假设ceph环境已经安装完成:10.41.10.81,10.41.10.82,10.41.10.83)

#进入ceph集群的管理主机
ceph auth get-key client.admin | base64
#得到这个串,下面使用

进入k8s,创建密钥

cat <<eof >ceph-secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: ceph-secret
data:
  key: 这里输入上面得到的串
eof
kubectl apply -f ceph-secret.yaml #添加密码

2、添加一个部署,在其中添加需要的ceph目录(在这之前,请先挂载ceph,并在里面添加指定的目录)

cat <<eof >test-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: test
  template:
    metadata:
      labels:
        app: test
    spec:
      containers:
      - name: test
        image: docker.io/centos
        command: ["/bin/sh"]
        args: ["-c","while true;do echo hello;sleep 1000;done"]
        volumeMounts:        
        - mountPath: "/conf"
          name: conf         
      volumes:       
        - name: conf
          cephfs:
            monitors:
            - 10.41.10.81:6789,10.41.10.82:6789,10.41.10.83:6789
            path: /test/conf
            user: admin
            readOnly: false
            secretRef:
              name: ceph-secret
eof
kubectl apply -f test.deployment.yaml

完成!

附:挂载ceph目录

mount -t ceph \
10.41.10.81:6789,10.41.10.82:6789,10.41.10.83:6789:/ \
/ceph -o name=admin,secret=************ #这里的密钥就是我们在ceph服务器中获取到的密钥串
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐