ACK One 登録済みクラスターは、データセンターまたは他のクラウドプロバイダーの Kubernetes クラスターを Container Service for Kubernetes (ACK) に接続して、一元管理を実現します。
開始する前に、「登録済みクラスターの概要」を読み、ACK One 登録済みクラスターの概念と一般的なシナリオについて理解してください。
手順
コンソールで ACK One 登録済みクラスターを作成し、ターゲットクラスターを接続する
ACK One 登録済みクラスターの作成
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
ページの左上隅で、ターゲットリソースが存在するリソースグループとリージョンを選択します。

[クラスター] ページで、[Kubernetes クラスターの作成] をクリックします。
[ACK One 登録済みクラスター] タブをクリックし、クラスターのパラメーターを設定します。
設定項目
説明
クラスター名
クラスターのカスタム名。
リージョン
クラスターがデプロイされるリージョンです。選択したリージョンがユーザーとデプロイされたリソースに近いほど、ネットワーク遅延が短くなり、アクセス速度が速くなります。
IPv6 デュアルスタック
IPv4/IPv6 デュアルスタックを有効にすると、デュアルスタッククラスターが作成されます。
重要Kubernetes 1.22 以降を実行するクラスターのみがこの機能をサポートします。
ワーカーノードとコントロールプレーン間の通信には IPv4 アドレスが使用されます。
コンテナーネットワークプラグインとして Terway を選択する必要があります。
Terway の共有 ENI モードを使用する場合、ECS インスタンスタイプは IPv6 アドレスをサポートする必要があります。指定されたタイプの ECS インスタンスをクラスターに追加するには、ECS インスタンスタイプがサポートする IPv4 アドレスの数と IPv6 アドレスの数が同じである必要があります。ECS インスタンスタイプの詳細については、「インスタンスファミリーの概要」をご参照ください。
クラスターで使用される VPC は、IPv4/IPv6 デュアルスタックをサポートする必要があります。
クラスターで eRDMA を使用する場合は、IPv4/IPv6 デュアルスタックを無効にする必要があります。
VPC
クラスターの VPC を設定します。[ゾーン] を指定して VPC を自動的に作成できます。VPC リストから既存の VPC を選択することもできます。
VSwitch
vSwitch リストから既存の vSwitch を選択するか、[VSwitch の作成] をクリックして vSwitch を作成します。コントロールプレーンとデフォルトのノードプールは、選択した vSwitch を使用します。高可用性を確保するために、異なるゾーンにある複数の vSwitch を選択することをお勧めします。
セキュリティグループ
[VPC] が [既存を使用] に設定されている場合、[既存のセキュリティグループを選択] オプションを選択できます。
[基本 セキュリティグループの作成]、[詳細 セキュリティグループの作成]、または [既存の セキュリティグループの選択] を選択できます。
デフォルトでは、自動的に作成されたセキュリティグループはすべてのアウトバウンドトラフィックを許可します。ビジネス目的でセキュリティグループを変更する場合は、
100.64.0.0/10CIDR ブロックからのインバウンドトラフィックが許可されていることを確認してください。この CIDR ブロックは、他の Alibaba Cloud サービスにアクセスしてイメージをプルし、基本的な ECS 情報をクエリするために使用されます。既存のセキュリティグループを選択した場合、システムはセキュリティグループルールを自動的に設定しません。これにより、クラスター内のノードにアクセスする際にエラーが発生する可能性があります。セキュリティグループルールを手動で設定する必要があります。詳細については、「クラスターのセキュリティグループを設定する」をご参照ください。
API サーバーへのアクセス
API サーバーは、Pod や Service などのリソースオブジェクトを管理するためのさまざまな HTTP REST インターフェイス (作成、読み取り、更新、削除、監視操作など) を提供します。
デフォルトでは、システムは API サーバー用に、従量課金制の内部向け CLB インスタンスを作成し、クラスター内の API サーバーの内部エンドポイントとして機能させます。
既存の CLB インスタンスを使用するには、まず チケットを送信してホワイトリストアクセスをリクエストする必要があります。[既存を使用] [VPC] を設定した後、[ロードバランサーソース] を [既存を使用] に設定し、[既存の CLB インスタンスを選択] できます。
[EIP で API サーバーを公開] するかどうかを指定します。
公開: この機能を有効にすると、EIP は API サーバーを公開するために使用される内部向け CLB インスタンスに関連付けられます。これにより、インターネット経由でクラスターの API サーバーにアクセスできます。
公開しない: EIP は作成されません。VPC 内からのみ kubeconfig ファイルを使用してクラスターに接続し、クラスターを管理できます。
重要デフォルトの CLB インスタンスを削除すると、API サーバーにアクセスできなくなります。
EIP を CLB インスタンスにバインドした後、API サーバーはパブリックネットワークからのリクエストを受信できます。ただし、クラスター内のリソースはパブリックネットワークにアクセスできません。クラスター内のリソースがパブリックネットワークにアクセスしてパブリックイメージをプルできるようにするには、[VPC の SNAT を設定] チェックボックスを選択します。
2024年12月1日から、新しく作成された CLB インスタンスにはインスタンス料金が課金されます。詳細については、「CLB 課金調整」をご参照ください。
設定が完了したら、[クラスターの作成] をクリックします。新しいクラスターがクラスターリストに表示されます。

ターゲットクラスターを ACK One 登録済みクラスターに接続する
新しく作成した ACK One 登録済みクラスターを見つけ、[アクション] 列の [詳細] をクリックします。
[クラスター情報] ページで、[接続情報] タブをクリックします。[接続情報] タブで、要件に基づいて [パブリック] または [プライベート] を選択し、右側の [コピー] をクリックします。

コピーした内容を
agent.yamlという名前のファイルとして保存します。次に、ターゲットクラスターでkubectl apply -f agent.yamlコマンドを実行して、ターゲットクラスターを新しい ACK One 登録済みクラスターに登録します。ターゲットクラスターでプロキシのステータスを確認します。
kubectl -n kube-system get pod |grep ack-cluster-agent期待される出力:
ack-cluster-agent-5f7d568f6-6fc4k 1/1 Running 0 9s ack-cluster-agent-5f7d568f6-tf6fp 1/1 Running 0 9s登録が成功すると、[Container Service for Kubernetes コンソール] の [クラスターリスト] ページで、クラスターのステータスが [実行中] になります。
結果
[クラスターリスト] ページで、ACK One 登録済みクラスターを見つけ、[アクション] 列の [詳細] をクリックして、クラスターの [基本情報] と [接続情報] を表示します。
この kubeconfig ファイルを使用して、ターゲットクラスターに接続し、アプリケーションをデプロイできます。詳細については、「kubectl を使用して Kubernetes クラスターに接続する」をご参照ください。
onectl を使用して ACK One 登録済みクラスターを作成し、ターゲットクラスターを接続する
onectl をインストールして設定します。詳細については、「onectl を使用して登録済みクラスターを管理する」をご参照ください。
onectl は、ACK One 登録済みクラスターを作成するために、次の 2 つのメソッドをサポートしています。
重要ACK One 登録済みクラスターを作成するときは、VPC、vSwitch、リージョンなどのパラメーターを指定する必要があります。
非対話型作成:
onectl cluster create --region **** --vpc **** --vswitch ****対話型作成:
onectl cluster create -i
次のコマンドを実行して、詳細なパラメーターの説明を表示します:
onectl cluster create -hクラスターが作成されると、一連の初期化操作が実行され、クラスターは
initial状態になります。期待される出力は次のとおりです:Registered cluster test-registered-cluster created successfully, information of the cluster: name = test-registered-cluster state = initial cluster id = c3c277f2fc10f45c1b86473********** region id = cn-zhangjiakou node numbers = 0 vpc id = vpc-8vb95w2o172********** vswitch id = vsw-8vbv8bxhput**********クラスターが初期化されると、
waiting状態になります。次のコマンドを実行して、クラスターのステータスを表示します:onectl cluster describe --cluster-id ****期待される出力:
name = test-registered-cluster state = waiting ...クラスターが
waiting状態のときに、次のコマンドを実行してターゲットクラスターを ACK One 登録済みクラスターに接続します。onectl cluster connect --cluster-id **** --kubeconfig ~/.kube/config --restricted trueパラメーター
必須
説明
cluster-id
はい
ステップ 2 で作成した ACK One 登録済みクラスターの ID。
kubeconfig
いいえ
ターゲットクラスターの kubeconfig ファイルへのパス。指定しない場合、KUBECONFIG 環境変数が指す設定ファイルが使用されます。
restricted
いいえ
制限モードで ACK One 登録済みクラスターに接続するかどうかを指定します。詳細については、「登録済みクラスターの ack-cluster-agent コンポーネントの RBAC 権限」をご参照ください。
次のコマンドを実行して、詳細なパラメーターの説明を表示することもできます:
onectl cluster connect -h次のコマンドを実行して、ターゲットクラスターが接続されていることを確認します:
onectl cluster describe --cluster-id ****期待される出力:
name = test-registered-cluster state = running ...出力は、クラスターのステータスが Running であることを示しています。これは、ACK One 登録済みクラスターが接続されていることを示します。