kubernetes-StatefulSet动态存储(二)

2023-05-04 10:48:25 浏览数 (1)

除了使用volumeClaimTemplates来动态分配存储外,您还可以手动创建PVC并将它们与StatefulSet的Pod关联。这可以通过在volumeClaimTemplates字段中省略PVC模板并手动创建PVC来实现。例如,以下是一个手动创建PVC并将其与StatefulSet的Pod关联的示例:

代码语言:javascript复制
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-claim-0
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-claim-1
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: my-statefulset
spec:
  replicas: 2
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-container
          image: my-image
          volumeMounts:
            - name: my-storage
              mountPath: /data
      volumes:
        - name: my-storage
          persistentVolumeClaim:
            claimName: my-claim-0
    ---
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-container
          image: my-image
          volumeMounts:
            - name: my-storage
              mountPath: /data
      volumes:
        - name: my-storage
          persistentVolumeClaim:
            claimName: my-claim-1

在上面的示例中,我们手动创建了两个PVC(my-claim-0和my-claim-1),每个PVC都请求1GB的存储空间。然后,我们将这些PVC与StatefulSet的Pod关联起来,以便每个Pod都可以使用它们。需要注意的是,每个Pod都有一个唯一的PVC名称,例如my-claim-0和my-claim-1。

0 人点赞