Kubernetes/EKS Study

EKS에서 pvc로 생성한 ebs에 태그 추가하기

백곰곰 2023. 5. 9. 22:48
728x90
반응형

EKS에서 pvc로 생성한 ebs에 원하는 태그를 추가할 수 있는지 확인해보겠습니다.

 

참고 문서에 작성된 내용을 기반으로 실습을 해보겠습니다.

 

문서에 따르면 EBS CSI Driver 1.6.0 이상 부터 custom tag 추가가 가능합니다. 먼저 add on 버전을 확인해보겠습니다.

eksctl get addon --cluster ${CLUSTER_NAME}
2023-05-09 22:28:20 [ℹ]  Kubernetes version "1.24" in use by cluster "myeks"
2023-05-09 22:28:20 [ℹ]  getting all addons
2023-05-09 22:28:22 [ℹ]  to see issues for an addon run `eksctl get addon --name <addon-name> --cluster <cluster-name>`
NAME			VERSION			STATUS	ISSUES	IAMROLE										UPDATE AVAILABLE	CONFIGURATION VALUES
aws-ebs-csi-driver	v1.18.0-eksbuild.1	ACTIVE	0	arn:aws:iam::xxxxxxxxxxxx:role/AmazonEKS_EBS_CSI_DriverRole
coredns			v1.9.3-eksbuild.3	ACTIVE	0
kube-proxy		v1.24.10-eksbuild.2	ACTIVE	0
vpc-cni			v1.12.6-eksbuild.1	ACTIVE	0	arn:aws:iam::xxxxxxxxxxxx:role/eksctl-myeks-addon-vpc-cni-Role1-AQPPIMCEKEHW

1) 태그가 포함된 신규 storage class 생성

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: gp3-backup-daily
allowVolumeExpansion: true
provisioner: ebs.csi.aws.com
volumeBindingMode: WaitForFirstConsumer
parameters:
  type: gp3
  allowAutoIOPSPerGBIncrease: 'true'
  encrypted: 'true'
  tagSpecification_1: "aws-backup=daily"

2) pvc 및 pod 생성

## pvc
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: ebs-claim
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 4Gi
  storageClassName: gp3-backup-daily
## pod
apiVersion: v1
kind: Pod
metadata:
  name: app
spec:
  terminationGracePeriodSeconds: 3
  containers:
  - name: app
    image: centos
    command: ["/bin/sh"]
    args: ["-c", "while true; do echo $(date -u) >> /data/out.txt; sleep 5; done"]
    volumeMounts:
    - name: persistent-storage
      mountPath: /data
  volumes:
  - name: persistent-storage
    persistentVolumeClaim:
      claimName: ebs-claim

pod가 정상적으로 배포되었고 pvc도 bound 상태인 것을 확인했습니다.

k get po,pv,pvc
NAME      READY   STATUS    RESTARTS   AGE
pod/app   1/1     Running   0          99s

NAME                                                        CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM               STORAGECLASS       REASON   AGE
persistentvolume/pvc-7f2ec339-3827-4af4-bae8-5f8d4c531238   4Gi        RWO            Delete           Bound    default/ebs-claim   gp3-backup-daily            95s

NAME                              STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS       AGE
persistentvolumeclaim/ebs-claim   Bound    pvc-7f2ec339-3827-4af4-bae8-5f8d4c531238   4Gi        RWO            gp3-backup-daily   2m55s

 

이제 AWS 콘솔에서 ebs를 확인하면, 정상적으로 tag가 추가된 것을 볼 수 있습니다.

 

 

 

태그 기반 백업 정책에 따라 storage class를 나누고 pvc를 만들 때 sc를 지정해서 자동 백업이 될 수 있게 설정 가능할 것으로 보입니다.

다만, 이미 생성된 pv의 tag 수정은 클러스터 내부에서 변경은 어려울 것 같고 aws-ebs-volume-tagger app으로 가능할지는 조금 더 확인이 필요할 것 같습니다.

728x90

'Kubernetes > EKS Study' 카테고리의 다른 글

[4주차] EKS Observability  (0) 2023.05.21
[3주차] EKS Storage  (0) 2023.05.09
EKS에서 볼륨 snapscheduler 설치하기  (0) 2023.05.09
[2주차] EKS Networking  (0) 2023.05.01
[1주차] EKS 설치 및 기본 사용  (2) 2023.04.24