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

Gre*_*ill 4 tags amazon-ec2 amazon-web-services kubernetes amazon-eks

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

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 
Run Code Online (Sandbox Code Playgroud)

PVC下面

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: testk8sclaim
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: k8sebs
  resources:
    requests:
      storage: 1Gi
Run Code Online (Sandbox Code Playgroud)

和使用音量的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
Run Code Online (Sandbox Code Playgroud)

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

文档中没有提及为预配器aws-ebs,storageclass或PVC进行标记。我已经花了几个小时尝试将标签添加到动态提供的EBS卷中,但没有运气。

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

谢谢,

格雷格

fro*_*tin 6

当前的方法是使用 AWS EBS CSI 驱动程序而不是 K8s intree 配置程序:https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html

如果您使用这个新的配置程序,您可以使用extraVolumeTags添加默认标签,也可以为特定存储类添加标签,如下所示:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: "examplename" # MUST be lowercase!
parameters:
  csi.storage.k8s.io/fstype: ext4
  type: gp3
  tagSpecification_1: "ExampleKey=ExampleValue"
provisioner: ebs.csi.aws.com
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
Run Code Online (Sandbox Code Playgroud)

文档: https: //github.com/kubernetes-sigs/aws-ebs-csi-driver/blob/master/docs/tagging.md#storageclass-tagging


Gre*_*ill 5

似乎目前尚无法解决。

发现这些:

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

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

希望很快会有所作为。

  • 更新:请参阅 https://github.com/kubernetes-sigs/aws-ebs-csi-driver/issues/333 和 https://github.com/kubernetes-sigs/aws-ebs-csi-driver/pull/353 (2认同)