본문 바로가기
AWS/EKS

AWS EKS EBS CSI Driver

by aws-evan 2024. 11. 8.
반응형

 

 



 

  • 기본 eksctl을 통해서 eks를 설치하면 gp2 기반 ebs로 storageclass가 생성됨
    • 단 바로 사용은 불가능합니다. 설정하기 위해 ebs-csi를 설치를 해야 합니다,.

 

 

 

  • aws ebs csi driver 등록 확인
 eksctl get addon --name aws-ebs-csi-driver --cluster my-cluster

 

  • AWS EBS CSI Driver 버전 정보 확인
aws eks describe-addon-versions \
    --addon-name aws-ebs-csi-driver \
    --kubernetes-version 1.26 \
    --query "addons[].addonVersions[].[addonVersion, compatibilities[].defaultVersion]" \
    --output text

  • 클러스터와 IAM OIDC Provider 연결
    • Kubernetes ServiceAccount  간 IAM Role 부여하기 위한 설정
eksctl utils associate-iam-oidc-provider --cluster=my-cluster --approve

 

 

  • EBS CSI 활용하기 위한 IAM Service Account 생성
eksctl create iamserviceaccount \
        --name ebs-csi-controller-sa \
        --namespace kube-system \
        --cluster my-cluster \
        --role-name AmazonEKS_EBS_CSI_DriverRole \
        --role-only \
        --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \
        --approve

 

 

  • AWS EBS CSI AddOn 추가
eksctl create addon \
  --name aws-ebs-csi-driver \
  --cluster my-cluster \
  --service-account-role-arn arn:aws:iam::976442799645:role/AmazonEKS_EBS_CSI_DriverRole \

 

 

 

 

  • AWS EBS CSI Driver 확인
 eksctl get addon --name aws-ebs-csi-driver --cluster my-cluster

 

 

  • AWS EBS CSI Pod 확인
kubectl get pods -A | grep ebs

 

 

 

 

 

 

  • AWS EBS CSI 활용하기 위한 Stroageclass 생성
cat <<EOF > sc.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: evan-ebs-sc
provisioner: ebs.csi.aws.com
volumeBindingMode: Immediate
reclaimPolicy: Delete
parameters:
  csi.storage.k8s.io/fstype: ext4
  type: gp2
allowedTopologies:
  - matchLabelExpressions:
    - key: topology.ebs.csi.aws.com/zone
      values:
      - ap-northeast-2a
      - ap-northeast-2c
EOF

 

 

 

  • EBS StroageClass PVC 연결
cat <<EOF > pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: evan-ebs-sc  # 기본 스토리지 클래스 gp2
  resources:
    requests:
      storage: 10Gi  # EBS 볼륨 용량                                     
EOF

 

  • EC2 -> 볼룸 -> PVC 확인

 

 

 

  • PVC 삭제
    • 삭제 안하고 eks cluster제거 할 경우 ->  PVC는 계속 유지(EKS Cluster 삭제해도 pvc 삭제 가능)
    • 테스트 이후에 PVC 제거
kubectl delete -f. vc.yaml

 

반응형

'AWS > EKS' 카테고리의 다른 글

AWS EFS CSI Driver 설치 가이드  (0) 2024.12.01
AWS EKS 생성하기  (0) 2024.11.07

댓글