このトピックでは、Tanzu Kubernetes Grid で新しく展開されたスタンドアローン管理クラスタから詳細を検証して取得する方法について説明し、Tanzu Mission Control に登録する方法についてのリンクを提供します。
インストーラ インターフェイスまたは CLI から管理クラスタを展開する際に、Tanzu Kubernetes Grid はブートストラップ マシンの Kubernetes in Docker (kind) クラスタを使用して一時的な管理クラスタを作成します。次に、Tanzu Kubernetes Grid はそれを使用して、vSphere、Amazon Web Services (AWS)、または Microsoft Azure に展開するかどうかに応じて、選択したプラットフォームに最終的な管理クラスタをプロビジョニングします。管理クラスタの展開が正常に完了すると、Tanzu Kubernetes Grid は一時的な kind クラスタを削除します。
Tanzu Kubernetes Grid は、初めて管理クラスタを作成するときに、クラスタ API が管理クラスタを作成するために必要なすべてのファイルを含む ~/.config/tanzu/tkg/providers フォルダも作成します。
Tanzu Kubernetes Grid インストーラ インターフェイスは、作成した管理クラスタの設定をクラスタ構成ファイル ~/.config/tanzu/tkg/clusterconfigs/UNIQUE-ID.yaml に保存します。ここで、UNIQUE-ID は生成されたファイル名です。インストーラは、管理クラスタの Cluster オブジェクトに対する Kubernetes スタイルのクラスベースのオブジェクト仕様も生成します。これは、管理クラスタと同じ名前のファイルに保存されます。このクラスベースのオブジェクト仕様は情報提供のみを目的としています。クラスベースのオブジェクト仕様からの管理クラスタの展開はまだサポートされていません。TKG 2.x のクラスタ タイプの詳細については、「Tanzu Kubernetes Grid について」の「ワークロード クラスタ」を参照してください。
重要デフォルトでは、
KUBECONFIG環境変数を設定してクラスタのkubeconfigを特定のファイルに保存しない限り、Tanzu CLI から展開するすべてのクラスタは共有の.kube-tkg/configファイルに追加されます。共有の.kube-tkg/configファイルを削除すると、すべての管理クラスタが実体なしとなり、使用できなくなります。
管理クラスタを展開すると、管理クラスタで Antrea を使用したポッド間ネットワークが自動的に有効になります。
管理クラスタの展開が正常に完了したら、次の方法で管理クラスタに関する情報を取得できます。
kubectl を使用する展開されるオブジェクトは、管理クラスタを vSphere、AWS、または Azure のどれに展開したかによって異なります。
CLUSTER-NAME-control-plane-sx5rp のような名前を持ちます。CLUSTER-NAME-md-0-6b8db6b59d-kbnk4 のような名前を持ちます。CLUSTER-NAME-control-plane-bcpfp のような名前を持ちます。CLUSTER-NAME-md-0-dwfnm のような名前を持ちます。CLUSTER-NAME-bastion という名前の EC2 Bastion ホスト仮想マシンCLUSTER-NAME-control-plane-rh7xv のような名前を持ちます。CLUSTER-NAME-md-0-rh7xv のような名前を持ちます。管理クラスタの名前を指定しなかった場合、CLUSTER-NAME は tkg-mgmt-vsphere-20200323121503 または tkg-mgmt-aws-20200323140554 のようになります。
kubectl を使用した管理クラスタの詳細の表示Tanzu CLI は、管理クラスタで実行できる多くの操作を容易にするコマンドを提供します。ただし、特定の操作では、kubectl を使用する必要があります。
管理クラスタを展開すると、kubectl コンテキストは管理クラスタのコンテキストに自動的に設定されません。Tanzu Kubernetes Grid は、すべての管理クラスタとワークロード クラスタに 2 つのコンテキストを提供します。
admin コンテキストを使用すると、そのクラスタにフル アクセスできます。
admin コンテキストを使用すると、ID プロバイダ (IDP) による認証を必要とせずに kubectl 操作を実行できます。admin コンテキストを使用して kubectl 操作を実行する必要があります。kubectl 操作を実行する前に IDP による認証が必要です。管理クラスタで kubectl 操作を実行するには、kubeconfig を取得する必要があります。
ブートストラップ マシンで、tanzu context use コマンドを実行して、使用可能な管理クラスタと、CLI の現在のログイン コンテキストを確認します。
詳細については、「管理クラスタの一覧表示とコンテキストの変更」を参照してください。
管理クラスタの詳細を表示するには、tanzu mc get を実行します。
詳細については、「管理クラスタの詳細の表示」を参照してください。
管理クラスタの kubeconfig を取得するには、「管理クラスタの kubeconfig の取得」の説明に従って、tanzu mc kubeconfig get コマンドを実行します。
kubectl のコンテキストを管理クラスタに設定します。
kubectl config use-context my-mgmnt-cluster-admin@my-mgmnt-cluster
kubectl コマンドを使用して、管理クラスタのリソースを調べます。
たとえば、kubectl get nodes、kubectl get pods、または kubectl get namespaces を実行して、管理クラスタで実行されているノード、ポッド、および名前空間を表示します。
kubeconfig)tanzu mc kubeconfig get コマンドは、次のようなオプションを指定して、現在の管理クラスタの kubeconfig 構成情報を取得します。
--export-file FILE
kubectl CLI の現在の kubeconfig ファイルに追加します。これは、デフォルトの ~/.kube/config であるか、KUBECONFIG 環境変数によって設定されます。kubeconfig ファイルである FILE に書き込んで、他のユーザーと共有できるようにします。--admin
kubeconfig を生成します。ユーザーは外部 ID プロバイダで認証する必要があり、割り当てられたロールに基づいてクラスタ リソースへのアクセス権が付与されます。管理者以外の標準の kubeconfig を生成するには、クラスタで ID 管理とロールベースのアクセス制御 (RBAC) を構成する必要があります。
kubeconfig のコンテキスト名には、tanzu-cli- プリフィックスが含まれています。たとえば、tanzu-cli-id-mgmt-test@id-mgmt-test などです。kubeconfig を生成します。これにより、ユーザーは ID プロバイダにログインせずにクラスタにアクセスでき、クラスタのリソースへのフル アクセス権が付与されます。クラスタで ID 管理が構成されていない場合は、--admin オプションを指定する必要があります。
kubeconfig のコンテキスト名には、-admin サフィックスが含まれています。たとえば、id-mgmt-test-admin@id-mgmt-test などです。たとえば、スタンドアローン kubeconfig ファイルを生成して他のユーザーと共有し、現在の管理クラスタへのフル アクセス権を付与するには、次の手順を実行します。
tanzu mc kubeconfig get --admin --export-file MC-ADMIN-KUBECONFIG
ワークロード クラスタの kubeconfig を取得するには、「ワークロード クラスタの kubeconfig の取得」の説明に従って、tanzu cluster kubeconfig get を実行します。
Tanzu Kubernetes Grid 管理クラスタを Tanzu Mission Control に登録すると、Tanzu Mission Control ダッシュボード インターフェイスを使用してワークロード クラスタをプロビジョニングおよび管理できます。Tanzu Kubernetes Grid 管理クラスタを Tanzu Mission Control に登録するには、次の要件を満たす必要があります。
このドキュメントの公開時点では、特定のターゲット プラットフォームに展開されている Tanzu Kubernetes Grid 管理クラスタのみを登録できます。現在サポートされているプロバイダのリストについては、Tanzu Mission Control ドキュメントの「Tanzu Mission Control に Tanzu Kubernetes クラスタを登録するための要件」を参照してください。
AWS に管理クラスタを展開する前に、ターゲット AWS アカウントの tkg-cloud-vmware-com CloudFormation スタックに、「Tanzu Mission Control で必要な権限」にリストされている IAM 権限が含まれていることを確認します。これらの権限は、tanzu mc permissions aws set コマンドを実行して CloudFormation スタックを作成または更新するときに自動的に含まれます。
CloudFormation スタックで定義された IAM 権限を手動で構成した場合は、「Tanzu Mission Control で必要な権限」にリストされている権限を nodes.tkg.cloud.vmware.com IAM ポリシーまたはロールに追加する必要があります。
Tanzu Kubernetes Grid インストーラ インターフェイスまたは Tanzu CLI を使用して管理クラスタを展開したら、Tanzu Mission Control ドキュメントに記載されている次の手順に従います。
(オプション)管理クラスタを正常に登録したら、管理クラスタによって現在管理されている既存のワークロード クラスタを Tanzu Mission Control に追加できます。これらのクラスタを Tanzu Mission Control で管理するには、「Tanzu Mission Control 管理へのワークロード クラスタの追加」を参照してください。
Tanzu Kubernetes Grid を使用してワークロード クラスタの展開を開始できるようになりました。詳細については、「ワークロード クラスタの展開」を参照してください。
vSphere、Azure、AWS の一部またはすべてに複数の管理クラスタを展開する必要がある場合は、「管理クラスタの管理」を参照してください。このトピックでは、既存の管理クラスタを CLI インスタンスに追加する方法、認証情報の取得方法、管理クラスタのスケーリングと削除方法、および CEIP のオプトインまたはオプトアウトの方法についても説明します。