スーパーバイザー や TKG サービス クラスタに安全にログインするには、適切な TLS 証明書を使用して kubectl 向けの vSphere プラグイン を構成し、プラグインの最新バージョンが実行されていることを確認します。
スーパーバイザー CA 証明書
vSphere IaaS control plane は、kubectl 向けの vSphere プラグイン コマンド kubectl vsphere login …
を使用してクラスタ アクセスのための vCenter Single Sign-On をサポートします。
kubectl 向けの vSphere プラグイン では、デフォルトで安全なログインが行われ、信頼されている証明書が必要とされます。デフォルトは、vCenter Server ルート CA によって署名された証明書です。プラグインは --insecure-skip-tls-verify
フラグをサポートしていますが、これはセキュリティ上の理由から推奨されません。
オプション | 方法 |
---|---|
各クライアント マシンに vCenter Server ルート CA 証明書をダウンロードしてインストールします。 |
Linux の場合は、「vCenter Server 用の信頼できるルート CA 証明書のダウンロードと Ubuntu クライアントへのインストール」を参照してください。 Windows および Mac の場合は、VMware ナレッジベースの記事「Web ブラウザで証明書に関する警告表示を出さないようにするために vCenter Server のルート証明書をダウンロードしてインストールする方法」を参照してください。 |
スーパーバイザー で使用される VIP 証明書を、各クライアント マシンが信頼する CA によって署名された証明書に置き換えます。 |
vSphere IaaS 制御プレーンのインストールと構成を参照してください。 |
TKG クラスタ CA 証明書
kubectl
CLI を使用して TKG クラスタ API サーバと安全に接続するには、TKG クラスタ CA 証明書をダウンロードする必要があります。
kubectl 向けの vSphere プラグイン の最新バージョンを使用している場合、TKG クラスタに初めてログインすると、プラグインによって kubeconfig ファイルに TKG クラスタ CA 証明書が登録されます。この証明書は、TANZU-KUBERNETES-CLUSTER-NAME-ca
という名前の Kubernetes シークレットにも格納されます。プラグインは、この証明書を使用して、対応するクラスタの認証局データストアの CA 情報をポピュレートします。
スーパーバイザー をアップデートした場合は、プラグインの最新バージョンに更新してください。
vCenter Server 用の信頼できるルート CA 証明書のダウンロードと Ubuntu クライアントへのインストール
- kubectl 向けの vSphere プラグイン をインストールします。vSphere 向け Kubernetes CLI Tools のインストールを参照してください。
- [ワークロード管理] が有効になっている vCenter Server 用の信頼できるルート CA 証明書をダウンロードします。
wget https://VC-IP-or_FQDN/certs/download.zip --no-check-certificate
download.zip
ファイルのコンテンツを現在のディレクトリに解凍します。unzip download.zip -d .
- Linux ディレクトリへのパスを変更します。
cd /certs/lin
/certs/lin
ディレクトリ内の CA 証明書を一覧表示します (ls
)。PEM 形式の 2 つの証明書(
*.0
と*.r1
)が表示されます。PEM 形式の証明書は、人間が解読可能な base64 形式の証明書で、----BEGIN CERTIFICATE----
で始まります。*.crt
拡張子を証明書ファイルに追加します。例:cp dbad4059.0 dbad4059.0.crt
cp dbad4059.r1 dbad4059.r1.crt
- ファイルを OpenSSL 証明書ディレクトリの
/etc/ssl/certs
にコピーします。sudo cp dbad4059.0.crt /etc/ssl/certs
sudo cp dbad4059.r1.crt /etc/ssl/certs
- スーパーバイザー に安全にログインします。
kubectl vsphere login --server=IP-or-FQDN --vsphere-username USERNAME
- TKG サービス クラスタに安全にログインします。
kubectl vsphere login --server=IP-or-FQDN --vsphere-username USERNAME --tanzu-kubernetes-cluster-name CLUSTER-NAME --tanzu-kubernetes-cluster-namespace VSPHERE-NS