9.10. cert-manager Operator for Red Hat OpenShift と Istio-CSR の統合
cert-manager Operator for Red Hat OpenShift と Istio-CSR の統合は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
cert-manager Operator for Red Hat OpenShift は、Red Hat OpenShift Service Mesh または Istio のワークロードとコントロールプレーンコンポーネントを保護するための強化されたサポートを提供します。これには、相互 TLS (mTLS) を有効にする証明書のサポートが含まれます。この証明書は cert-manager の発行者を使用して署名、配信、更新されます。cert-manager Operator for Red Hat OpenShift で管理される Istio-CSR エージェントを使用して、Istio ワークロードとコントロールプレーンコンポーネントを保護できます。
この Istio-CSR 統合により、Istio は cert-manager Operator for Red Hat OpenShift から証明書を取得できるようになります。これにより、セキュリティーと証明書管理が簡素化されます。
9.10.1. cert-manager Operator for Red Hat OpenShift を介した Istio-CSR エージェントのインストール
9.10.1.1. Istio-CSR 機能の有効化
cert-manager Operator for Red Hat OpenShift で Istio-CSR 機能を有効にするには、この手順を使用します。
前提条件
- 
								cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。
手順
- 次のコマンドを実行して、cert-manager Operator for Red Hat OpenShift のデプロイメントを更新し、config map を使用します。 - oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"UNSUPPORTED_ADDON_FEATURES","value":"IstioCSR=true"}]}}}'- $ oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"UNSUPPORTED_ADDON_FEATURES","value":"IstioCSR=true"}]}}}'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
検証
- 次のコマンドを実行して、デプロイメントのロールアウトが完了したことを確認します。 - oc rollout status deployment/cert-manager-operator-controller-manager -n cert-manager-operator - $ oc rollout status deployment/cert-manager-operator-controller-manager -n cert-manager-operator- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - deployment "cert-manager-operator-controller-manager" successfully rolled out - deployment "cert-manager-operator-controller-manager" successfully rolled out- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
9.10.1.2. Istio-CSR エージェントのルート CA 発行者の作成
Istio-CSR エージェントのルート CA 発行者を作成するには、この手順を使用します。
サポートされている他の発行者も使用できます。ただし、ACME はサポートされていません。詳細は、「cert-manager Operator for Red Hat OpenShift の発行者プロバイダー」を参照してください。
手順
- Issuerおよび- Certificateオブジェクトを定義する YAML ファイルを作成します。- issuer.yamlファイルの例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
検証
- 次のコマンドを実行して、発行者が作成され、使用できる状態になっていることを確認します。 - oc get issuer istio-ca -n <istio_project_name> - $ oc get issuer istio-ca -n <istio_project_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME READY AGE istio-ca True 3m - NAME READY AGE istio-ca True 3m- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
9.10.1.3. IstioCSR カスタムリソースの作成
cert-manager Operator for Red Hat OpenShift を介して Istio-CSR エージェントをインストールするには、この手順を使用します。
前提条件
- 
								cluster-admin権限でクラスターにアクセスできる。
- Istio-CSR 機能を有効にした。
- Istio-CSR エージェントの証明書を生成するために必要な - Issuerまたは- ClusterIssuerリソースを作成した。注記- Issuerリソースを使用している場合は、Red Hat OpenShift Service Mesh または- Istiodnamespace に- Issuerおよび- Certificateリソースを作成してください。証明書要求が同じ namespace に生成され、それに応じてロールベースのアクセス制御 (RBAC) が設定されます。
手順
- 次のコマンドを実行して、Istio-CSR をインストールするための新しいプロジェクトを作成します。Istio-CSR をインストールするための既存のプロジェクトがある場合は、この手順をスキップしてください。 - oc new-project <istio_csr_project_name> - $ oc new-project <istio_csr_project_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- IstioCSRカスタムリソースを作成して、cert-manager Operator for Red Hat OpenShift によって管理される Istio-CSR エージェントを有効にし、Istio ワークロードとコントロールプレーンの証明書署名要求を処理できるようにします。注記- 一度にサポートされる - IstioCSRカスタムリソース (CR) は 1 つだけです。複数の- IstioCSRCR が作成された場合、アクティブになるのは 1 つだけです。- IstioCSRの- statusサブリソースを使用して、リソースが未処理かどうかを確認してください。- 
											複数の IstioCSRCR が同時に作成された場合、いずれも処理されません。
- 
											複数の IstioCSRCR が連続して作成された場合、最初の CR のみが処理されます。
- 
											新しい要求が拒否されないように、未処理の IstioCSRCR を削除します。
- 
											IstioCSR用に作成されたオブジェクトが、Operator によって自動的に削除されることはありません。アクティブなIstioCSRリソースが削除され、以前のデプロイメントを削除せずに別の namespace に新しいリソースが作成されると、複数のistio-csrデプロイメントがアクティブなままになる可能性があります。この動作は推奨されておらず、サポートされていません。
 - IstioCSRオブジェクトを定義する YAML ファイルを作成します。- IstioCSRCR の例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、 - IstioCSRカスタムリソースを作成します。- oc create -f IstioCSR.yaml - $ oc create -f IstioCSR.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 
											複数の 
検証
- 次のコマンドを実行して、Istio-CSR デプロイメントの準備ができていることを確認します。 - oc get deployment -n <istio_csr_project_name> - $ oc get deployment -n <istio_csr_project_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME READY UP-TO-DATE AVAILABLE AGE cert-manager-istio-csr 1/1 1 1 24s - NAME READY UP-TO-DATE AVAILABLE AGE cert-manager-istio-csr 1/1 1 1 24s- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、Istio-CSR の Pod が実行されていることを確認します。 - oc get pod -n <istio_csr_project_name> - $ oc get pod -n <istio_csr_project_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME READY STATUS RESTARTS AGE cert-manager-istio-csr-5c979f9b7c-bv57w 1/1 Running 0 45s - NAME READY STATUS RESTARTS AGE cert-manager-istio-csr-5c979f9b7c-bv57w 1/1 Running 0 45s- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 次のコマンドを実行して、Istio-CSR の Pod がログにエラーを報告していないことを確認します。 - oc -n <istio_csr_project_name> logs <istio_csr_pod_name> - $ oc -n <istio_csr_project_name> logs <istio_csr_pod_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、cert-manager Operator for Red Hat OpenShift の Pod がエラーを報告していないことを確認します。 - oc -n cert-manager-operator logs <cert_manager_operator_pod_name> - $ oc -n cert-manager-operator logs <cert_manager_operator_pod_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
9.10.2. cert-manager Operator for Red Hat OpenShift によって管理される Istio-CSR エージェントのアンインストール
Red Hat OpenShift の cert-manager Operator によって管理される Istio-CSR エージェントをアンインストールするには、この手順を使用します。
前提条件
- 
							cluster-admin権限でクラスターにアクセスできる。
- Istio-CSR 機能を有効にした。
- 
							IstioCSRカスタムリソースを作成した。
手順
- 次のコマンドを実行して、 - IstioCSRカスタムリソースを削除します。- oc -n <istio_csr_project_name> delete istiocsrs.operator.openshift.io default - $ oc -n <istio_csr_project_name> delete istiocsrs.operator.openshift.io default- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 関連リソースを削除します。 重要- Red Hat OpenShift Service Mesh または Istio コンポーネントの停止を回避するために、次のリソースを削除する前に、Istio-CSR サービスまたは Istio 用に発行された証明書を参照しているコンポーネントがないことを確認してください。 - 次のコマンドを実行してクラスタースコープのリソースをリスト表示し、リスト表示されたリソースの名前を後で参照できるように保存します。 - oc get clusterrolebindings,clusterroles -l "app=cert-manager-istio-csr,app.kubernetes.io/name=cert-manager-istio-csr" - $ oc get clusterrolebindings,clusterroles -l "app=cert-manager-istio-csr,app.kubernetes.io/name=cert-manager-istio-csr"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、Istio-csr がデプロイされた namespace 内のリソースをリスト表示し、リスト表示されたリソースの名前を後で参照できるように保存します。 - oc get certificate,deployments,services,serviceaccounts -l "app=cert-manager-istio-csr,app.kubernetes.io/name=cert-manager-istio-csr" -n <istio_csr_project_name> - $ oc get certificate,deployments,services,serviceaccounts -l "app=cert-manager-istio-csr,app.kubernetes.io/name=cert-manager-istio-csr" -n <istio_csr_project_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、Red Hat OpenShift Service Mesh または Istio がデプロイされた namespace 内のリソースをリスト表示し、リスト表示されたリソースの名前を後で参照できるように保存します。 - oc get roles,rolebindings -l "app=cert-manager-istio-csr,app.kubernetes.io/name=cert-manager-istio-csr" -n <istio_csr_project_name> - $ oc get roles,rolebindings -l "app=cert-manager-istio-csr,app.kubernetes.io/name=cert-manager-istio-csr" -n <istio_csr_project_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 前のステップでリスト表示された各リソースに対して、次のコマンドを実行してリソースを削除します。 - oc -n <istio_csr_project_name> delete <resource_type>/<resource_name> - $ oc -n <istio_csr_project_name> delete <resource_type>/<resource_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 関連するリソースがすべて削除されるまで、このプロセスを繰り返します。 
 
9.10.3. Istio-CSR 機能が有効な cert-manager Operator for Red Hat OpenShift のアップグレード
Istio-CSR TechPreview フィーチャーゲートが有効になっている場合、Operator をアップグレードすることはできません。次の利用可能なバージョンを使用するには、cert-manager Operator for Red Hat OpenShift をアンインストールし、すべての Istio-CSR リソースを削除してから再インストールする必要があります。