- 인쇄
- PDF
Node IAM Role 활용 예제
- 인쇄
- PDF
VPC 환경에서 이용 가능합니다.
Ncloud Kubernetes Service의 워커노드에 Server Role 유형의 역할을 부여하여 AccessKey, SecretKey를 설정하지 않아도 네이버 클라우드 플랫폼의 API를 사용할 수 있습니다.
Object Storage 버킷 리스트 조회 예제
Object Storage에 접근 가능한 노드풀을 생성하고, POD에서 Object Storage 버킷 리스트가 조회 되는 것을 확인하려면 아래 작업을 수행해 주십시오.
1. Sub Account 역할 생성
역할 생성 가이드를 참고하여 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.gov-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.gov-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