9.5. CertManager カスタムリソースを使用して cert-manager Operator をカスタマイズする
cert-manager Operator for Red Hat OpenShift をインストールした後、CertManager カスタムリソース (CR) を設定することで、次のアクションを実行できます。
- cert-manager コントローラー、CA インジェクター、Webhook などの cert-manager コンポーネントの動作を変更するには、引数を設定します。
- コントローラー Pod の環境変数を設定します。
- CPU とメモリーの使用量を管理するために、リソース要求と制限を定義します。
- クラスター内で Pod が実行される場所を制御するためのスケジューリングルールを設定します。
CertManager CR YAML ファイルの例
apiVersion: operator.openshift.io/v1alpha1
kind: CertManager
metadata:
name: cluster
spec:
controllerConfig:
overrideArgs:
- "--dns01-recursive-nameservers=8.8.8.8:53,1.1.1.1:53"
overrideEnv:
- name: HTTP_PROXY
value: http://proxy.example.com:8080
overrideResources:
limits:
cpu: "200m"
memory: "512Mi"
requests:
cpu: "100m"
memory: "256Mi"
overrideScheduling:
nodeSelector:
custom: "label"
tolerations:
- key: "key1"
operator: "Equal"
value: "value1"
effect: "NoSchedule"
overrideReplicas: 2
#...
webhookConfig:
overrideArgs:
#...
overrideResources:
#...
overrideScheduling:
#...
overrideReplicas:
#...
cainjectorConfig:
overrideArgs:
#...
overrideResources:
#...
overrideScheduling:
#...
overrideReplicas:
#...
サポートされていない引数をオーバーライドするには、CertManager リソースに spec.unsupportedConfigOverrides セクションを追加しますが、spec.unsupportedConfigOverrides の使用はサポートされていません。
9.5.1. CertManager カスタムリソースのフィールドの説明 リンクのコピーリンクがクリップボードにコピーされました!
Cert-manager Operator for Red Hat OpenShift のコアコンポーネントを設定するには、CertManager カスタムリソース (CR) を使用します。spec.controllerConfig フィールドなど、cert-manager コントローラーの設定を定義することで、デプロイメントをカスタマイズできます。
Cert-manager Operator for Red Hat OpenShift の主要コンポーネントは以下のとおりです。
-
cert-manager コントローラー:
spec.controllerConfigフィールドを使用して、cert‑manager コントローラー Pod を設定できます。 -
Webhook:
spec.webhookConfigフィールドを使用して、検証および変更リクエストを処理する Webhook Pod を設定できます。 -
CA インジェクター:
spec.cainjectorConfigフィールドを使用して、CA インジェクター Pod を設定できます。
9.5.1.1. cert-manager コンポーネントの CertManager CR における共通の設定可能フィールド リンクのコピーリンクがクリップボードにコピーされました!
次の表は、CertManager CR の spec.controllerConfig、spec.webhookConfig、および spec.cainjectorConfig セクションで設定できる共通フィールドを示しています。
| フィールド | 型 | 説明 |
|---|---|---|
|
|
| cert-manager コンポーネントでサポートされている引数をオーバーライドできます。 |
|
|
| cert-manager コントローラーでサポートされている環境変数をオーバーライドできます。このフィールドは、cert-manager コントローラーコンポーネントでのみサポートされます。 |
|
|
|
cert-manager コンポーネントのレプリカ数を設定できます。デフォルト値は
詳細は、High Availability を参照してください。 |
|
|
| cert-manager コンポーネントの CPU およびメモリーの制限を設定できます。 |
|
|
| cert-manager コンポーネントの Pod スケジューリング制約を設定できます。 |
9.5.1.2. cert-manager コンポーネントのオーバーライド可能な引数 リンクのコピーリンクがクリップボードにコピーされました!
CertManager CR の spec.controllerConfig、spec.webhookConfig、および spec.cainjectorConfig セクションで、cert-manager コンポーネントのオーバーライド可能な引数を設定できます。
次の表は、cert-manager コンポーネントのオーバーライド可能な引数について説明しています。
| 引数 | コンポーネント | 説明 |
|---|---|---|
|
| Controller |
DNS-01 セルフチェックをクエリーするネームサーバーのコンマ区切りリストを指定します。ネームサーバーは、 注記 DNS over HTTPS (DoH) は、cert-manager Operator for Red Hat OpenShift バージョン 1.13.0 以降でのみサポートされます。 |
|
| Controller | そのドメインに関連付けられた権限のあるネームサーバーをチェックする代わりに、再帰的なネームサーバーのみを使用するように指定します。 |
|
| Controller |
Automated Certificate Management Environment (ACME) HTTP01 セルフチェックをクエリーするための |
|
| Controller |
メトリクスエンドポイントのホストとポートを指定します。デフォルト値は |
|
| Controller | この引数を使用すると、アンビエント認証情報を使用して DNS-01 チャレンジを解決するように ACME Issuer を設定できます。 |
|
| Controller | この引数は、証明書リソースを、TLS 証明書が保存されているシークレットの所有者として設定します。詳細は、「証明書の削除時に TLS シークレットを自動的に削除する」を参照してください。 |
|
| Controller |
ACME HTTP-01 ソルバー Pod の最大 CPU 制限を定義します。デフォルト値は |
|
| Controller |
ACME HTTP-01 ソルバー Pod の最大メモリー制限を定義します。デフォルト値は |
|
| Controller |
ACME HTTP-01 ソルバー Pod の最小 CPU 要求を定義します。デフォルト値は |
|
| Controller |
ACME HTTP-01 ソルバー Pod の最小メモリー要求を定義します。デフォルト値は |
|
| Controller |
証明書要求の最小バックオフ期間を指定してください。デフォルト値は |
|
| コントローラー、Webhook、CA インジェクター | ログメッセージの冗長性を決定するために、ログレベルの詳細度を指定します。 |
9.5.1.3. cert-manager コントローラーのオーバーライド可能な環境変数 リンクのコピーリンクがクリップボードにコピーされました!
CertManager CR の spec.controllerConfig.overrideEnv フィールドで、cert-manager コントローラーのオーバーライド可能な環境変数を設定できます。
次の表は、cert-manager コントローラーのオーバーライド可能な環境変数について説明しています。
| 環境変数 | 説明 |
|---|---|
|
| 送信 HTTP 要求のプロキシーサーバー。 |
|
| 送信 HTTPS 要求のプロキシーサーバー。 |
|
| プロキシーをバイパスするホストのコンマ区切りリスト。 |
9.5.1.4. cert-manager コンポーネントのオーバーライド可能なリソースパラメーター リンクのコピーリンクがクリップボードにコピーされました!
CertManager CR の spec.controllerConfig、spec.webhookConfig、および spec.cainjectorConfig セクションで、cert-manager コンポーネントの CPU およびメモリー制限を設定できます。
次の表は、cert-manager コンポーネントのオーバーライド可能なリソースパラメーターについて説明しています。
| フィールド | 説明 |
|---|---|
|
| コンポーネント Pod が使用できる CPU の最大量を定義します。 |
|
| コンポーネント Pod が使用できるメモリーの最大量を定義します。 |
|
| コンポーネント Pod のスケジューラーによって要求される CPU の最小量を定義します。 |
|
| コンポーネント Pod のスケジューラーによって要求されるメモリーの最小量を定義します。 |
9.5.1.5. cert-manager コンポーネントのオーバーライド可能なスケジューリングパラメーター リンクのコピーリンクがクリップボードにコピーされました!
CertManager CR の spec.controllerConfig、spec.webhookConfig フィールド、および spec.cainjectorConfig セクションで、cert-manager コンポーネントの Pod スケジューリング制約を設定できます。
次の表は、cert-manager コンポーネントの Pod スケジューリングパラメーターについて説明しています。
| フィールド | 説明 |
|---|---|
|
| Pod を特定のノードに制限するためのキーと値のペア。 |
|
| taint されたノードで Pod をスケジュールするための toleration リスト。 |