Kubernetes集群(五)——Cert-manager与Let'sencrypt证书自动管理

发布时间 2023-03-28 14:57:13作者: amazingWu

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就可以获取公网证书,前提是拥有这个公网域名。