공식문서는 nks 백업 방법으로 velero 를 권장합니다.
Velero 로 nks 객체와 PV 스냅샷을 Object Storage 에 압축 및 백업을 지원합니다.
nks pv 를 백업할 일이 있어서 찾아보았었는데, 현재 blockstorage 만 지원하여 최종적으로는 사용하지 않았지만 테스트했던 내용을 공유합니다.
공식문서:
https://guide.ncloud-docs.com/docs/ko/k8s-k8suse-velero
Kubernetes의 클러스터의 백업이 필요할 경우 Velero 플러그인을 사용할 수 있습니다. Velero를 통해 Kubernetes 객체를 Object Storage에 압축 및 백업할 수 있으며, 클러스터의 PersistentVolume에 대한 스냅샷을 생성하여 클러스터의 오브젝트 및 PersistentVolume을 이전 상태로 복원할 수 있습니다.
Velero를 사용하기 전 아웃바운드 인터넷 트래픽을 활성화하기 위해서 NAT Gateway를 반드시 생성해야 합니다.
설치
velero install \
--kubeconfig $KUBE_CONFIG \
--provider velero.io/aws \
--bucket velero-backup \
--plugins velero/velero-plugin-for-aws:v1.6.2,<IMAGE_REGISTRY>/velero-plugin-for-ncloud:v0.0.9 \
--backup-location-config region=kr,s3ForcePathStyle="true",s3Url=<S3_URL> \
--use-volume-snapshots=false \
--secret-file=./cloud-credential
bucket 에는 velero 가 스냇샵을 저장할 ncloud 의 s3 이름을 적어야합니다.
IMAGE_REGISTRY 와 S3_URL 는 사용하시는 리전에 맞게 적어주시면 됩니다.
- IMAGE_REGISTRY:
- KR: nks.kr.private-ncr.ntruss.com/
- SGN: nks.sg.private-ncr.ntruss.com/
- JPN: nks.jpn.private-ncr.naverncp.com/
- S3_URL:
보안을 위해 velero 를 위한 sub account 를 최소 권한(s3 접근 권한)으로 생성하여 secret 으로 등록해주었습니다.
s3 권한이 부여되지 않으면 velero 작업시 오류가 발생합니다!!!!
$ vi cloud-credential
[default]
aws_access_key_id=<ACCESS_KEY_ID>
aws_secret_access_key=<SECRET_ACCESS_KEY>
region=<REGION>
server_api_uri=https://ncloud.apigw.ntruss.com/vserver/v2
설치가 완료되면 backup-location 이 available 인지 꼭 확인합니다.
'NCloud' 카테고리의 다른 글
[NCloud] FleuntBit 와 NCP Object Storage 연동 (0) | 2024.07.06 |
---|---|
[NCloud] NKS 노드에 InitScript 설정하기 (0) | 2024.07.06 |