1. 免責事項:これは英文の記事「How to recover deleted or lost values.yaml files for an installed VKS package」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。
VKS パッケージ(例:Prometheus、Grafana、Contour)をデプロイする際に使用した元の設定ファイル(values.yaml)が、ジャンプボックス/管理者ワークステーションから削除された、または紛失してしまいました。管理者は、更新や変更を実施するために、現在有効となっているアクティブな設定を取得する必要があります。
vSphere Kubernetes Service
Tanzu Kubernetes Grid Management
vSphere Kubernetes Service のゲストクラスタにおいて、PackageInstall(pkgi)リソースを介してパッケージがインストールされる場合、設定値は Kubernetes の Secret として保存されます。本 KB では、クラスタの現在の状態から values.yaml ファイルを再構築する手順を提供します。
以下の手順では、values.yaml を Prometheus のインストールから復旧する方法を示します。
注: これらの手順は、パッケージ名を置き換えるだけで、任意の Tanzu パッケージ(例:Grafana、Contour、Fluent Bit)にも同様に適用できます。
1. 設定 Secret の特定
インストールされた各パッケージ(pkgi)は、その設定を保存している secret を参照します。この secret 名を確認するには、パッケージの詳細を YAML 形式で表示します:
# Replace 'prometheus' and the namespace with your specific package details
kubectl get pkgi -n vmware-system-tkg prometheus -o yaml
出力結果の中から spec.values セクションを探してください。そこに secretRef の名前が記載されています:
spec:
packageRef:
refName: prometheus.kubernetes.vmware.com
versionSelection:
constraints: 3.5.0+vmware.1-vks.2
values:
- secretRef:
name: prometheus-vmware-system-tkg-values <-- THIS IS YOUR TARGET SECRET
2. values.yaml の抽出およびデコード
設定内容は、その secret 内に Base64 エンコードされた文字列として保存されています。以下のコマンドを使用して、抽出・デコードを行い、内容を直接ファイルへ保存してください:
# Replace the secret name with the one found in Step 1
kubectl get secret -n vmware-system-tkg prometheus-vmware-system-tkg-values -o jsonpath='{.data.values\.yaml}' | base64 -d > recovered-prometheus-values.yaml
3. 内容の確認
cat recovered-prometheus-values.yaml
これで、このファイルを使用して Tanzu CLI 経由でパッケージの更新や変更を実施できます。