onectlは、登録済みクラスター用にDistributed Cloud Container Platform for Kubernetes (ACK One) が提供するコマンドラインツールです。 onectlを使用して、登録済みクラスター、クラスターコンポーネント、およびRAM (Resource Access Management) ユーザーを管理できます。
はじめにonectl
onectlは以下の特徴を提供する。
クラスターの管理
onectlを使用して、登録済みクラスターの作成と削除、登録済みクラスターのステータスの照会、現在のRAMユーザーが管理するすべての登録済みクラスターの照会、外部クラスターの登録済みクラスターへの接続を行うことができます。
コンポーネントの管理
onectlを使用して、コンポーネントのインストール、コンポーネントの更新、インストールされてインストール可能なすべてのコンポーネントの照会、コンポーネントの削除を行うことができます。
クラスターコンポーネントのRAMユーザーの管理
onectlを使用すると、コンポーネントのRAM (Resource Access Management) ユーザーにアクセス許可を付与したり、コンポーネントのRAMユーザーからアクセス許可を取り消したり、コンポーネントのRAMユーザーに付与されたアクセス許可を照会したりできます。
onectlのしくみ
ステップ1: onectlのインストール
次のコマンドを実行してonectlをインストールします。
onectlはmacOSとLinuxをサポートしています。
curl https://ack-one.oss-cn-hangzhou.aliyuncs.com/onectl/get-onectl.sh | bash
次のコマンドを実行して、onectlがインストールされているかどうかを確認します。
onectl version
期待される出力:
onectl: v1.0.0+774dea0 BuildDate: 2023-07-12T06:10:27Z GitCommit: 774dea0f768569821e101dc44d1cb09cef192fe8 GitTreeState: clean GoVersion: go1.20.4 Compiler: gc Platform: darwin/amd64
ステップ2: onectlのRAMユーザーに権限を付与する
onectlを使用して登録済みクラスターを管理できるのは、RAMユーザーとしてログオンした後です。 onectlはRAMユーザーのAccessKeyペアを使用してAlibaba Cloudサービスにアクセスします。 したがって、RAMユーザーには、クラウドリソースに対する次の権限が必要です。
onectlのRAMユーザーとクラスターコンポーネントのRAMユーザーは異なります。
AliyunCSFullAccessシステムポリシーによって提供されるACK管理者権限。
AliyunRamFullAccessシステムポリシーによって提供されるRAM管理者権限。
AliyunVPCReadOnlyAccessシステムポリシーによって提供されるVPC読み取り専用権限。
次のコマンドを実行して、onectlのRAMユーザーのAccessKeyペアと登録済みクラスターのIDを指定できます。
onectl configure
期待される出力:
Configuring profile default ...
Access Key Id [*********************f7x]:
Access Key Secret [***************************mft]:
Default Kubeconfig Path (default is ~/.kube/config) []:
Saving profile[default] ...
Done.
パラメーター | 説明 |
アクセスキーId | onectlのRAMユーザーのAccessKeyペア。 |
Access Key Secret | |
Kubeconfigパス | 外部クラスターへのログインに使用されるkubeconfigファイルのパス。 デフォルト値: ~/.kube/config |
手順3: 外部クラスターに接続するためのkubeconfigファイルの設定
デフォルトでは、onectlはkubeconfig環境変数で指定されたKUBECONFIGファイルを使用して外部クラスターに接続します。 onectlを使用する前に、KUBECONFIG環境変数を設定する必要があります。 環境変数KUBECONFIGが設定されていない場合、デフォルトで ~/.kube/config
ファイルが使用されます。
次に何をすべきか
クラスターの管理
onectlを使用して、次の操作を実行できます。
登録済みクラスターを作成して接続します。
cluster-id****
は、登録されたクラスターのIDを示します。 詳細については、「onectlを使用した登録済みクラスターの作成」をご参照ください。onectl cluster create --region **** --vpc **** --vswitch **** --name **** --eip true onectl cluster connect --cluster-id ****
登録済みクラスターのステータスを照会します。
onectl cluster describe --cluster-id ****
登録済みのすべてのクラスターを照会します。
onectl cluster list
登録済みクラスターを削除します。
onectl cluster delete --cluster-id ****
コンポーネントの管理
onectlを使用して、次の操作を実行できます。****
は、管理するコンポーネントの名前を示します。
コンポーネントをインストールします。
onectl addon install ****
コンポーネントを更新します。
onectl addon upgrade ****
コンポーネントの照会
onectl addon list
インストール可能なすべてのコンポーネントを照会します。
onectl addon catalog
コンポーネントをアンインストールします。
onectl addon uninstall ****
クラスターコンポーネントのRAMユーザーの管理
onectlを使用すると、次の操作を実行できます。****
はコンポーネントの名前を示します。
RAMユーザーに権限を付与します。
onectl ram-user grant --addon ****
RAMユーザーの権限を照会します。
onectl ram-user describe --detail
RAMユーザーから権限を取り消します。
onectl ram-user revoke --addon ****
RAMユーザーの権限を更新します。
onectl ram-user update --addon ****
関連ドキュメント
インストールされたコンポーネントを照会する方法の詳細については、「コンポーネントの管理」をご参照ください。
登録済みクラスターのステータスを監視する方法の詳細については、「Observability」をご参照ください。
登録済みクラスターのセキュリティ要件の詳細については、「セキュリティ管理」をご参照ください。