この手順では、vSphere でクラスベースのクラスタを作成するときに使用する Linux (Ubuntu) カスタム マシン イメージをビルドする方法について説明します。次のセクションに分かれています。
プランベース(レガシー)クラスタの Linux カスタム マシン イメージを構築するには、「Linux カスタム マシン イメージ(レガシー)」を参照してください。Tanzu Kubernetes Grid のクラスタ タイプの詳細については、「Workload クラスタ タイプ」を参照してください。
Linux カスタム マシン イメージをビルドするには、以下が必要です。
kubectl
。govc
CLIこの手順では、カスタム イメージに使用する Kubernetes バージョンのデフォルトの Ubuntu OVA に関連付けられている OS イメージ バージョンを取得します。この OS イメージ バージョンは、以下の「Linux イメージのビルド」の手順でカスタム イメージに割り当てます。
OS イメージ バージョンを取得するには、使用事例に応じて次のいずれかを実行します。
現在の Tanzu Kubernetes Grid バージョンのデフォルトの Kubernetes バージョンを使用して作成された実行中の管理クラスタがある場合は、クラスタから OS イメージ バージョンを取得できます。
kubectl
コンテキストを管理クラスタに設定します。
使用可能な TKr のリストから、カスタム イメージに使用する Kubernetes バージョンの Tanzu Kubernetes リリース (TKr) を選択します。たとえば、v1.25.7---vmware.1-tkg.1
などです。使用可能な TKr を一覧表示するには、次のコマンドを実行します。
kubectl get tkr
TKr を開き、osImages
プロパティを見つけます。このプロパティは、TKr に関連付けられている OSImage
オブジェクトの名前を指定します。
デフォルトの Ubuntu OVA の OSImage
オブジェクトを見つけて開きます。OSImage
オブジェクトの名前は、TKr の osImages
のいずれかの名前と一致します。
kubectl get osimages
デフォルトの Ubuntu OVA の OSImage
オブジェクトで、spec.image.ref
の下にある version
プロパティの値を見つけて記録します。たとえば、v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e
などです。
現在の Tanzu Kubernetes Grid バージョンのデフォルトの Kubernetes バージョンを使用して作成された実行中の管理クラスタがない場合は、ローカルまたは vSphere で、デフォルトの Ubuntu OVA から OS イメージ バージョンを直接取得できます。
OS イメージ バージョンをローカルで取得するには、次の手順を実行します。
.ofv
ファイルを見つけます。.ofv
ファイルで、OVA の VERSION
プロパティを検索し、その値を記録します。たとえば、v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e
などです。プロパティは次のようになります。
<Property ovf:key="VERSION" ovf:type="string" ovf:userConfigurable="false" ovf:value="v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e"/>
ターゲット Kubernetes バージョンのデフォルトの Ubuntu OVA を vSphere にすでにアップロードしている場合は、vSphere ユーザー インターフェイスで OVA 仮想マシンのプロパティを調べることや、govc
CLI を使用して OS イメージ バージョンを取得することもできます。この方法を使用するには、OVA 仮想マシンをテンプレートに変換する前に OS イメージ バージョンを取得します。
vSphere ユーザー インターフェイスから OS イメージ バージョンを取得するには、次の手順を実行します。
v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e
などです。govc
CLI を使用して OS イメージ バージョンを取得するには、govc vm.info
コマンドを実行します。例:
govc vm.info -json /dc0/vm/ubuntu-2004-kube-v1.25.7+vmware.1-tkg.1 | jq
出力で、"Id": "VERSION"
を検索し、"DefaultValue"
プロパティの値を記録します。例:
{
"Key": 10,
"ClassId": "",
"InstanceId": "",
"Id": "VERSION",
"Category": "Cluster API Provider (CAPI)",
"Label": "VERSION",
"Type": "string",
"TypeReference": "",
"UserConfigurable": false,
"DefaultValue": "v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e",
"Value": "",
"Description": ""
}
Linux イメージをビルドするには、次の手順を実行します。
vSphere 上のプランベースのクラスタの「Linux イメージのビルド」の手順を次の例外を除いて完了します。カスタム イメージのバージョン文字列を metadata.json
で設定する場合は、「Linux イメージのビルド」セクションで推奨されている v1.25.7+vmware.1-myorg.0
ではなく、上記の「OS イメージ バージョンの取得」の手順で取得した値に設定します。例:
{
"VERSION": "v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e"
}
「Linux イメージのビルド」セクションの手順を完了したら、このページに戻り、以下の「Linux イメージを vSphere にアップロード」に進みます。
「Linux イメージのビルド」セクションの手順を完了したら、次の手順を実行します。
これで、カスタム イメージを使用して、管理クラスタとワークロード クラスタを展開できるようになりました。手順については、以下を参照してください。