7.3. OpenShift Serverless トランスポート暗号化のセットアップ
前提条件
- クラスター管理者のアクセスを持つ OpenShift Container Platform アカウントを使用できる。
- {oc-first} をインストールします。
- cert-manager Operator for Red Hat OpenShift をインストールします。
- OpenShift Serverless Operator をインストールしている。
Red Hat OpenShift 用の cert-manager Operator をインストールする前に OpenShift Serverless Operator をインストールする場合は、knative-serving namespace でコントローラーとアクティベーターのデプロイメントを再起動する必要があります。これらのデプロイメントを再起動しないと、Knative は必要な cert-manager リソースを作成できなくなり、Knative Service が保留となり、Knative Serving cert-manager 統合を有効にできなくなります。
7.3.1. SelfSigned クラスター発行者の設定 リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、ルート証明書として SelfSigned 発行者を使用します。この方法の影響と制限は、SelfSigned cert-manager のドキュメント を参照してください。
独自の会社固有の秘密鍵インフラストラクチャー (PKI) を管理する場合は、CA 発行者を使用します。詳細は、CA 発行者に関する cert-manager ドキュメント を参照してください。
手順
SelfSignedClusterIssuerカスタムリソース (CR) を作成します。ClusterIssuer CR の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
ClusterIssuerCR を適用します。oc apply -f <filename>
$ oc apply -f <filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ClusterIssuerCR を参照するルート証明書を作成します。ルート証明書の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して
CertificateCR を適用します。oc apply -f <filename>
$ oc apply -f <filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3.2. Serving で使用する ClusterIssuer の作成 リンクのコピーリンクがクリップボードにコピーされました!
Serving による証明書の使用を有効にするには、クラスター発行者を作成する必要があります。
手順
Serving 用の
knative-serving-ca-issuerClusterIssuerを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 新しい証明書の OpenShift Serverless Serving コンポーネントで使用できる証明書を含む、Red Hat OpenShift namespace の cert-manager Operator 内のシークレット名 (デフォルトでは
cert-manager)。
次のコマンドを実行して
ClusterIssuerリソースを適用します。oc apply -f <filename>
$ oc apply -f <filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3.3. トランスポート暗号化の設定 リンクのコピーリンクがクリップボードにコピーされました!
トランスポート暗号化の設定には、以下の 2 つの部分があります。
使用する
ClusterIssuer発行者を指定します。-
clusterLocalIssuerRef: Ingress に使用される cluster-local-domain 証明書の発行者 -
systemInternalIssuerRef: Knative 内部コンポーネントによって使用される system-internal-tls 証明書の発行者
-
使用するトランスポート暗号化機能を指定します。
-
cluster-local-domain-tls: cluster-local ドメインのトランスポート暗号化機能の有効化 -
system-internal-tls: OpenShift Serverless Serving 内部コンポーネントのトランスポート暗号化機能を有効にします。
-
手順
KnativeServingリソースでのトランスポート暗号化の有効化Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
KnativeServingリソースを適用します。oc apply -f <filename>
$ oc apply -f <filename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要に応じて、Ingress Controller の
defaultCertificate値を変更します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow defaultCertificate値を変更した場合は、KnativeServingカスタムリソースのopenshift-Ingress-default-certificateフィールドにカスタム証明書名を指定する必要があります。たとえば、カスタム証明書名が
ca-ingress-certの場合、次の設定を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow cluster-local-domain-tlsまたはsystem-internal-tlsを有効にした場合は、次のコマンドを実行して Controller コンポーネントを再起動します。重要cluster-local-domain-tlsまたはsystem-internal-tls機能のいずれかが有効になっている場合は、Knative Servingcert-managerインテグレーションを有効にするために、Controller コンポーネントを再起動する必要があります。oc rollout restart deploy/controller -n knative-serving
$ oc rollout restart deploy/controller -n knative-servingCopy to Clipboard Copied! Toggle word wrap Toggle overflow system-internal-tlsを有効にした場合は、次のコマンドを実行して Activator コンポーネントを再起動します。重要system-internal-tls機能が有効化されている場合、Activator コンポーネントを再起動して内部 Web サーバーを再設定する必要があります (ランタイム時にはできないため)。oc rollout restart deploy/activator -n knative-serving
$ oc rollout restart deploy/activator -n knative-servingCopy to Clipboard Copied! Toggle word wrap Toggle overflow