欢迎点击下方👇关注我,记得星标哟~
文末会有重磅福利赠送
https://dev.to/ileriayo/adding-free-ssltls-on-kubernetes-using-certmanager-and-letsencrypt-a1l
helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --set installCRDs=true
ubuntu@instance-k8s:~$ kubectl get pods --namespace cert-manager
NAME READY STATUS RESTARTS AGE
cert-manager-cainjector-7cc466564c-9f6fr 1/1 Running 0 3d
cert-manager-webhook-555b8fbdbc-w59bs 1/1 Running 0 3d
cert-manager-6585596d7f-4rlhb 1/1 Running 1 (1d ago) 3d
ubuntu-k8s:~/cert$ cat clusterissuer.yaml
apiVersion: cert-manager.io/v1
kind: ClusterIssuer # I'm using ClusterIssuer here
metadata:
name: letsencrypt-prod
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: jonathan.com
privateKeySecretRef:
name: letsencrypt-prod
solvers:
- http01:
ingress:
class: public
kubectl apply -f clusterissuer.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
name: http-ingress
namespace: default
spec:
ingressClassName: public
rules:
- host: chatgpt.sredevops.top
http:
paths:
- backend:
service:
name: chat
port:
number: 9000
path: /
pathType: Prefix
tls:
- hosts:
- chatgpt.sredevops.top
secretName: letsencrypt-prod
ubuntu@instance-k8s:~/k8s-deploy-app$ k describe certificate letsencrypt-prod
Name: letsencrypt-prod
Namespace: default
API Version: cert-manager.io/v1
Kind: Certificate
Spec:
Dns Names:
chatgpt.sredevops.top
Issuer Ref:
Group: cert-manager.io
Kind: ClusterIssuer
Name: letsencrypt-prod
Secret Name: letsencrypt-prod
Usages:
digital signature
key encipherment
Status:
Conditions:
Last Transition Time: 2024-11-13T15:06:51Z
Message: Certificate is up to date and has not expired
Observed Generation: 1
Reason: Ready
Status: True
Type: Ready
Not After: 2025-02-11T14:08:17Z
Not Before: 2024-11-13T14:08:18Z
Renewal Time: 2025-01-12T14:08:17Z
Revision: 1
Events: <none>
更多云架构、K8S学习资料以及SRE学习手册,加入星球免费领取哦!
感兴趣的朋友们可以加我微信:sre_k8s,备注:云原生交流