IAM認証 kubeconfigの作成/アップデート
    • PDF

    IAM認証 kubeconfigの作成/アップデート

    • PDF

    Article Summary

    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認証キーの設定およびデバッグの有無を設定できます。

      氏名説明要否デフォルト値
      credentialConfigncloud configureファイルのパスX~/.ncloud/configure
      profilencloud configureファイル内の profileXDEFAULT
      debugdebug log出力の有無Xfalse

    ncp-iam-authenticator update-kubeconfigコマンドの使用

    参考

    最新バージョンの ncp-iam-authenticatorでない場合、一部のコマンドが制限されるため、最新バージョンの再インストールを推奨します。

    1. ncp-iam-authenticatorがインストールされているか確認します。ncp-iam-authenticatorをインストールするには ncp-iam-authenticatorのインストールをご参照ください。

    2. コマンドに使用されるオプションをご確認ください。

      参考

      kubeconfigファイルのパスに kubeconfigがなかったら、同じパスに新しいファイルを作成します。clusterNameや userNameを設定した場合は contextNameが userName@clusterNameに設定され、そうでない場合は nks_<regionCode>_<clusterName>_<clusterUuid>に設定されます。

      氏名説明要否デフォルト値
      clusterUuidkubeconfigに作成する clusterの uuidO
      regionkubeconfigに作成する clusterの regionCode
      - KR, SGN, JPN
      O
      clusterNamekubeconfigに設定する cluster nameXnks_<regionCode><clusterName><clusterUuid>
      userNamekubeconfigに設定する cluster nameXnks_<regionCode><clusterName><clusterUuid>
      currentContextcurrent-contextを新しく適用する contextに修正するかに関する有無Xtrue
      overwritekubeconfigに適用する cluster name, user name、context nameが既存ファイルと重複する場合に上書きするかに関する有無Xfalse
      kubeconfigupdateする kubeconfigのファイルパスXKUBECONFIGの環境変数に設定した最初のパス
      KUBECONFIGの環境変数が設定されていないのなら ~/.kube/config
      format作成する kubeconfigのファイル形式
      - yaml, json
      Xyaml
    3. 上記の表を参考にして、ncp-iam-authenticator update-kubeconfigコマンドを使用して既存の kubeconfigファイルにクラスタの configを追加します。

      ncp-iam-authenticator update-kubeconfig --region <region-code> --clusterUuid <cluster-uuid>
      
    4. 作成された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でない場合、一部のコマンドが制限されるため、最新バージョンの再インストールを推奨します。

    1. ncp-iam-authenticatorがインストールされているか確認します。ncp-iam-authenticatorをインストールするには、ncp-iam-authenticatorインストールをご参照ください。

    2. コマンドに使用するオプションを確認します。

      参考

      clusterNameや userNameを設定した場合は contextNameが userName@clusterNameに設定され、そうでない場合は nks_<regionCode>_<clusterName>_<clusterUuid>に設定されます。

      氏名説明要否デフォルト値
      clusterUuidkubeconfigに作成する clusterの uuidO
      regionkubeconfigに作成する clusterの regionCode
      - KR, SGN, JPN
      O
      clusterNamekubeconfigに設定する cluster nameXnks_<regionCode><clusterName><clusterUuid>
      userNamekubeconfigに設定する cluster nameXnks_<regionCode><clusterName><clusterUuid>
      outputkubeconfigを保存する filepath(ファイル名含む)Xkubeconfig-<clusterUuid>.<format>
      format作成する kubeconfigのファイル形式
      - yaml, json
      Xyaml
    3. 上記の表を参考にして、ncp-iam-authenticator create-kubeconfigコマンドを使用してクラスタへの kubeconfigを作成します。

      ncp-iam-authenticator create-kubeconfig --region <region-code> --clusterUuid <cluster-uuid> --output kubeconfig.yaml
      
    4. 作成された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
      

    この記事は役に立ちましたか?

    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.