Kubernetes集群(五)——Cert-manager与Let'sencrypt证书自动管理
1. Cert-manager安装
1.1. 安装自定义crd资源
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.0/cert-manager.crds.yaml
1.2. 使用helm安装cert-manager并新建一个命名空间
helm repo add jetstack https://charts.jetstack.io && helm repo update
helm install \
cert-manager jetstack/cert-manager \
--namespace cert-manager \
--create-namespace \
--version v1.11.0
1.3. 查看安装情况
kubectl get pod -n cert-manager
出现如下图所示及正式安装成功
2. 配置使用Let's encrypt进行申请公网证书
2.1. 创建ClusterIssuer
创建文件:vim ClusterIssuer.yaml
内容如下,注意email字段需要填写自己的邮箱,class字段要对应ingress的class,详见Kubernetes集群(四)
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
email: 【此处修改为你的邮箱】
privateKeySecretRef:
name: letsencrypt-prod
server: https://acme-v02.api.letsencrypt.org/directory
solvers:
- http01:
ingress:
class: nginx
应用文件:kubectl apply -f ClusterIssuer.yaml
后续申请的证书使用letsencrypt这个ClusterIssuer就可以获取公网证书,前提是拥有这个公网域名。