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 |