VPC環境で利用できます。
Ncloud Kubernetes Serviceは IAMクラスタ認証のために ncp-iam-authenticatorを使用します。ncp-iam-authenticatorを通じて IAMを認証した kubeconfigを読み込んで既存ファイルにアップデートするか新しいファイルに作成できます。
- SubAccountの場合、ncp-iam-authenticatorを通じて kubeconfigを作成/アップデートするには View/getClusterDetailと View/getClusterListの権限が必要となります。
- Jenkins、Github Actionのような 3rd-partyサービスの使用により ncp-iam-authenticatorを使用した認証ができない場合、クラスタ権限制御を参照してサービスアカウントのトークンを通じた認証を使用できます。
ncp-iam-authenticator API認証キー値の設定
ncp-iam-authenticatorを使用するには、まず API認証キー値を設定する必要があります。
API認証キーは、NAVERクラウドプラットフォームコンソールの My Account > アカウントとセキュリティ管理 > セキュリティ管理 > アクセス管理 > API認証キーで確認できます。
OSの環境変数や configureファイルに APIキーを設定します(OSの環境変数が configureファイルより優先となります)。
- OSの環境変数設定
$ export NCLOUD_ACCESS_KEY=ACCESSKEYIDACCESSKEY $ export NCLOUD_SECRET_KEY=SECRETACCESSKEYSECRETACCESSKEYSECRETACCE $ export NCLOUD_API_GW=https://ncloud.apigw.ntruss.com - ユーザー環境のホームディレクトリの .ncloudフォルダに configureファイル
$ cat ~/.ncloud/configure [DEFAULT] ncloud_access_key_id = ACCESSKEYACCESSKEYAC ncloud_secret_access_key = SECRETKEYSECRETKEYSECRETKEYSECRETKEYSECR ncloud_api_url = https://ncloud.apigw.ntruss.com [project] ncloud_access_key_id = ACCESSKEYACCESSKEYAC ncloud_secret_access_key = SECRETKEYSECRETKEYSECRETKEYSECRETKEYSECR ncloud_api_url = https://ncloud.apigw.ntruss.com - 認証キー値が確認できない場合、ncp-iam-authenticatorのコマンド実行中に APIキーの入力が要求されます。
Ncloud Access Key Id []: ACCESSKEYACCESSKEYAC Ncloud Secret Access Key []: SECRETKEYSECRETKEYSECRETKEYSECRETKEYSECR Ncloud API URL []: https://ncloud.apigw.ntruss.com - また次のようなオプションを使用して各コマンドの際に Ncloud認証キーの設定およびデバッグの有無を設定できます。
名前 説明 必須の有無 デフォルト値 credentialConfig ncloud configureファイルのパス X profile ncloud configureファイル内の profile X debug debug log出力の有無 X
ncp-iam-authenticator update-kubeconfigコマンドの使用
最新バージョンの ncp-iam-authenticatorでない場合、一部のコマンドが制限されるため、最新バージョンの再インストールを推奨します。
-
ncp-iam-authenticatorがインストールされているかご確認ください。ncp-iam-authenticatorをインストールするには、ncp-iam-authenticatorのインストールをご参照ください。
-
コマンドに使用されるオプションをご確認ください。
参考kubeconfigファイルのパスに kubeconfigがなかったら、同じパスに新しいファイルを作成します。
clusterNameや userNameを設定した場合は contextNameが userName@clusterNameに設定され、そうでない場合はnks_<regionCode>_<clusterName>_<clusterUuid>に設定されます。名前 説明 必須の有無 デフォルト値 clusterUuid kubeconfigに作成する clusterの uuid O region kubeconfigに作成する clusterの regionCode - KR、SGN、JPN
O clusterName kubeconfigに設定する cluster name X userName kubeconfigに設定する user name X currentContext current-contextを新しく適用する contextに変更するかに関する有無 X overwrite kubeconfigに適用する cluster name, user name、context nameが既存ファイルと重複する場合に上書きするかに関する有無 X kubeconfig updateする kubeconfigのファイルパス X format 作成する kubeconfigのファイル形式 - yaml、json
X -
上記の表を参照して、
ncp-iam-authenticator update-kubeconfigコマンドを使用して既存の kubeconfigファイルにクラスタの configを追加します。ncp-iam-authenticator update-kubeconfig --region <region-code> --clusterUuid <cluster-uuid> -
作成された kubeconfigファイルで
kubectlコマンドをテストします。$ kubectl get namespaces --kubeconfig kubeconfig.yaml NAME STATUS AGE default Active 1h kube-node-lease Active 1h kube-public Active 1h kube-system Active 1h kubernetes-dashboard Active 1h
ncp-iam-authenticator Created-kubeconfigコマンドの使用
最新バージョンの ncp-iam-authenticatorでない場合、一部のコマンドが制限されるため、最新バージョンの再インストールを推奨します。
-
ncp-iam-authenticatorがインストールされているかご確認ください。ncp-iam-authenticatorをインストールするには、ncp-iam-authenticatorのインストールをご参照ください。
-
コマンドに使用するオプションを確認します。
参考clusterNameや userNameを設定した場合は contextNameが userName@clusterNameに設定され、そうでない場合は
nks_<regionCode>_<clusterName>_<clusterUuid>に設定されます。名前 説明 必須の有無 デフォルト値 clusterUuid kubeconfigに作成する clusterの uuid O region kubeconfigに作成する clusterの regionCode - KR、SGN、JPN
O clusterName kubeconfigに設定する cluster name X userName kubeconfigに設定する cluster name X output kubeconfigを保存する filepath(ファイル名含む) X format 作成する kubeconfigのファイル形式 - yaml、json
X -
上記の表を参照して、
ncp-iam-authenticator create-kubeconfigコマンドを使用してクラスタへの kubeconfigを作成します。ncp-iam-authenticator create-kubeconfig --region <region-code> --clusterUuid <cluster-uuid> --output kubeconfig.yaml -
作成された kubeconfigファイルで
kubectlコマンドをテストします。$ kubectl get namespaces --kubeconfig kubeconfig.yaml NAME STATUS AGE default Active 1h kube-node-lease Active 1h kube-public Active 1h kube-system Active 1h kubernetes-dashboard Active 1h