Linux カスタム マシン イメージ

この手順では、vSphere でクラスベースのクラスタを作成するときに使用する Linux (Ubuntu) カスタム マシン イメージをビルドする方法について説明します。次のセクションに分かれています。

プランベース(レガシー)クラスタの Linux カスタム マシン イメージを構築するには、「Linux カスタム マシン イメージ(レガシー)」を参照してください。Tanzu Kubernetes Grid のクラスタ タイプの詳細については、「Workload クラスタ タイプ」を参照してください。

Linux イメージの前提条件

Linux カスタム マシン イメージをビルドするには、以下が必要です。

  • vSphere 上のアカウント
  • 以下がインストールされた macOS または Linux ワークステーション:

OS イメージ バージョンの取得

この手順では、カスタム イメージに使用する Kubernetes バージョンのデフォルトの Ubuntu OVA に関連付けられている OS イメージ バージョンを取得します。この OS イメージ バージョンは、以下の「Linux イメージのビルド」の手順でカスタム イメージに割り当てます。

OS イメージ バージョンを取得するには、使用事例に応じて次のいずれかを実行します。

  • 現在の Tanzu Kubernetes Grid バージョンのデフォルトの Kubernetes バージョンを使用して作成された実行中の管理クラスタがある場合は、クラスタから OS イメージ バージョンを取得できます。

    1. kubectl コンテキストを管理クラスタに設定します。

    2. 使用可能な TKr のリストから、カスタム イメージに使用する Kubernetes バージョンの Tanzu Kubernetes リリース (TKr) を選択します。たとえば、v1.25.7---vmware.1-tkg.1 などです。使用可能な TKr を一覧表示するには、次のコマンドを実行します。

      kubectl get tkr
      
    3. TKr を開き、osImages プロパティを見つけます。このプロパティは、TKr に関連付けられている OSImage オブジェクトの名前を指定します。

    4. デフォルトの Ubuntu OVA の OSImage オブジェクトを見つけて開きます。OSImage オブジェクトの名前は、TKr の osImages のいずれかの名前と一致します。

      kubectl get osimages
      
    5. デフォルトの Ubuntu OVA の OSImage オブジェクトで、spec.image.ref の下にある version プロパティの値を見つけて記録します。たとえば、v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e などです。

  • 現在の Tanzu Kubernetes Grid バージョンのデフォルトの Kubernetes バージョンを使用して作成された実行中の管理クラスタがない場合は、ローカルまたは vSphere で、デフォルトの Ubuntu OVA から OS イメージ バージョンを直接取得できます。

    • OS イメージ バージョンをローカルで取得するには、次の手順を実行します。

      1. Customer Connect からターゲット Kubernetes バージョンのデフォルトの Ubuntu OVA をダウンロードします。
        1. Tanzu Kubernetes Grid のダウンロード ページに移動し、VMware Customer Connect 認証情報を使用してログインして、[ダウンロードに移動 (Go to Downloads)] をクリックします。
        2. OVA をダウンロードします。たとえば、Ubuntu 2004 Kubernetes v1.25.7 OVA などです。
      2. 選択した抽出ツールを使用してダウンロードした OVA を展開します。
      3. 解凍したディレクトリで、.ofv ファイルを見つけます。
      4. .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 イメージ バージョンを取得するには、次の手順を実行します。

        1. OVA 仮想マシンを見つけて、OVA 仮想マシンのサマリ ページで [構成 (Configure)] タブを開きます。
        2. [設定 (Settings)] > [vApp Options (vApp オプション)] に移動します。
        3. [プロパティ (Properties)] テーブルで、VERSION キーを見つけて、その[デフォルト値 (Default Value)] を記録します。たとえば、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 イメージのビルド

Linux イメージをビルドするには、次の手順を実行します。

  1. vSphere 上のプランベースのクラスタの「Linux イメージのビルド」の手順を次の例外を除いて完了します。カスタム イメージのバージョン文字列を metadata.json で設定する場合は、「Linux イメージのビルド」セクションで推奨されている v1.25.7+vmware.1-myorg.0 ではなく、上記の「OS イメージ バージョンの取得」の手順で取得した値に設定します。例:

    {
     "VERSION": "v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e"
    }
    
  2. Linux イメージのビルド」セクションの手順を完了したら、このページに戻り、以下の「Linux イメージを vSphere にアップロード」に進みます。

Linux イメージを vSphere にアップロード

Linux イメージのビルド」セクションの手順を完了したら、次の手順を実行します。

  1. ターゲットの Kubernetes バージョンのデフォルトの Ubuntu OVA を vSphere にアップロードした場合は、カスタム OVA をアップロードする前にデフォルトの OVA を削除します。
  2. カスタム OVA を vSphere にアップロードします。手順については、「vSphere への管理クラスタの展開の準備」の「基本イメージ テンプレートの vSphere へのインポート」を参照してください。

次の手順

これで、カスタム イメージを使用して、管理クラスタとワークロード クラスタを展開できるようになりました。手順については、以下を参照してください。

check-circle-line exclamation-circle-line close-line
Scroll to top icon