14.6. カスタムドメインルートの動的証明書の設定
これで、指定したドメインのファーストレベルサブドメインでクラスターアプリケーションを公開できるようになります。しかし、アプリケーションのドメインと一致する TLS 証明書で接続が保護されません。このクラスターアプリケーションに各ドメイン名の有効な証明書を確実に提供するために、このドメインの配下に作成されたすべての新しいルートに証明書を動的に発行するように cert-manager を設定します。
cert-manager による OpenShift ルートの証明書の管理に必要な OpenShift リソースを作成します。
このステップでは、クラスター内のアノテーション付きルートを特別に監視する新しいデプロイメント (とその Pod) を作成します。新しいルートで
issuer-kind
およびissuer-name
アノテーションが検出された場合、ルートの作成時に指定されたホスト名を受け入れる、このルートに固有の新しい証明書を発行者 (この場合は ClusterIssuer) に要求します。注記クラスターから GitHub にアクセスできない場合は、raw コンテンツをローカルに保存し、
oc apply -f localfilename.yaml -n cert-manager
を実行します。$ oc -n cert-manager apply -f https://github.com/cert-manager/openshift-routes/releases/latest/download/cert-manager-openshift-routes.yaml
このステップでは、次の追加の OpenShift リソースも作成されます。
-
ClusterRole
- クラスター全体のルートを監視および更新する権限を付与します。 -
ServiceAccount
- 新しく作成された Pod を実行する権限を使用します。 -
ClusterRoleBinding
- これら 2 つのリソースをバインドします。
-
新しい
cert-manager-openshift-routes
Pod が正常に実行されていることを確認します。$ oc -n cert-manager get pods
結果の例:
NAME READY STATUS RESTARTS AGE cert-manager-866d8f788c-9kspc 1/1 Running 0 4h21m cert-manager-cainjector-6885c585bd-znws8 1/1 Running 0 4h41m cert-manager-openshift-routes-75b6bb44cd-f8kd5 1/1 Running 0 6s cert-manager-webhook-8498785dd9-bvfdf 1/1 Running 0 4h41m