Loading
close

云产品使用持久化存储

time 更新时间:2024-04-01 17:41:12

前置条件

已在云产品权限声明一章中声明开启了持久化存储能力。

说明

云产品需要持久化数据存储能力时,ECP平台可提供基于Ceph的PVC存储能力。使用PVC时,需要在statefulset控制器中声明PVC,不建议在deployment等无状态资源中声明PVC,否则挂载了PVC存储的deployment可能会出现镜像更新后无法升级的问题。

示例

以下示例中,演示了 mycloud-product 通过 statefulset-dashboard-api.yaml 启动了一个 dashboard-api 的 pod,并声明了一个名为 data-pvc 的持久化存储,挂载到了backend-api 容器中。

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: dashboard-api
  labels:
    app: dashboard-api
spec:
  serviceName: dashboard-api
  replicas: 1
  selector:
    matchLabels:
      app: dashboard-api
  template:
    metadata:
      labels:
        app: dashboard-api
    spec:
      nodeSelector:
        {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
      containers:
      - name: backend-api
        image: {{ .Values.images.tags.backend-api }}
        imagePullPolicy: {{ .Values.images.pull_policy }}
        ports:
        - name: http
          containerPort: {{ .Values.conf.container_port }}
        volumeMounts:
        - name: data-pvc
          mountPath: /var/lib/pgsql/data
          subPath: pgsql/data
        - name: data-pvc
          mountPath: /var/log/ambari-server/
          subPath: backend/log
  volumeClaimTemplates:
  - metadata:
      name: data-pvc
    spec:
      accessModes: ["ReadWriteOnce"]
      resources:
        requests:
          storage: {{ .Values.pvc.storage }}
      storageClassName: {{ .Values.pvc.storageClassName }}
此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品