Tanzu Kubernetes クラスタをプロビジョニングするには、kubectl と、YAML で定義したクラスタ仕様を使用して、Tanzu Kubernetes Grid サービス 宣言型 API を呼び出します。クラスタをプロビジョニングしたら、クラスタを操作し、kubectl を使用してワークロードをクラスタにデプロイします。
このワークフローは、クラスタのプロビジョニング プロセスに対するエンドツーエンドの手順を示します。各ステップには、特定のタスクの詳細についてのリンクが含まれています。
手順
- vSphere 向け Kubernetes CLI Tools をダウンロードしてインストールします。vSphere 向け Kubernetes CLI Tools のダウンロードとインストールを参照してください。
- kubectl 向けの vSphere プラグイン を使用して、スーパーバイザー クラスタ での認証を行います。vCenter Single Sign-On ユーザーとして スーパーバイザー クラスタ に接続するを参照してください。
kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
- kubectl を使用して、Tanzu Kubernetes クラスタをプロビジョニングする vSphere 名前空間 にコンテキストを切り替えます。
kubectl config get-contexts
kubectl config use-context SUPERVISOR-NAMESPACE
例:
kubectl config use-context tkgs-cluster-ns
- 使用可能な仮想マシン クラスのバインドを一覧表示します。Tanzu Kubernetes クラスタの仮想マシンのクラスを参照してください。
次のコマンドを使用して、クラスタをデプロイする
vSphere 名前空間 で使用可能なすべての仮想マシン クラスのバインドを一覧表示します。
kubectl get virtualmachineclassbindings
注:
kubectl get virtualmachineclasses
コマンドは、
スーパーバイザー クラスタ にあるすべての仮想マシン クラスを一覧表示します。仮想マシン クラスと
vSphere 名前空間 を関連付ける必要がある場合は、ターゲット名前空間にバインドされているこれらの仮想マシン クラスのみを使用します。
- 名前空間を記述して、使用可能なデフォルト ストレージ クラスを取得します。
kubectl describe namespace SUPERVISOR-NAMESPACE
- 使用可能な Tanzu Kubernetes リリース を一覧表示します。
kubectl get tanzukubernetesreleases
注:
kubectl get virtualmachineimages
コマンドは、仮想マシンに関する一般情報を返します。
- Tanzu Kubernetes クラスタをプロビジョニングするための YAML ファイルを作成します。
- いずれかのサンプル YAML ファイルを使用して開始します。Tanzu Kubernetes Grid サービス v1alpha1 API を使用した Tanzu Kubernetes クラスタのプロビジョニングの例を参照してください。
たとえば、次の YAML ファイルは、使用可能なすべてのデフォルト設定を使用して、最小のクラスタをプロビジョニングします。
apiVersion: run.tanzu.vmware.com/v1alpha1 #TKGS API endpoint
kind: TanzuKubernetesCluster #required parameter
metadata:
name: tkgs-cluster-1 #cluster name, user defined
namespace: tgks-cluster-ns #vsphere namespace
spec:
distribution:
version: v1.19 #Resolves to latest TKR 1.19 version
topology:
controlPlane:
count: 1 #number of control plane nodes
class: best-effort-medium #vmclass for control plane nodes
storageClass: vwt-storage-policy #storageclass for control plane
workers:
count: 3 #number of worker nodes
class: best-effort-medium #vmclass for worker nodes
storageClass: vwt-storage-policy #storageclass for worker nodes
- 前述のコマンドの出力から取得した情報を使用して、名前空間、ストレージ クラス、仮想マシン クラスを含むクラスタ YAML にポピュレートします。
- クラスタ構成パラメータの完全なリストを参照して、必要に応じてクラスタをカスタマイズします。Tanzu Kubernetes Grid サービス v1alpha1 API を使用する Tanzu Kubernetes クラスタの構成パラメータを参照してください。
- ファイルを
tkgs-cluster-1.yaml
などの名前で保存します。
- 次の kubectl コマンドを実行して、クラスタをプロビジョニングします。
kubectl apply -f CLUSTER-NAME.yaml
例:
kubectl apply -f tkgs-cluster-1.yaml
予期される結果:
tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 created
- kubectl を使用して、クラスタ ノードのデプロイを監視します。kubectl を使用した Tanzu Kubernetes クラスタのステータスの監視を参照してください。
kubectl get tanzukubernetesclusters
結果の例:
NAME CONTROL PLANE WORKER DISTRIBUTION AGE PHASE
tkgs-cluster-2 1 3 v1.19.7+vmware.1-tkg.1.c40d30d 7m59s running
- vSphere Client を使用して、クラスタ ノードのデプロイを監視します。vSphere Client を使用した Tanzu Kubernetes クラスタのステータスの監視を参照してください。
たとえば、vSphere インベントリに、名前空間にデプロイされている仮想マシン ノードが表示されます。
- 追加のコマンドを実行して、クラスタのプロビジョニングを確認します。Tanzu Kubernetes Cluster の操作コマンドの使用を参照してください。
例:
kubectl get tanzukubernetescluster,cluster-api,virtualmachinesetresourcepolicy,virtualmachineservice,virtualmachine
- kubectl 向けの vSphere プラグイン を使用して、クラスタにログインします。vCenter Single Sign-On ユーザーとして Tanzu Kubernetes クラスタに接続を参照してください。
kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME \
--tanzu-kubernetes-cluster-name CLUSTER-NAME --tanzu-kubernetes-cluster-namespace NAMESPACE-NAME
- 次の kubectl コマンドを使用して、クラスタのプロビジョニングを確認します。
kubectl cluster-info
kubectl get nodes
kubectl get namespaces
kubectl api-resources
- サンプル ワークロードをデプロイし、クラスタの作成を確認します。Tanzu Kubernetes クラスタへのワークロードのデプロイを参照してください。
- TKG Extensions をデプロイして、クラスタを操作できるようにします。Tanzu Kubernetes クラスタへの TKG パッケージのデプロイを参照してください。