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

时间:2018-08-14 15:35:02

标签: amazon-web-services amazon-ec2 kubernetes tags 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 

下面的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,storageclass或PVC的标记。我花了几个小时尝试将标签添加到动态提供的EBS卷中,但没有运气。

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

谢谢

格雷格

2 个答案:

答案 0 :(得分:2)

似乎目前尚无法实现。

发现了这些:

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

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

希望很快会有所作为。

答案 1 :(得分:0)

目前的方法是使用 AWS EBS CSI Driver 而不是 K8s intree 配置器: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