持续部署
了解如何使用 Flux 和 Argo CD 等工具自动安装 cert-manager。
介绍
您可以直接使用 cert-manager Helm 图表 与 Flux、ArgoCD 和 Anthos 等工具,也可以使用 helm template 输出 YAML 生成自定义的 cert-manager 安装清单,这些清单可以管道输送到您首选的部署工具。
此页面包含有关如何使用这些工具中的某些工具安装 cert-manager 的说明。
📢 请帮助我们改进此页面,通过贡献有关使用 cert-manager 与常见的 GitOps 和持续部署工具的说明或简短教程。
使用 Flux Helm 控制器
cert-manager Helm 图表可以通过 Flux Helm 控制器 安装。
首先创建一个 HelmRepository
资源,配置 cert-manager Helm 存储库的 URL。然后创建一个 HelmRelease
资源,配置您想要的 cert-manager 图表值和版本。
以下是一个示例,它安装 cert-manager 1.12 版本的最新补丁版本,然后升级到 1.13 版本的最新补丁版本。
⚠️ 这是一个简单的示例,可能不适合生产环境使用。您还应参考 官方 Flux 示例仓库,其中 cert-manager 现在已完全集成。它展示了如何在 cert-manager CRD 和控制器安装后,按正确顺序部署 ClusterIssuer 资源。
先决条件
您需要 flux
CLI 和一个已安装 Flux 的 Kubernetes 集群。
以下是如何在 Kind 集群上快速安装 Flux 的方法
kind create clusterflux check --preflux installflux check
创建一个 HelmRepository
资源
flux create source helm cert-manager --url https://charts.jetstack.io
创建一个 HelmRelease
资源
将您的 Helm 图表值放入 values.yaml
文件中。使用 crds.enabled
值,以便 Flux 可以安装和升级 CRD 资源。
# values.yamlcrds:enabled: true
flux create helmrelease cert-manager \--chart cert-manager \--source HelmRepository/cert-manager.flux-system \--release-name cert-manager \--target-namespace cert-manager \--create-target-namespace \--values values.yaml \--chart-version 1.12.x
更新和升级
当您想要升级到 cert-manager 1.13 版本时,您只需更新图表版本中的部分语义版本即可
flux create helmrelease cert-manager \--chart cert-manager \--source HelmRepository/cert-manager.flux-system \--release-name cert-manager \--target-namespace cert-manager \--create-target-namespace \--values values.yaml \--chart-version 1.13.x
故障排除
检查 Flux 事件和日志以获取警告和错误
flux eventsflux logs
使用 cmctl
检查 cert-manager webhook 或 CRD 是否存在问题
cmctl check apicmctl version -o yaml
检查 cert-manager 日志以获取警告和错误
kubectl logs -n cert-manager -l app.kubernetes.io/instance=cert-manager --prefix --all-containers