クラスタのアクセスと管理

Prev Next

VPC環境で利用できます。

クラスタ作成を完了すると、Ncloud Kubernetes Serviceのダッシュボードでクラスタリストを確認でき、クラスタにアクセスできます。クラスタリストでクラスタの詳細情報確認 、ファイルの再設定、クラスタ削除などの個別クラスタと関連したタスクを実行できます。

NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Containers > Ncloud Kubernetes Serviceメニューを順にクリックすると、作成したクラスタのリストが表示されます。

クラスタのアクセス

作成したクラスタに kubectlコマンドを用いてアクセスできます。

kubectlコマンドを使用してクラスタにアクセスする方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Containers > Ncloud Kubernetes Serviceメニューを順にクリックします。

  2. クラスタリストでアクセスするクラスタの行をクリックした認証方式に応じて設定ファイルを構成します。

    • Admin認証: [ダウンロード] ボタンをクリックしてクラスタの設定ファイルをダウンロードします。
    • IAM認証: [IAM認証ガイド] ボタンをクリックして ncp-iam-authenticatorをインストールした後、kubeconfigファイルを作成します。
    参考

    Admin認証は、2022年2月13日以前に作成したクラスタのみサポートします。

  3. 以下の例のように kubectlコマンドに--kubeconfigオプションを使用してダウンロードした設定ファイルのパスを指定した後、実行します。

    $ kubectl --kubeconfig「設定ファイル」 get nodes
    
    参考

    $HOME/.kube/configパスに設定ファイルを直接追加する方法もあります。

  4. 以下のリンクを参照し、使用中の OSに適した方法で環境変数を設定します。

    • Macまたは Linux OSで $KUBE_CONFIG 環境変数を設定
    $ export KUBE_CONFIG="${HOME}/Downloads/kubeconfig-1865.yaml"
    $ echo $KUBE_CONFIG
    /Users/user/Downloads/kubeconfig-1865.yaml
    
    $ kubectl --kubeconfig $KUBE_CONFIG get nodes
    
    • Windows Powershellで $KUBE_CONFIG 環境変数を設定
    > $KUBE_CONFIG=$HOME+"\Downloads\kubeconfig-1865.yaml"
    > $KUBE_CONFIG
    C:\Users\NAVER\Downloads\kubeconfig-1865.yaml
    > kubectl --kubeconfig $KUBE_CONFIG get nodes
    
    • Windowsコマンドプロンプトで $KUBE_CONFIG 環境変数を設定
    > SET KUBE_CONFIG=%USERPROFILE%\Downloads\kubeconfig-1865.yaml
    > kubectl --kubeconfig %KUBE_CONFIG% get nodes
    

正常に設定された場合、以下の例のように結果が表示されます。

NAME                  STATUS   ROLES   AGE
nks-pool-0000-w-001   Ready    node    5h22m
nks-pool-0000-w-002   Ready    node    5h22m
nks-pool-0000-w-003   Ready    node    5h22m

クラスタの詳細情報を見る

クラスタリストで個別クラスタの行をクリックすると、詳細情報を確認できます。

  • [ガイドを見る] ボタンをクリックしてクラスタにアクセスする方法に関するガイドを確認できます。このガイドで説明する内容は、クラスタアクセスでより詳しく確認できます。
  • Audit Logの右側にある [変更] ボタンをクリックして有効化の有無を変更できます。
    Audit Logを有効にすると、Cloud Log Analyticsでログを収集できます。ただし、有効にするにはまず Cloud Log Analyticsサービスを申し込む必要があります。(CLA ご利用ガイドを参照)

kubeconfigファイルの再設定

kubeconfig設定ファイルを再設定できます。再設定機能を使用する場合、既存のファイルはこれ以上使用できません。再設定で作成された新規設定ファイルをダウンロードして使用してください。

kubeconfig設定ファイルを再設定する方法は、次の通りです。

  1. クラスタリストで、個別クラスタの行をクリックします。
  2. クラスタの詳細情報タブで [再設定] ボタンをクリックします。
  3. 認証ファイルを再設定するクラスタの名前を入力して後、 [再設定] ボタンをクリックします。
参考

Admin認証をサポートするクラスタでのみ kubeconfigファイルを再設定できます。

クラスタ削除

クラスタを削除する方法は、次の通りです。

  1. クラスタリストで、削除するクラスタの行をクリックします。
  2. クラスタリストの左上にある [削除] ボタンをクリックします。
  3. 確認のポップアップでそのクラスタの名前を入力した後、 [削除] ボタンをクリックします。

クラスタ Autoscalerを使用する

クラスタ Autoscalerを使用してワーカーノード数を自動増減させるには、Cluster Autoscaler を使用するをご参照ください。

クラスタアップグレード

クラスタをアップグレードして内部管理マスター領域を真意バージョンにローテーションできます。アップグレード以降に追加するノードプールは、その後のバージョンが適用されます。アップグレード中には一時的にリソースの照会、変更、削除ができない場合があります。

アップグレード前の点検

クラスタをアップグレードする前に、以下の事項を確認してサービスに影響を与えかねない要素をチェックしてください。

  • 新規バージョンの変更事項: Kubernetes changelogを参照して新規バージョンで変更された事項がサービスに影響を与える可能性はないか確認します。
  • バージョンスキューポリシー: Version Skew Policyを参照して、クラスタとコンポーネントのバージョン間の互換性を確認します。
  • Admission Webhook: クラスタ内に Webhookがある場合、アップグレード中にデッドロックに陥るおそれがあります。Dynamic Admission Controlを参照してアップグレード前に予め対策を講じてください。
  • 利用可能なサーバの確保: 安定的なアップグレードのために、可用サーバを3つ以上確保します。
  • リソースのバックアップ/復旧: nodelocaldns、coredns ConfigMapと同じ kube-systemリソースと StorageClassなどはアップグレード時に維持されず、新しいバージョンに置き換えられます。変更されたリソースがある場合、バックアップしてアップグレードを完了してから再適用します。

次の内容を参照して、アップグレードに関する詳細を設定できます。

  • PodDisruptionBudget: Specifying a Disruption Budgetを参照して、クラスタのアップグレード中にもサービス中の Podを目的の割合または数で維持できます。
  • Readiness Probe: Define readiness probesを参照して、ノードプールの取り換え中に Podが再配置される時、Podがサービス可能な状態である場合にのみ Ncloud Kubernetes Serviceリソースを通じてアクセスできるように設定できます。

アップグレード方法

クラスタをアップグレードする方法は、次の通りです。

  1. クラスタリストで、アップグレードしたいクラスタの行をクリックします。
  2. クラスタの詳細情報タブで、 [アップグレード] ボタンをクリックします。
  3. 設定ポップアップ画面でアップグレードするバージョンを選択した後、クラスタの名前を入力します。
  4. [アップグレード] ボタンをクリックします。

Control Planeに関する IP ACL構成

パブリック IPアドレスをベースに Kubernetes Control Planeに関するアクセスを制限できます。

Kubernetes Consoleで IP Access Control List(ACL)を変更するクラスタを選択した後、Endpoint > IP ACL変更ボタンをクリックします。

vnks_ip_acl_ko

Default action

Control Planeにアクセスしたい場合、クライアントのパブリック IPアドレスが IP Access Control List(ACL)に登録されているルールによって許可や拒否されない場合、Default actionに応じてアクセスをフィルタリングします。

IP ACL(Access Control List)

パブリック IPアドレスをベースに Kubernetes Control Planeに関する IP ACLを設定できます。
最大20個まで登録できます。

  • アクセスソース: IPv4ベースの CIDR Blockを入力します。
  • アクション: アクセスソース CIDRに該当する IPアドレスがアクセスする場合、処理する方法を選択します。
  • メモ: 入力するルールに関するメモを作成できます。

Example

Case 1) パブリック IPアドレスに関するすべてのアクセスを遮断し、VPC内 VMインスタンスでのみ Kubernetes Control Planeにアクセスしたし場合

  • Default actionを denyに設定
  • IP ACLでは何のルールも登録しない

上記のように設定する場合、パブリック IPアドレスを利用したすべてのアクセスを遮断します。VPCネットワーク内の VMインスタンス環境で Control Planeにアクセスする場合はパブリック IPアドレスを使用せず、IP ACLの影響も受けません。

Case 2) 特定パブリック IPアドレス 143.248.142.77に関するアクセスを遮断し、他のパブリック IPアドレスのアクセスは許可したい場合

  • Default actionを allowに設定
  • IP ACLではアクセスソースを143.248.142.77/32に、アクションは denyに設定

上記のように設定する場合、143.248.142.77に関するアクセスは拒否するが、それ以外のパブリック IPアドレスは Default actionによりアクセスを許可します。