k8s中cert-manager管理https证书

前言

目前https是刚需,但证书又很贵,虽然阿里云有免费的,但没有泛域名证书,每有一个子域名就要申请一个证书,有效期1年,1年一到全都的更换,太麻烦了。经过搜索,发现了自动更新证书神器cert-manager;当然cert-manager是基于k8s的。

安装采用Helm方式

Chart地址: https://artifacthub.io/packages/helm/cert-manager/cert-manager
Github地址: https://github.com/cert-manager/cert-manager

版本要求:

k8s > 1.20

一、安装cert-manager(1.13.3)

  1. 安装自定义资源
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.13.3/cert-manager.crds.yaml
  1. helm安装cert-manager
## Add the Jetstack Helm repository
helm repo add jetstack https://charts.jetstack.io

helm repo update

kubectl create ns cert-manager
## Install the cert-manager helm chart
$ helm install cert-manager --namespace cert-manager --version v1.13.3 jetstack/cert-manager
  1. 查看安装结果
helm ls -n cert-manager
kubectl get pod -n cert-manager

在这里插入图片描述

二、创建ClusterIssuer

官方说明创建ClusterIssuer
这里使用Nginx Ingress的配置方式,需要k8s中安装Nginx Ingress;并且域名指向正确

ClusterIssuer故名思意就是证书颁发者,主要用来配置证书颁发机构(这里配置的是免费证书颁发机构Let’s Encrypt)以及验证方式(这里配置的验证方式是http)

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod-http
  namespace: cert-manager
spec:

你可能感兴趣的:(工具&运维,云原生+k8s+docker,cert-manager,k8s自动管理https,https,免费https)