Node IAM Role 활용 예제
- 인쇄
- PDF
Node IAM Role 활용 예제
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
Ncloud Kubernetes Service의 워커노드에 server role 유형의 역할을 부여하여 AccessKey, SecretKey를 설정할 필요 없이 네이버클라우드 API를 사용할 수 있습니다.
Object Storage 버킷 리스트 조회 예제
Object Storage에 접근 가능한 노드풀을 생성하고, POD에서 Object Storage 버킷 리스트가 조회 되는 것을 확인하려면 아래 작업을 수행해 주십시오.
1. SubAccount 역할 생성
- 역할 생성 가이드를 참고하여 Server 유형의 역할을 생성하고, NCP_OBJECT_STORAGE_VIEWER 정책을 추가해 주십시오.
2. 노드풀 생성
- 노드풀을 생성 할때 1번에서 생성한 역할을 Node IAM Role로 선택해 주십시요.
3. 역할 부여 확인
- 노드풀 생성이 완료된 후에 [Sub Account] - [Roles] - [역할명] - [역할 적용 대상]을 선택 하여, 생성된 노드풀의 노드가 추가되었는지 확인해 주십시오.
4. 역할 적용 확인
- 아래 코드를 복사하여 alpine.yaml 파일로 저장해 주십시오.
apiVersion: v1
kind: Pod
metadata:
name: alpine
spec:
containers:
- name: alpine
image: alpine:3.12
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
restartPolicy: Always
- 아래 명령을 실행해 POD를 배포해 주십시오.
$ kubectl apply -f alpine.yaml
pod/node-iam-test created
- 아래 명령을 실행해 POD에 shell로 접속해 주십시오.
$ kubectl exec -it alpine -- sh
/ #
- 아래 명령을 실행해 aws-cli를 설치해 주십시오.
/ # apk add aws-cli
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
(1/46) Installing libbz2 (1.0.8-r1)
(2/46) Installing expat (2.2.10-r4)
...
(46/46) Installing aws-cli (1.18.55-r0)
Executing busybox-1.31.1-r22.trigger
OK: 134 MiB in 60 packages
- 아래 명령을 실행해 Object Storage의 Bucket 목록을 조회해 주십시오.
/ # aws s3 ls --endpoint-url=https://kr.object.fin-ncloudstorage.com
2020-09-01 07:58:31 bucket1
2020-12-08 14:52:07 bucket2
2020-07-20 06:37:20 bucket3
...
Container Registry 이미지 Pull 예제
Container Registry에 접근 가능한 노드풀을 생성하고, POD에서 별도의 인증절차 없이 Container Registry로부터 이미지를 Pull 할 수 있습니다.
해당 기능을 사용하기 위해 Container Registry 사용 가이드를 참고해서 레지스트리 및 이미지를 준비해 주십시오.
1. Sub Account 역할 생성
역할 생성 가이드를 참고하여 Server 유형의 역할을 생성하고, NCP_CONTAINER_REGISTRY_VIEWER 정책을 추가해 주십시오.
2. 노드풀 생성
노드풀을 생성할 때 1번에서 생성한 역할을 Node IAM Role로 선택해 주십시오.
3. 역할 부여 확인
노드풀 생성이 완료된 후에 Sub Account > Roles - 역할명 > 역할 적용 대상을 선택하여 생성된 노드풀의 노드가 추가되었는지 확인해 주십시오.
4. 역할 적용 확인
- 아래 코드를 복사하여 alpine.yaml 파일로 저장해 주십시오.
apiVersion: v1
kind: Pod
metadata:
name: alpine
spec:
containers:
- name: alpine
image: <registry-name>.ncr.fin-ntruss.com/alpine:3.12
command:
- sleep
- "3600"
imagePullPolicy: IfNotPresent
restartPolicy: Always
- 아래 명령을 실행해 POD를 배포해 주십시오.
$ kubectl apply -f alpine.yaml
pod/node-iam-test created
- 아래 명령을 실행해 이미지가 정상적으로 Pull 되고 POD이 Running 됐는지 확인해 주십시오.
$ kubectl get pod
NAME READY STATUS RESTARTS AGE
alpine 1/1 Running 0 16s
이 문서가 도움이 되었습니까?