内容提要
本文介绍了如何使用Cloudflare DNS自动申请SSL证书并配置到Ingress。通过Helm安装cert-manager,并配置Cloudflare密钥实现自动认证。示例中定义了ClusterIssuer和Deployment,展示了如何设置Ingress以支持HTTPS访问。
关键要点
- 使用 Helm 安装 cert-manager,命令包括添加 Jetstack 仓库和安装 cert-manager。
- 配置 Cloudflare 密钥以实现自动认证,创建 Secret 资源以存储 API 令牌。
- 定义 ClusterIssuer,配置证书目录和使用的 ACME 服务器。
- 示例中展示了如何定义 Deployment 和 Service,设置应用程序的基本信息。
- 配置 Ingress 以支持 HTTPS 访问,指定 cert-manager 的 ClusterIssuer 和 TLS 配置。
延伸问答
如何使用 Helm 安装 cert-manager?
使用命令:helm repo add jetstack https://charts.jetstack.io --force-update,接着执行 helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --version v1.16.1 --set crds.enabled=true。
如何配置 Cloudflare 密钥以实现自动认证?
创建一个 Secret 资源,包含 API 令牌,示例配置为:apiVersion: v1 kind: Secret metadata: name: cloudflare-api-token-secret namespace: cert-manager type: Opaque stringData: api-token: xxxxxxxxxx。
ClusterIssuer 的定义需要哪些关键字段?
ClusterIssuer 定义需要包括 email、server、privateKeySecretRef 和 solvers 字段,solvers 中需指定 dns01 和 cloudflare 的 apiTokenSecretRef。
如何设置 Ingress 以支持 HTTPS 访问?
在 Ingress 配置中,添加 annotations: cert-manager.io/cluster-issuer: issuer01,并指定 tls 配置,包含 hosts 和 secretName。
示例程序中 Deployment 的基本信息是什么?
示例程序中 Deployment 名称为 whoami-deploy,包含一个副本,使用 traefik/whoami:v1.10 镜像,监听 80 端口。
使用 cert-manager 申请 SSL 证书的主要步骤是什么?
主要步骤包括安装 cert-manager、配置 Cloudflare 密钥、定义 ClusterIssuer、创建 Deployment 和 Service,以及配置 Ingress。