approver-policy のインストール
インストール手順
1. cert-manager のインストール
cert-manager をインストールする必要があり、cert-manager のデフォルトの承認者を無効にする必要があります。
⚠️ デフォルトの承認者が cert-manager で無効になっていない場合、approver-policy は cert-manager と競合し、ポリシーは無効になります。
helm install
または helm upgrade
を使用して cert-manager をインストールする場合、インストール前にチャートをカスタマイズすることで、--set
または --values
コマンドラインフラグを使用して、デフォルトの承認者を無効にできます。
# ⚠️ This Helm option is only available in cert-manager v1.15.0 and later.# Example --set value--set disableAutoApproval=true
# ⚠️ This Helm option is only available in cert-manager v1.15.0 and later.# Example --values file contentdisableAutoApproval: true
以下は、自動承認なしで実行するようにインストールされた cert-manager を再構成する例です。
# ⚠️ This Helm option is only available in cert-manager v1.15.0 and later.existing_cert_manager_version=$(helm get metadata -n cert-manager cert-manager | grep '^VERSION' | awk '{ print $2 }')helm upgrade cert-manager jetstack/cert-manager \--reuse-values \--namespace cert-manager \--version $existing_cert_manager_version \--set disableAutoApproval=true
2. approver-policy のインストール
approver-policy をインストールするには
helm repo add jetstack https://charts.jetstack.io --force-updatehelm upgrade cert-manager-approver-policy jetstack/cert-manager-approver-policy \--install \--namespace cert-manager \--wait
外部イシューアで approver-policy を使用している場合、approver-policy がそれらを参照する CertificateRequest を承認および拒否する権限を持つように、署名者名を必ず含める必要があります。たとえば、内部イシューアタイプに加えて、google-cas-issuer および aws-privateca-issuer に approver-policy を使用する場合は、インストール時に次の値を設定します。
helm upgrade cert-manager-approver-policy jetstack/cert-manager-approver-policy \--install \--namespace cert-manager \--wait \--set app.approveSignerNames="{\issuers.cert-manager.io/*,clusterissuers.cert-manager.io/*,\googlecasclusterissuers.cas-issuer.jetstack.io/*,googlecasissuers.cas-issuer.jetstack.io/*,\awspcaclusterissuers.awspca.cert-manager.io/*,awspcaissuers.awspca.cert-manager.io/*\}"
アンインストール
Helm 経由でインストールされた approver-policy をアンインストールするには、以下を実行します。
$ helm uninstall cert-manager-approver-policy --namespace cert-managerThese resources were kept due to the resource policy:[CustomResourceDefinition] certificaterequestpolicies.policy.cert-manager.iorelease "cert-manager-approver-policy" uninstalled
出力に示されているように、CertificateRequestPolicy
の CustomResourceDefinition
は、Helm のアンインストールコマンドでは削除されません。これは、CustomResourceDefinition
を削除すると、すべての CertificateRequestPolicy
リソースも削除されるため、データ損失を防ぐためです。
☢️ これにより、クラスターからすべての
CertificateRequestPolicy
リソースが削除されます。$ kubectl delete crd certificaterequestpolicies.policy.cert-manager.io
⚠️
v0.13.0
より前の approver-policy バージョンでは、アンインストール時にCustomResourceDefinition
が保持されず、クラスターからすべてのCertificateRequestPolicy
リソースが削除されます。v0.13.0
より前のバージョンを使用している場合は、approver-policy をアンインストールする前に、CertificateRequestPolicy
リソースをバックアップしてください。または、アンインストールする前にv0.13.0
にアップグレードしてください。
使用方法
📖 approver-policy のドキュメントを参照してください。