Kubernetes 有状态在 AWS EBM 中使用 Helm 设置存储

Kubernetes stateful sets storage in AWS EBM with Helm

我正在使用 Helm 部署有状态集,pods 抱怨卷。

使用 AWS EBS 执行此操作的正确方法是什么?考虑 Helm 模板。

Warning  FailedScheduling  30s (x112 over 116m)  default-scheduler  0/9 nodes are available: 9 pod has unbound immediate PersistentVolumeClaims.

deployment.yaml

volumeClaimTemplates:
  - metadata:
      name: {{ .Values.storage.name }}
      labels:
        app: {{ template "etcd.name" . }}
        chart: {{ .Chart.Name }}-{{ .Chart.Version }}
        release: {{ .Release.Name }}
        heritage: {{ .Release.Service }}
    spec:
      storageClassName: {{ .Values.storage.class | default .Values.global.storage.class }}
      accessModes:
        - {{ .Values.storage.accessMode }}
      resources:
        requests:
          storage: {{ .Values.storage.size }}

values.yaml

storage:
  name: etcd-data
  mountPath: /somepath/etcd
  class: "default"
  size: 1Gi
  accessMode: ReadWriteOnce

尝试将 class 名称更改为 EKS 上的默认名称:

...
spec:
  storageClassName: {{ .Values.storage.class | default "gp2" | quote }}
  accessModes:
  - ...


storage:
  ...
  class: "gp2"
  ...