この機能を使用すると、登録済みクラスターを作成し、登録済みクラスターをデータセンターまたはサードパーティのクラウドにデプロイされているクラスターに接続できます。 これにより、Container Service for Kubernetes (ACK) コンソールでクラスターを一元管理できます。 このトピックでは、ACKコンソールで登録済みクラスターを作成し、外部クラスターを登録する方法について説明します。
手順
ACKコンソールを使用して登録済みクラスターを作成する
onectlを使用した登録済みクラスターの作成
登録済みクラスターを作成します。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
On theクラスターページをクリックします。Kubernetesクラスターの作成.
On theACK 1つの登録済みクラスタータブでパラメーターを設定します。
パラメーター | 説明 |
すべてのリソース | ページ上部の [すべてのリソース] にポインターを移動し、使用するリソースグループを選択します。 リソースグループを選択すると、リソースグループに属する仮想プライベートクラウド (VPC) とvSwitchが表示されます。 クラスターを作成すると、指定されたリソースグループに属するVPCとvSwitchのみが表示されます。 |
クラスター名 | クラスターの名前。 名前は1 ~ 63文字で、数字、文字、ハイフン (-) 、およびアンダースコア (_) を使用できます。 名前は文字または数字で始まる必要があります。 |
リージョン | クラスターのリージョン。 |
IPv6デュアルスタック | この機能はパブリックプレビュー中です。 これを使用するには、Quota Centerコンソールでアプリケーションを送信します。 IPv4/IPv6デュアルスタックを有効にすると、デュアルスタッククラスタが作成されます。 重要 Kubernetes 1.22を実行するクラスターのみがこの機能をサポートしています。 IPv4アドレスは、ワーカーノードと制御プレーンとの間の通信に使用される。 Terwayの共有ENIモードを使用する場合、ECSインスタンスタイプはIPv6アドレスをサポートしている必要があります。 指定されたタイプのECSインスタンスをクラスターに追加するには、ECSインスタンスタイプでサポートされるIPv4アドレスの数がIPv6アドレスの数と同じである必要があります。 ECSインスタンスタイプの詳細については、「インスタンスファミリーの概要」をご参照ください。 クラスターが使用するVPCは、IPv4/IPv6デュアルスタックをサポートする必要があります。 クラスターでElastic Remote Direct Memory Access (eRDMA) を使用するには、IPv4/IPv6デュアルスタックを無効にする必要があります。
|
[VPC] | ドロップダウンリストからVPCを選択します。 |
vSwitch | 指定されたVPCに属するノードvSwitchを選択します。 |
[セキュリティグループ] | [既存のセキュリティグループの選択] オプションを選択できるのは、ホワイトリストのユーザーのみです。 ホワイトリストへの追加を申請するには、Quota Centerコンソールにログインして申請を送信します。 選択できます基本作成セキュリティグループ,高度な作成セキュリティグループ、または既存の選択セキュリティグループ. デフォルトでは、自動的に作成されたセキュリティグループはすべてのアウトバウンドトラフィックを許可します。 業務用にセキュリティグループを変更する場合は、100.64.0.0/10 宛のトラフィックが許可されていることを確認してください。 このCIDRブロックは、他のAlibaba Cloudサービスにアクセスしてイメージをプルし、基本的なECS情報を照会するために使用されます。 既存のセキュリティグループを選択した場合、セキュリティグループルールは自動的に設定されません。 これにより、クラスター内のノードにアクセスするときにエラーが発生する可能性があります。 セキュリティグループルールを手動で設定する必要があります。 詳細については、「クラスターのセキュリティグループの設定」をご参照ください。
|
APIサーバーへのアクセス | クラスター内のAPIサーバーの内部エンドポイントとして機能するAPIサーバー用の [従量課金] 内部対応のClassic Load Balancer (CLB) インスタンスを作成します。 |
EIPの関連付け | elastic IPアドレス (EIP) をクラスターに関連付けるかどうかを指定します。 このチェックボックスをオンにすると、EIPが自動的に作成され、クラスターに関連付けられます。 説明 クラスターがインターネット経由でAlibaba Cloudに接続されている場合、このオプションを選択する必要があります。 クラスターがExpress Connect回線を介してAlibaba Cloudに接続されている場合は、このオプションを選択する必要はありません。 |
削除保護 | クラスターの削除保護を有効にするかどうかを指定します。 削除保護により、コンソールまたはAPIの呼び出しによるクラスターの削除が防止されます。 これにより、ユーザーエラーが防止されます。 |
リソースグループ | クラスターが属するリソースグループ。 各リソースは1つのリソースグループにのみ属することができます。 リソースグループは、ビジネスシナリオに基づいて、プロジェクト、アプリケーション、または組織と見なすことができます。 |
ラベル | クラスターにラベルを追加します。 キーと値を入力し、[追加] をクリックします。 説明 Key は必須です。 値はオプションです。 キーは大文字と小文字を区別しません。 キーの長さは1 ~ 64文字である必要があり、aliyun、acs: 、http:// 、https:// で始めることはできません。 値は大文字と小文字を区別しません。 値の長さは1 ~ 128文字である必要があり、aliyun、acs: 、http:// 、https:// で始めることはできません。 Valueパラメーターは空のままにできます。 同じリソースに追加されるラベルのキーは一意である必要があります。 使用済みキーを使用してラベルを追加すると、同じキーを使用するラベルがラベルに上書きされます。 リソースに20を超えるラベルを追加すると、すべてのラベルが無効になります。 残りのラベルを有効にするには、余分なラベルを削除する必要があります。
|
利用規約 | 利用規約と免責事項を読み、選択します。 |
ページの右側で、クラスターの作成.
新しく作成されたクラスターは [クラスター] ページで確認できます。
クラスターを登録します。
[クラスター] ページで、新しく作成したクラスターを選択し、[操作] 列の [詳細] をクリックします。 この例では、test-external-cluster1という名前のクラスターを選択します。
On the詳細クラスターのページで、接続情報タブをクリックします。
[クラスタに接続するエージェント] セクションで、ビジネス要件に基づいて [パブリックネットワーク] または [内部ネットワーク] タブをクリックし、右側の [コピー] をクリックします。 YAMLファイルを作成し、コピーしたコードをファイルに貼り付けます。 次に、kubectlを使用してファイルを実行し、外部クラスターを登録します。
たとえば、agent.yamlという名前のファイルを作成し、コピーしたコードをagent.yamlファイルに貼り付けることができます。 次に、クラスターでkubectl apply -f agent.yaml
コマンドを実行し、クラスターを登録します。
重要
クラスターがインターネット経由でAlibaba Cloudに接続されている場合は、[パブリックネットワーク] を選択します。 クラスターが内部ネットワーク経由でAlibaba Cloudに接続されている場合は、[内部ネットワーク] を選択します。

クラスターで次のコマンドを実行して、エージェントのステータスを照会します。
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
クラスターの登録後、[クラスター] ページでクラスターが [実行中] 状態であることを確認します。
結果
[クラスター] ページで、新しく登録されたクラスターを見つけ、[操作] 列の [詳細] をクリックします。 表示されるページで、クラスターに関する基本情報と接続情報を表示できます。
kubeconfigを使用してクラスターに接続し、クラスターにアプリケーションをデプロイできます。 詳細については、「kubectlを使用したACKクラスターへの接続」をご参照ください。
onectlをインストールして構成します。 詳細については、「onectlを使用した登録済みクラスターの管理」をご参照ください。
次のいずれかの方法を使用して、onectlを使用して登録済みクラスターを作成できます。
重要
登録済みクラスターを作成するときは、クラスターのVPC、vSwitch、およびリージョンを指定する必要があります。 登録済みクラスターがインターネットに公開されている場合、セキュリティを強化するために、-- acl
を使用して、登録済みクラスターのServer Load Balancer (SLB) インスタンスのアクセス制御ホワイトリストを設定する必要があります。 ホワイトリストに次のIPアドレスが含まれていることを確認します。外部クラスターのアウトバウンドトラフィックのCIDRブロックと、登録済みクラスターに送信されたリクエストのソースCIDRブロックです。
次のコマンドを実行して、パラメーターのヘルプ情報を表示できます。
登録済みクラスターが作成された後、ACKは登録済みクラスターを初期化します。 この時点で、登録されているクラスタの状態は初期状態
である。 想定される出力:
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**********
初期化が完了すると、登録済みクラスターのステータスは待機中
に変わります。 次のコマンドを実行して、クラスターのステータスを照会します。
onectl cluster describe --cluster-id ****
想定される出力:
name = test-registered-cluster
state = waiting
...
登録済みクラスターのステータスが待機中
に変わったら、次のコマンドを実行して外部クラスターを登録済みクラスターに接続します。
onectl cluster connect --cluster-id **** --kubeconfig ~/.kube/config --restricted true
パラメーター | 必須 / 任意 | 説明 |
cluster-id | はい | 前のステップ2で作成した登録済みクラスターのID。 |
kubeconfig | いいえ | 外部クラスターのkubeconfigファイルのパス。 パスを指定しない場合, 環境変数kubeconfigに指定したKUBECONFIGファイルが使用されます。 |
制限付き | いいえ | 登録済みクラスターに制限モードで接続するかどうかを指定します。 詳細については、「登録済みクラスターのack-cluster-agentコンポーネントに必要なRBAC権限」をご参照ください。 |
次のコマンドを実行して、パラメーターのヘルプ情報を表示できます。
onectl cluster connect -h
次のコマンドを実行して、外部クラスターが登録済みクラスターに接続されているかどうかを確認します。
onectl cluster describe --cluster-id ****
想定される出力:
name = test-registered-cluster
state = running
...
登録済みクラスターが実行中の場合、外部クラスターは登録済みクラスターに接続されています。