K8S使用cert-manager申请cloudflare证书
3、创建cloudflare-api-token-secret。4、创建cluster-issuer.yaml。8、如果状态Ready不是True需要查看原因。2、使用helm安装cert-manager。注意给api编辑DNS的权限。5、创建cert.yaml。7、查看证书申请状态。
·
1、前期准备
- cloudflare上有可用域名
- cloudflare的apitoken
- 已经搭建好的k8s,或者云服务上的k8s
- helm(获取cert-manager使用)
2、获取域名
- 在cloudflare上获取apitoken,路径 My Profile --> API Tokens --->Create Token
-
注意给api编辑DNS的权限
2、使用helm安装cert-manager
kubectl create ns cert-manager
helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v1.12.3 --set installCRDs=true
#注意版本自己选择
3、创建cloudflare-api-token-secret
kubectl create secret generic cloudflare-api-token-secret --from-literal=api-token=xxxxxxxxxxxxxx -n cert-manager
#把xxxxxxxxxxxxxx 替换为你的cloudflare上的token
4、创建cluster-issuer.yaml
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt
namespace: xxxx
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: xxxxxxxx@qq.com
privateKeySecretRef:
name: letsencrypt
solvers:
- dns01:
cloudflare:
email: xxxxxxxx@qq.com
apiTokenSecretRef:
name: cloudflare-api-token-secret
key: api-token
5、创建cert.yaml
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: domin.com
namespace: xxxx
spec:
secretName: xxxx-ink-tls
issuerRef:
name: letsencrypt
kind: ClusterIssuer
dnsNames:
- domin.com
# 替换 name,namespace,xxxx,dnsNames里面的domin
6、开始申请证书
kubectl apply -f cluster-issuer.yaml
kubectl apply -f cert.yaml
7、查看证书申请状态
kubectl get certificate -n namespace
8、如果状态Ready不是True需要查看原因
kubectl get challenge -n namespace
kubectl describe challenge challenge-xxxxxx -n namespace
更多推荐
已为社区贡献2条内容
所有评论(0)