티스토리 뷰

1단계. Pod의 Ephemeral Volume을 사용하여 Pod를 삭제 후 재배포시 데이터의 연속성이 없음을 확인 

 

1) 10초에 1번씩 시간을 찍는 Pod를 배포하여 해당 Pod 내 데이터를 확인

2) 배포된 Pod를 삭제하고, 재배포 후 해당 Pod 내 데이터를 확인

  - 과거의 Data 없이 새로운 데이터만 확인

 

 

2단계. Host Path를 사용하는 PV/PVC 배포하여 Node 내 데이터가 유지됨을 확인

 

1) localpath 스토리지 클래스를 생성

 - local path provisioner도 새로운 pod로 배포

2) PVC를 생성하고 생성된 PVC 정보를 확인

  - PVC는 생성되었으나, Status가 Pending : 아직 사용되고 있는 pod가 없어 PVC만 생성된 상태

3) PVC를 사용하는 pod를 배포

  - localpath-claim하는 pod를 배포 후 PVC statud가 Bound로 변경 

  - pv 정보에 1Gi의 용량으로 RWO하게 배포되었음을 확인

4) pod가 배포된 node의 정보를 확인

  - pod가 배포된 node에 out.txt가 생성되어 있고, node에서도 직접 접근 가능

5) pod를 삭제하고 node의 localpath 정보를 확인

  - pod는 삭제되었지만, node의 out.txt 파일은 여전히 존재

6) pod를 재배포하고 out.txt 파일의 내용을 확인

  - 기존 배포되었던 시간때부터 현재의 데이터까지 쌓이고 있음을 확인

7) PVC 삭제시 해당 경로의 out.txt 파일도 삭제됨을 확인

 

3단계 : EBS를 PV로 연결하여, pod에서 EBS를 사용할 수 있음을 확인

 

1) Amazon EBS CSI drive addon 추가

  - addon으로 aws-ebs-csi-driver가 설치되어 있음을 확인

  - ebs-csi-controller가 2개, node가 3개 동작하고 있음을 확인

2) 스토리지 클래스를 생성

  - 신규 EBS용 스토리지클래스인 gp3를 생성

3) PV를 생성

  - PV의 상태가 아직 pod에 할당되지 않아 Pending 상태

  - 현재 상태의 EBS 볼륨을 확인 : Node와 Bastion의 EBS만 존재하며, EBS 볼륨의 추가적인 변화 없음

4) PVC를 생성

  - PVC를 생성하여 신규 pod에 ebs-claim PV가 연결됨을 확인

  - 별도의 작업없이 EBS에 4Gi 용량의 신규 볼륨이 생성됨을 확인

5) 라이브 상태에서 볼륨의 크기를 조정

  - 초기 상태의 EBS 볼륨 4Gi를 확인 후 patch를 통해 storage 사이즈를 10Gi로 변경

  - 별도의 작업 없이 라이브 상태에서 EBS 사이즈가 10Gi로 확장됨을 확인 : 축소는 불가

 

4단계 : Volume snapshot Controller를 이용하여 pod가 사용하는 EBS 볼륨을 백업함을 확인

 

1) PVC와 pod를 생성하여 EBS 볼륨을 할당

  - pod에 EBS를 PV로 연결하여 out.txt 파일에 현재 시간을 출력

  - AWS 콘솔에서 신규 EBS 볼륨이 정상 생성됨을 확인

2) 볼륨 스냅샷을 생성

  - ebs-claim으로 생성된 PV에 대한 볼륨 스냅샷을 생성

  - 생성된 snapshot 정보를 CLI와 AWS 콘솔에서 확인

3) pod와 pvc를 삭제

  - pod와 pvc를 삭제하여 기존에 구성된 EBS PV도 삭제되었음을 확인

4) 스냅샷을 이용한 EBS 스토리지 복구

  - dataSource로부터 gp3 PV를 복구

5) pod를 복구

  - pod 복구시 ebs-snapshot-restored-claim 스토리지를 재연결

6) 복구된 pod의 out.txt 데이터 확인

  - pod가 삭제된 시간 이전의 데이터(11:06:43 이전)가 존재함을 확인

 

5단계 : AWS EFS controller를 이용하여 PV로 사용 - 정적프로비저닝

 

1) EFS CSI 드라이버 설치됨을 확인

  - aws-efs-csi-driver가 설치되었음

  - AWS 콘솔에서 EFS의 endpoint를 확인

2) 스토리지클래스를 생성

  - efs용 스토리지 클래스 생성 및 확인

3) PV를 생성

  - PV 생성하여 정상적으로 5Gi의 용량이 할당되어 있음을 확인

4) PVC를 생성

  - PVC를 생성하였고, Access Mode는 RWX임을 확인

5) pod 생성하여 스토리지 정보 확인

  - 각 pod의 nfs4 연결 정보 확인

  - Bastion에서도 myefs로 NAS 연결 경로 확인

6) 개별 pod에서 파일을 생성하여 서로간에 PV가 공유되고 있음을 확인

  - Bastion의 파일 경로에서의 out1.txt 접근 확인

  - app1, app2에서 out1.txt에 접근 및 동일 데이터 여부 확인

 

-----------------------------------------------------------------------------------------------

이 내용은 AEWS(AWS EKS Workshop Study) 1기의 과제로써 작성되었습니다.

AEWS는 '가시다'님이 속한 CloudNet@에서 진행하는 AWS EKS workshop에 대한 스터디입니다.

매주 일요일마다 소중한 정보를 퍼주시는 '가시다'님께 무한 감사 드립니다.

https://gasidaseo.notion.site/23-AWS-EKS-Workshop-07165aec800042b9ac9357aee18fdf17

댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
최근에 올라온 글
Total
Today
Yesterday
링크