Node IAM Role のユースケース

Prev Next

VPC環境で利用できます。

Ncloud Kubernetes Serviceのワーカーノードに Server Roleタイプのロールを付与し、AccessKey、SecretKeyを設定しなくても NAVERクラウドプラットフォームの 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. ロール適用の確認

  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.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.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