第7章 ホステッドコントロールプレーンの証明書の設定
ホストされたコントロールプレーンでは、証明書を設定する手順は、スタンドアロンの OpenShift Container Platform とは異なります。
7.1. ホストされたクラスターでのカスタム API サーバー証明書の設定 リンクのコピーリンクがクリップボードにコピーされました!
API サーバーのカスタム証明書を設定するには、HostedCluster
設定の spec.configuration.apiServer
セクションに証明書の詳細を指定します。
カスタム証明書は、Day-1 または day-2 操作のいずれかで設定できます。ただし、サービス公開ストラテジーは、ホステッドクラスターの作成時に設定した後に不変であるため、設定する予定の Kubernetes API サーバーのホスト名を知っている必要があります。
前提条件
管理クラスターにカスタム証明書が含まれる Kubernetes シークレットを作成している。シークレットには次のキーが含まれます。
-
tls.crt
: 証明書 -
tls.key
: 秘密鍵
-
-
HostedCluster
設定にロードバランサーを使用するサービス公開ストラテジーが含まれている場合は、証明書の Subject Alternative Names (SAN)が内部 API エンドポイント(api-int
)と競合しないようにしてください。内部 API エンドポイントは、プラットフォームによって自動的に作成され、管理されます。カスタム証明書と内部 API エンドポイントの両方で同じホスト名を使用すると、ルーティングの競合が発生する可能性があります。このルールの唯一の例外は、Private
またはPublicAndPrivate
設定で AWS をプロバイダーとして使用する場合です。この場合、SAN 競合はプラットフォームによって管理されます。 - 証明書は外部 API エンドポイントに対して有効である必要があります。
- 証明書の有効期間は、クラスターの予想されるライフサイクルと一致します。
手順
次のコマンドを入力して、カスタム証明書でシークレットを作成します。
oc create secret tls sample-hosted-kas-custom-cert \ --cert=path/to/cert.crt \ --key=path/to/key.key \ -n <hosted_cluster_namespace>
$ oc create secret tls sample-hosted-kas-custom-cert \ --cert=path/to/cert.crt \ --key=path/to/key.key \ -n <hosted_cluster_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例のように、カスタム証明書の詳細を使用して
HostedCluster
設定を更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
HostedCluster
設定に変更を適用します。oc apply -f <hosted_cluster_config>.yaml
$ oc apply -f <hosted_cluster_config>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
- API サーバー Pod をチェックして、新しい証明書がマウントされていることを確認します。
- カスタムドメイン名を使用して、API サーバーへの接続をテストします。
-
ブラウザーで証明書の詳細を確認するか、
openssl
などのツールを使用して確認します。