マシン イメージのビルド

このセクションでは、Tanzu Kubernetes Grid (TKG) スタンドアローン管理クラスタおよび作成されるワークロード クラスタのノード仮想マシン テンプレートとして使用するカスタム マシン イメージをビルドする方法について説明します。

vSphere with Tanzu スーパーバイザー クラスタのカスタム イメージをビルドするには、「vSphere Tanzu Kubernetes Grid Image Builder リポジトリ」を参照してください。

このトピックでは、TKG カスタム イメージの背景について説明します。

管理クラスタ ノードにカスタム マシン イメージを使用するには、構成ファイルからではなく、インストーラ インターフェイスを使用して管理クラスタを展開する必要があります。

概要

各カスタム マシン イメージは、基本オペレーティング システム (OS) バージョンと Kubernetes バージョン、および必要に応じて追加のカスタマイズをパッケージ化して、vSphere で実行されるイメージにしたものです。Linux カスタム イメージは、AWS または Microsoft Azure インフラストラクチャでも実行できます。カスタム イメージは、Tanzu Kubernetes Grid でサポートされている OS バージョンに基づいている必要があります。基本 OS には、Red Hat Enterprise Linux (RHEL) v8 など、VMware がサポートしているが配布していない OS を使用できます。サポートされている OS のリストを表示するには、「ターゲットのオペレーティング システム」を参照してください。

Kubernetes Image Builder

Tanzu Kubernetes Grid クラスタ ノードのカスタム マシン イメージをビルドするには、アップストリームの Kubernetes Image Builder プロジェクトのコンテナ イメージを使用します。Kubernetes Image Builder はローカル ワークステーションで実行され、以下を使用します。

  • Ansible は、Ubuntu や CentOS などの複数のターゲット配布ファミリにわたってマシンを構成およびプロビジョニングするプロセスを標準化します。
  • Packer は、現在および将来の CAPI プロバイダのイメージ ビルド プロセスを自動化および標準化し、ビルド後にターゲット インフラストラクチャのイメージをパッケージ化します。
  • Image Builder は、各プロバイダのネイティブ インフラストラクチャを使用してイメージをビルドします。
    • Amazon Web Services (AWS)
      • Image Builder は、公式の Ubuntu AMI など、AWS で公開されているベース AMI からカスタム イメージを作成します。
      • カスタム イメージは AWS 内にビルドされ、1 つまたは複数のリージョンの AWS アカウントに保存されます。
      • Image Builder ドキュメントの「AWS のイメージのビルド」を参照してください。
    • Azure
      • カスタム イメージは、Azure 共有イメージ ギャラリーに保存できます。
      • Image Builder ドキュメントの「Azure のイメージのビルド」を参照してください。
    • vSphere
      • Image Builder は、Linux ディストリビューションの元のインストール ISO から Open Virtualization Archive (OVA) イメージをビルドします。
      • ビルドされた OVA を vSphere クラスタにインポートし、高速クローン作成のためのスナップショットを作成してから、マシン イメージを vm template としてマークします。
      • Image Builder ドキュメントの「vSphere のイメージのビルド」を参照してください。

カスタム イメージでデフォルト イメージを置き換える

OS バージョン、Kubernetes バージョン、およびターゲット インフラストラクチャの一般的な組み合わせのために、Tanzu Kubernetes Grid はデフォルトのマシン イメージを提供します。たとえば、1 つの ova-ubuntu-2004-v1.24.10+vmware.1-tkg イメージが vSphere の Ubuntu v20.04 および Kubernetes v1.24.10 の OVA イメージとして機能します。

RHEL v8 OS や Windows など、OS バージョン、Kubernetes バージョン、インフラストラクチャのその他の組み合わせについては、デフォルトのマシン イメージはありませんが、ビルドすることができます。

デフォルト イメージと同じ OS バージョン、Kubernetes バージョン、およびインフラストラクチャでカスタム イメージをビルドして使用する場合、カスタム イメージはデフォルトを置き換えます。次に、Tanzu CLI はカスタム イメージを使用して新しいクラスタを作成し、OS バージョン、Kubernetes バージョン、およびターゲット インフラストラクチャの組み合わせにデフォルト イメージを使用しなくなります。

クラスタ API

クラスタ API (CAPI) は、変更不可のインフラストラクチャの原則に基づいてビルドされます。クラスタを構成するすべてのノードは、共通のテンプレートまたはマシン イメージから取得されます。

CAPI は、マシン イメージからクラスタを作成する際に、いくつかの要素が構成されインストール済みでアクセス可能である、または実行されていることを想定します。これには、次のものが含まれます。

  • クラスタ マニフェストで指定されている kubeadmkubelet および kubectl のバージョン。
  • コンテナ ランタイム(最も頻繁なものは containerd)。
  • kubeadm init および kubeadm join に必要なすべてのイメージ。VMware によって署名されたイメージと同様に、公開されておらず、ローカルでプルされる必要があるイメージを含める必要があります。
  • ブートストラップ命令を受け入れるように構成された cloud-init

次の手順

イメージのビルド方法については、次のトピックを参照してください。

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