このトピックでは、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 のオプトインまたはオプトアウトの方法についても説明します。