- 印刷する
- PDF
IAM認証 kubeconfigの作成/アップデート
- 印刷する
- PDF
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クラウドプラットフォームのポータルにログインした後、マイページ>アカウント管理>認証キー管理のメニューから確認できます。
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 ~/.ncloud/configure profile ncloud configureファイル内の profile X DEFAULT debug debug log出力の有無 X false
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, JPNO clusterName kubeconfigに設定する cluster name X nks_<regionCode><clusterName><clusterUuid> userName kubeconfigに設定する cluster name X nks_<regionCode><clusterName><clusterUuid> currentContext current-contextを新しく適用する contextに修正するかに関する有無 X true overwrite kubeconfigに適用する cluster name, user name、context nameが既存ファイルと重複する場合に上書きするかに関する有無 X false kubeconfig updateする kubeconfigのファイルパス X KUBECONFIGの環境変数に設定した最初のパス
KUBECONFIGの環境変数が設定されていないのなら ~/.kube/configformat 作成する kubeconfigのファイル形式
- yaml, jsonX yaml 上記の表を参考にして、
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, JPNO clusterName kubeconfigに設定する cluster name X nks_<regionCode><clusterName><clusterUuid> userName kubeconfigに設定する cluster name X nks_<regionCode><clusterName><clusterUuid> output kubeconfigを保存する filepath(ファイル名含む) X kubeconfig-<clusterUuid>.<format> format 作成する kubeconfigのファイル形式
- yaml, jsonX yaml 上記の表を参考にして、
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