このトピックでは、Tanzu Kubernetes Grid のワークロード クラスタに cert-manager をインストールする方法について説明します。cert-manager は、スタンドアローン管理クラスタに自動的にインストールされます。
このトピックは、vSphere、Amazon Web Services (AWS)、Azure で実行されているワークロード クラスタに適用されます。
クラスタを準備するには、次の手順を実行します。
cert-manager を展開するワークロード クラスタの管理者認証情報を取得します。例:
tanzu cluster kubeconfig get my-cluster --admin
kubectl のコンテキストをクラスタに設定します。例:
kubectl config use-context my-cluster-admin@my-cluster
cert-manager をインストールするには、次の手順を実行します。
「vSphere 上の単一ノード クラスタ(テクニカル プレビュー)」の説明に従って cert-manager を単一ノード クラスタにインストールする場合は、cert-manager
パッケージの注釈にパッチを適用して、単一ノード クラスタにコア パッケージとしてインストールされた cert-manager
と Tanzu standard
リポジトリの cert-manager
との間の競合を回避します。
kubectl annotate --overwrite package cert-manager.tanzu.vmware.com.1.10.2+vmware.1-tkg.1 tkg.tanzu.vmware.com/package-repo='standard'
クラスタに cert-manager パッケージがインストールされたパッケージ リポジトリ(tanzu-standard
リポジトリなど)がない場合は、次のいずれかをインストールします。
tanzu package repository add PACKAGE-REPO-NAME --url PACKAGE-REPO-ENDPOINT --namespace tkg-system
ここで、
PACKAGE-REPO-NAME
はパッケージ リポジトリの名前です。tanzu-standard
や、ADDITIONAL_IMAGE_REGISTRY
変数で構成されたプライベート イメージ レジストリの名前が入ります。PACKAGE-REPO-ENDPOINT
はパッケージ リポジトリの URL です。
tanzu-standard
の URL は projects.registry.vmware.com/tkg/packages/standard/repo:v2.2.0
です。Tanzu CLI からこの値を取得するには、「パッケージ リポジトリの一覧表示」を参照してください。また、Tanzu Mission Control では [クラスタ (Cluster)] ペインの [アドオン (Addons)] > [リポジトリ (Repositories)] リストを参照してください。cert-manager
パッケージがワークロード クラスタで使用可能であることを確認します。
tanzu package available list -A
使用可能なパッケージのバージョンを取得します。
tanzu package available list cert-manager.tanzu.vmware.com -A
cert-manager パッケージをインストールします。
tanzu package install cert-manager --package cert-manager.tanzu.vmware.com --namespace TARGET-NAMESPACE --version AVAILABLE-PACKAGE-VERSION
ここで、
TARGET-NAMESPACE
は、cert-manager パッケージをインストールする名前空間です。たとえば、my-packages
または tanzu-cli-managed-packages
名前空間などです。
--namespace
フラグが指定されていない場合、Tanzu CLI は default
名前空間にパッケージをインストールします。kubectl create namespace my-packages
を実行することによってすでに存在している必要があります。AVAILABLE-PACKAGE-VERSION
は、上で取得したバージョンです。例:
tanzu package install cert-manager --package cert-manager.tanzu.vmware.com --namespace my-packages --version 1.7.2+vmware.1-tkg.1
cert-manager
パッケージがインストールされていることを確認します。
tanzu package installed list -A
cert-manager
パッケージと cert-manager
アプリケーションは、tanzu package install
コマンドの実行時に指定した名前空間にインストールされます。
cert-manager
アプリケーションが TARGET-NAMESPACE
で正常に調整されていることを確認します。例:
kubectl get apps -A
NAMESPACE NAME DESCRIPTION SINCE-DEPLOY AGE
my-packages cert-manager Reconcile succeeded 3m2s 3m12s
...
ステータスが Reconcile Succeeded
でない場合は、cert-manager
アプリケーションの完全なステータスの詳細を表示します。完全なステータスを表示すると、問題のトラブルシューティングに役立ちます。
kubectl get app cert-manager --namespace TARGET-NAMESPACE -o yaml
ここで、TARGET-NAMESPACE
は、パッケージをインストールした名前空間です。トラブルシューティングを行っても問題を解決できない場合は、パッケージをアンインストールしてから再度インストールする必要があります。
tanzu package installed delete cert-manager --namespace TARGET-NAMESPACE
cert-manager-
ポッドが実行されていることを確認します。
kubectl get pods -A
cert-manager ポッドと、cert-manager コンポーネントに関連付けられているその他のリソースは、cert-manager
名前空間に作成されます。