由 Kubernetes 动态配置的 EBS 卷上的自定义标签

custom tag on EBS volume provisioned dynamically by Kubernetes

我正在通过具有 StorageClass 的 PersistentVolumeClaim 动态配置 EBS 卷(AWS 上的 Kubernetes 通过 EKS)

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: k8sebs
parameters:
  encrypted: "false"
  type: gp2
  zones: us-east-1a
provisioner: kubernetes.io/aws-ebs
reclaimPolicy: Delete
volumeBindingMode: Immediate 

PVC以下

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: testk8sclaim
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: k8sebs
  resources:
    requests:
      storage: 1Gi

以及使用卷的 pod:

kind: Pod
apiVersion: v1
metadata:
  name: mypod
spec:
  containers:
    - name: alpine
      image: alpine:3.2
      volumeMounts:
      - mountPath: "/var/k8svol"
        name: mypd
  volumes:
    - name: mypd
      persistentVolumeClaim:
        claimName: testk8sclaim

我需要用自定义标签标记 EBS 卷。

文档未提及为供应商 aws-ebs、存储类或 PVC 进行标记。我花了几个小时尝试向动态提供的 EBS 卷添加标签,但运气不好。

在这种情况下是否可以为 EBS 创建自定义标签?如果可以,如何实现?

谢谢,

格雷格

似乎在这个时间点还不可能。

找到了这些:

https://github.com/kubernetes/kubernetes/pull/49390

https://github.com/kubernetes/kubernetes/issues/50898

希望尽快有所作为。

当前的方法是使用 AWS EBS CSI Driver 而不是 K8s intree provisioner:https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html

如果您使用这个新的供应商,您可以使用这个添加新标签:https://github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/e175fe64989019e2d8f77f5a5399bad1dfd64e6b/charts/aws-ebs-csi-driver/values.yaml#L79