tkg.vsphere.vmware.com プライベートレジストリへの再配置後、「テンプレートを取得する方法がサポートされていません」というエラーが発生し、調整が失敗する
search cancel

tkg.vsphere.vmware.com プライベートレジストリへの再配置後、「テンプレートを取得する方法がサポートされていません」というエラーが発生し、調整が失敗する

book

Article ID: 422059

calendar_today

Updated On:

Products

VMware vSphere Kubernetes Service

Issue/Introduction

免責事項:これは英文の記事「tkg.vsphere.vmware.com Reconciliation Fails with “Unsupported way to fetch templates” After Relocation to a Private Registry」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

スーパーバイザーサービス tkg.vsphere.vmware.com をプライベートコンテナイメージレジストリに再配置すると、スーパーバイザークラスタが構成中状態のままになることがあります。
この問題は通常、スーパーバイザーサービスのデプロイまたはアップデート中に、YAML マニフェスト内のプライベートレジストリ構成の詳細が正しくないか不完全なために調整が失敗することで発生します。

管理者は、調整が繰り返し試行され、サポートされていないフェッチテンプレートに関連するエラーメッセージが表示されることがあります。

以下の症状が発生する場合があります。

  • スーパーバイザークラスタが構成中状態のままになります。
  • tkg.vsphere.vmware.com パッケージの調整に失敗します。

コマンド「kubectl describe pkgi tkg.vsphere.vmware.com -n vmware-system-supervisor-services」を使用してパッケージの詳細を表示すると、以下のエラーが表示されます。

  Message:               Error (see .status.usefulErrorMessage for details)
  Status:                True
  Type:                  ReconcileFailed
Friendly Description:    Reconcile failed: Error (see .status.usefulErrorMessage for details)
Last Attempted Version:  3.3.x
Observed Generation:     12
Useful Error Message:    Fetching (1): Unsupported way to fetch templates
Version:                 3.3.x
Events:                  <none>
Additional errors may include:
Error from server (NotFound): packageinstalls.packaging.carvel.dev "tkg.vsphere.vmware.com" not found 
Error from server (NotFound): packageinstalls.packaging.carvel.dev "3.3.x" not found 
Error message summary: Unsupported way to fetch templates


Environment

VMware vSphere Kubernetes Service

Cause

この問題は、プライベートレジストリへの再配置中に、Supervisor Service YAML に不正確な情報または不完全な情報が含まれている場合に発生します。
この問題の一般的な原因は、YAML 形式が正しくないことです。これにより、次のエラーが発生し、照合が失敗します。
「フェッチ中 (1): テンプレートのフェッチ方法がサポートされていません。」

Resolution

この問題を解決するには、スーパーバイザーサービス tkg.vsphere.vmware.com がプライベートレジストリに正しく再配置され、適切なイメージバンドルを参照していることを確認してください。

手順 1: イメージをプライベートレジストリにコピーする

  1. imgpkg copy コマンドを使用して、Tanzu Kubernetes Grid スーパーバイザーサービスのイメージをプライベートレジストリにコピーします。
  2. imgpkg copy --tar ./tkg-service-v3.3.#.tar --to-repo <private-registry-path>/tkg:3.3.3
  3. 注: <private-registry-path> は、プライベートイメージリポジトリへの実際のパスに置き換えてください。

手順 2: vSphere UI でサービスを更新する

  1. [ワークロード管理] → [サービス] → [Tanzu Kubernetes Grid サービス] に移動します。
  2. [アクション] → [サービスの管理] を選択します。
  3. [スーパーバイザークラスタ] を選択します。
  4. [次へ] をクリックし、以下のフィールドを更新します。

    namespace: vmware-system-supervisor-services
    template:
    spec:
    fetch:
    - imgpkgBundle:
    image: <private-registry-path>/tkg:3.3.#

ステップ 3: スーパーバイザー コンテキストでパッケージ参照を検証する

  1. スーパーバイザー クラスタの kubectl コンテキストに切り替えます
  2. パッケージ vsphere.vmware.com がプライベート レジストリ内のイメージを参照していることを確認します。
  3. kubectl get pkgi tkg.vsphere.vmware.com -o yaml

    Confirm the reference:

    image: <private-registry-path>/tkg:3.3.2

  4. 正しいイメージを参照していない場合は、手動で正しいイメージに更新してください。
  5. パッケージ (pkgi) が自動的に調整されるまで数分お待ちください。

Additional Information

スーパーバイザー サービスをプライベート レジストリに移行する詳細なガイダンスについては、以下を参照してください。
  Relocate Supervisor Services to a Private Registry (Broadcom TechDocs)