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. 역할 적용 확인

    1. 아래 코드를 복사하여 alpine.yaml 파일로 저장해 주십시오.
    apiVersion: v1
    kind: Pod
    metadata:
      name: alpine
    spec:
      containers:
      - name: alpine
        image: alpine:3.12
        command:
          - sleep
          - "3600"
        imagePullPolicy: IfNotPresent
      restartPolicy: Always
    
    1. 아래 명령을 실행해 POD를 배포해 주십시오.
    $ kubectl apply -f alpine.yaml
    pod/node-iam-test created
    
    1. 아래 명령을 실행해 POD에 shell로 접속해 주십시오.
    $ kubectl exec -it alpine -- sh
    / # 
    
    1. 아래 명령을 실행해 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
    
    1. 아래 명령을 실행해 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. 역할 적용 확인

    1. 아래 코드를 복사하여 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
    
    1. 아래 명령을 실행해 POD를 배포해 주십시오.
    $ kubectl apply -f alpine.yaml
    pod/node-iam-test created
    
    1. 아래 명령을 실행해 이미지가 정상적으로 Pull 되고 POD이 Running 됐는지 확인해 주십시오.
    $ kubectl get pod
    NAME                      READY   STATUS    RESTARTS   AGE
    alpine                    1/1     Running   0          16s
    

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.