10.5. CertManager カスタムリソースを使用して cert-manager Operator をカスタマイズする
cert-manager Operator for Red Hat OpenShift は、インストール後にクラスターの要件に合わせてカスタマイズできます。
-
cert-manager コントローラー、CA インジェクター、Webhook などの cert-manager コンポーネントの動作を変更するには、CertManager カスタムリソース (CR) を設定します。 - コントローラー Pod の環境変数を設定します。
- CPU とメモリーの使用量を管理するために、リソース要求と制限を定義します。
- クラスター内で Pod が実行される場所を制御するためのスケジューリングルールを設定します。
-
クラスター全体の TLS セキュリティープロファイルを cert-manager コンポーネントに適用するには、クラスター
APIServerカスタムリソース (CR) を設定します。
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 の使用はサポートされていません。
10.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 を設定できます。
10.5.1.1. cert-manager コンポーネントの CertManager CR における共通の設定可能フィールド リンクのコピーリンクがクリップボードにコピーされました!
CertManager CR の spec.controllerConfig、spec.webhookConfig、および spec.cainjectorConfig セクションで共通フィールドを設定して、cert-manager コンポーネントをカスタマイズできます。
| フィールド | 型 | 説明 |
|---|---|---|
|
|
| cert-manager コンポーネントでサポートされている引数をオーバーライドできます。 |
|
|
| cert-manager コントローラーでサポートされている環境変数をオーバーライドできます。このフィールドは、cert-manager コントローラーコンポーネントでのみサポートされます。 |
|
|
|
cert-manager コンポーネントのレプリカ数を設定できます。デフォルト値は
|
|
|
| cert-manager コンポーネントの CPU およびメモリーの制限を設定できます。 |
|
|
| cert-manager コンポーネントの Pod スケジューリング制約を設定できます。 |
10.5.1.2. cert-manager コンポーネントのオーバーライド可能な引数 リンクのコピーリンクがクリップボードにコピーされました!
CertManager CR の spec.controllerConfig、spec.webhookConfig、および spec.cainjectorConfig セクションで、cert-manager コンポーネントのオーバーライド可能な引数を設定して、cert-manager controller、webhook、および cainjector コンポーネントをカスタマイズできます。
次の表は、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 |
証明書リクエストの最小バックオフ期間を指定します。デフォルト値は |
|
| Controller |
各コントローラーの同時実行ワーカー数。デフォルト値は |
|
| Controller |
Kubernetes API サーバーに送信される 1 秒あたりの最大クエリー数。デフォルト値は |
|
| Controller |
Kubernetes API サーバーに送信される 1 秒あたりのクエリーの最大バースト数。 |
|
| Controller |
同時に実行できる ACME チャレンジの最大数。デフォルト値は |
|
| コントローラー、Webhook、CA インジェクター | ログメッセージの冗長性を決定するために、ログレベルの詳細度を指定します。 |
10.5.1.3. cert-manager コントローラーのオーバーライド可能な環境変数 リンクのコピーリンクがクリップボードにコピーされました!
CertManager CR の spec.controllerConfig.overrideEnv フィールドで、cert-manager コントローラーのオーバーライド可能な環境変数を設定して、cert-manager コントローラーのプロキシー設定を制御できます。
次の表は、cert-manager コントローラーのオーバーライド可能な環境変数について説明しています。
| 環境変数 | 説明 |
|---|---|
|
| 送信 HTTP 要求のプロキシーサーバー。 |
|
| 送信 HTTPS 要求のプロキシーサーバー。 |
|
| プロキシーをバイパスするホストのコンマ区切りリスト。 |
10.5.1.4. cert-manager コンポーネントのオーバーライド可能なリソースパラメーター リンクのコピーリンクがクリップボードにコピーされました!
CertManager CR 内の cert-manager コンポーネントの CPU およびメモリー要求と制限を設定して、コントローラー、Webhook、および cainjector Pod のリソース消費を制御できます。
次の表は、cert-manager コンポーネントのオーバーライド可能なリソースパラメーターについて説明しています。
| フィールド | 説明 |
|---|---|
|
| コンポーネント Pod が使用できる CPU の最大量を定義します。 |
|
| コンポーネント Pod が使用できるメモリーの最大量を定義します。 |
|
| コンポーネント Pod のスケジューラーによって要求される CPU の最小量を定義します。 |
|
| コンポーネント Pod のスケジューラーによって要求されるメモリーの最小量を定義します。 |
10.5.1.5. cert-manager コンポーネントのオーバーライド可能なスケジューリングパラメーター リンクのコピーリンクがクリップボードにコピーされました!
リソース使用量を最適化したり、特定のワークロードを分離したりするために、cert-manager コンポーネントの Pod 配置を制御できます。
CertManager カスタムリソース (CR) の spec.controllerConfig、spec.webhookConfig、および spec.cainjectorConfig セクションを変更することで、ノードセレクターと toleration を簡単に設定できます。
次の表は、cert-manager コンポーネントの Pod スケジューリングパラメーターについて説明しています。
| フィールド | 説明 |
|---|---|
|
| Pod を特定のノードに制限するためのキーと値のペア。 |
|
| taint されたノードで Pod をスケジュールするための toleration リスト。 |