k8s & ceph(静态pvc)

发布于:2024-05-30 ⋅ 阅读:(147) ⋅ 点赞:(0)

1.在 Kubernetes 节点上安装
ceph-common 包。这个包包含了连接到 Ceph 集群所需的工具和库。可以使用以下命令在每个节点上安装:

sudo apt-get install ceph-common

2.在 Kubernetes 中创建一个 Secret 对象,用于存储连接到 Ceph 集群所需的密钥和配置信息。可以通过编辑以下示例,并将其保存为
ceph-secret.yaml 文件来创建 Secret:

apiVersion: v1
kind: Secret
metadata:
  name: ceph-secret
  namespace: your-namespace
type: Opaque
data:
  keyring: <base64-encoded-ceph-client-keyring>
  ceph.conf: <base64-encoded-ceph-configuration-file>

#在上面的示例中,keyring 和 ceph.conf 的值应该是经过 Base64 编码的字符串。使用以下命令将文件内容进行 Base64 编码:

cat /path/to/ceph-client-keyring | base64 -w 0
cat /path/to/ceph-configuration-file.conf | base64 -w 0

3.应用 Secret 配置:

kubectl apply -f ceph-secret.yaml

4.创建一个 PersistentVolume (PV) 对象,用于描述连接到 Ceph 集群的存储资源。可以通过编辑以下示例,并将其保存为
ceph-pv.yaml 文件来创建 PV:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: ceph-pv
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteOnce
  cephfs:
    monitors:
      - your-ceph-monitor-ip:6789
    user: your-ceph-client-user
    secretRef:
      name: ceph-secret
    readOnly: false

#在上面的示例中,monitors 应该填写 Ceph Monitor 的 IP 地址和端口号,user 应该填写连接到 Ceph 集群所使用的 Ceph 客户端用户名。

5.应用 PV 配置:

kubectl apply -f ceph-pv.yaml

6.创建一个 PersistentVolumeClaim (PVC) 对象,用于请求与之前创建的 PV 相匹配的存储资源。可以通过编辑以下示例,并将其保存为
ceph-pvc.yaml 文件来创建 PVC:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: ceph-pvc
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

7.应用 PVC 配置:

kubectl apply -f ceph-pvc.yaml

8.现在,可以在 Pod 中使用之前创建的 PVC 来挂载 Ceph 存储。在 Pod 配置中,将
volumeClaimTemplates 的 claimName 设置为之前创建的 PVC 的名称:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: your-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: your-app
  template:
    metadata:
      labels:
        app: your-app
    spec:
      containers:
        - name: your-app
          image: your-image
          volumeMounts:
            - name: ceph-pv-mount
              mountPath: /path/to/mount
      volumes:
        - name: ceph-pv-mount
          persistentVolumeClaim:
            claimName: ceph-pvc


网站公告

今日签到

点亮在社区的每一天
去签到