如何在 Kubernetes 中的 statefulSet 定义中使用现有的 PVC?

mic*_*ato 6 amazon-ebs amazon-web-services kubernetes amazon-eks

我已经应用了以下 pvc yaml。

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: ebs-claim
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: ebs-sc
  resources:
    requests:
      storage: 4Gi


Run Code Online (Sandbox Code Playgroud)

我现在希望我的有状态集使用我创建的 PVC。相反,它正在创建不同存储类的新 PVC。

apiVersion: v1
kind: statefulset
    metadata:
      name: example
    spec:
        # Name for the service object created by the operator
      serviceName: mongodb-service 
      selector: {}
        # Specifies a size for the data volume different from the default 10Gi
      volumeClaimTemplates:
        - metadata:
            name: ebs-claim
      template:
        spec:
          nodeSelector:
            eks.amazonaws.com/nodegroup: managed-ng-private-1
Run Code Online (Sandbox Code Playgroud)

如何让我的有状态集使用现有的 PVC 而不是创建新的 PVC?

cod*_*ger 5

像平常一样在volumespod 规范模板部分中指定它。但是您不会获得为每个副本创建新 PVC 的特殊行为,因为这需要创建新副本。