新着: プロジェクトの最新情報をTwitterMastodonで入手してください

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 content
disableAutoApproval: 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-update
helm 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-manager
These resources were kept due to the resource policy:
[CustomResourceDefinition] certificaterequestpolicies.policy.cert-manager.io
release "cert-manager-approver-policy" uninstalled

出力に示されているように、CertificateRequestPolicyCustomResourceDefinition は、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 のドキュメントを参照してください。