この機能を使用すると、登録済みクラスターを作成し、登録済みクラスターをデータセンターまたはサードパーティのクラウドにデプロイされているクラスターに接続できます。 これにより、Container Service for Kubernetes (ACK) コンソールでクラスターを一元管理できます。 このトピックでは、ACKコンソールで登録済みクラスターを作成し、外部クラスターを登録する方法について説明します。
このトピックを読む前に、[登録済みクラスターの概要] を読んで、登録済みクラスターに関する概念とシナリオを確認することを推奨します。
前提条件
クラスターは、インターネットまたは内部ネットワークを介してAlibaba Cloudに接続されています。 詳細については、「」をご参照ください。外部クラスターをクラスター登録プロキシに接続するための要件は何ですか?
手順
ACKコンソールを使用して登録済みクラスターを作成する
登録済みクラスターを作成します。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
On theクラスターページをクリックします。Kubernetesクラスターの作成.
On theACK 1つの登録済みクラスタータブでパラメーターを設定します。
パラメーター
説明
すべてのリソース
ページ上部の [すべてのリソース] にポインターを移動し、使用するリソースグループを選択します。 リソースグループを選択すると、リソースグループに属する仮想プライベートクラウド (VPC) とvSwitchが表示されます。 クラスターを作成すると、指定されたリソースグループに属するVPCとvSwitchのみが表示されます。
クラスター名
クラスターの名前。 名前は1 ~ 63文字で、数字、文字、ハイフン (-) 、およびアンダースコア (_) を使用できます。 名前は文字または数字で始まる必要があります。
リージョン
クラスターのリージョンです。
[VPC]
ドロップダウンリストからVPCを選択します。
vSwitch
指定されたVPCに属するノードvSwitchを選択します。
[セキュリティグループ]
[基本セキュリティグループの作成] 、[高度なセキュリティグループの作成] 、または [既存のセキュリティグループの選択] を選択できます。 セキュリティグループの詳細については、「概要」をご参照ください。
説明[既存のセキュリティグループの選択] オプションを選択できるのは、ホワイトリストのユーザーのみです。 ホワイトリストへの追加を申請するには、Quota Centerコンソールにログインして申請を送信します。
既存のセキュリティグループを選択した場合、セキュリティグループルールは自動的に設定されません。 これにより、クラスター内のノードにアクセスするときにエラーが発生する可能性があります。 セキュリティグループルールを手動で設定する必要があります。 セキュリティグループルールを管理する方法の詳細については、「ACKクラスターにアクセス制御を適用するセキュリティグループルールの設定」をご参照ください。
デフォルトでは、ACKで使用されるセキュリティグループはすべてのアウトバウンドトラフィックを許可します。 業務上の理由でセキュリティグループを変更する場合は、100.64.0.0/10宛のトラフィックが許可されていることを確認してください。 このCIDRブロックは、イメージをプルし、基本的なECS情報を照会するために使用されます。
APIサーバーへのアクセス
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を使用した登録済みクラスターの管理」をご参照ください。
次のいずれかの方法を使用して、onectlを使用して登録済みクラスターを作成できます。
重要登録済みクラスターを作成するときは、クラスターのVPC、vSwitch、およびリージョンを指定する必要があります。 登録済みクラスターがインターネットに公開されている場合、セキュリティを強化するために、
-- acl
を使用して、登録済みクラスターのServer Load Balancer (SLB) インスタンスのアクセス制御ホワイトリストを設定する必要があります。 ホワイトリストに次のIPアドレスが含まれていることを確認します。外部クラスターのアウトバウンドトラフィックのCIDRブロックと、登録済みクラスターに送信されたリクエストのソースCIDRブロックです。非対話モード: 次のコマンドを実行して、登録済みクラスターを作成します。
onectl cluster create --region **** --vpc **** --vswitch ****
インタラクティブモード: 次のコマンドを実行して、登録済みクラスターを作成します。
onectl cluster create
次のコマンドを実行して、パラメーターのヘルプ情報を表示できます。
onectl cluster create -h
登録済みクラスターが作成された後、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 ...
登録済みクラスターが実行中の場合、外部クラスターは登録済みクラスターに接続されています。