日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

k8s1.23 使用cert-manager自动签发阿里云DNS域名证书

發布時間:2023/12/8 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 k8s1.23 使用cert-manager自动签发阿里云DNS域名证书 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

環境信息:
k8s:1.23.1
helm:3.8.1
已備案域名:chandz.com

一、基礎環境配置

0、鏡像列表

quay.io/jetstack/cert-manager-cainjector:v1.7.2 quay.io/jetstack/cert-manager-controller:v1.7.2 quay.io/jetstack/cert-manager-webhook:v1.7.2 pragkent/alidns-webhook:0.1.1

1、安裝cert-manager

yaml安裝: kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.7.2/cert-manager.yamlhelm 安裝 helm repo add jetstack https://charts.jetstack.io helm search repo cert-manager kubectl create namespace cert-managerhelm install cert-manager jetstack/cert-manager --namespace cert-manager --version v1.7.2 --set installCRDs=true

2、獲取阿里云ak/sk(權限為AliyunDNSFullAccess,也可以使用自定義權限,具體可參考阿里云官方文檔)


3、創建一個有阿里dns修改權限ak/sk的secert

kubectl apply -f alidns-secret.yaml #alidns-secret.yaml apiVersion: v1 kind: Secret metadata:name: alidns-secretnamespace: cert-manager stringData:access-key: YOUR_ACCESS_KEY #阿里云dns權限aksecret-key: YOUR_SECRET_KEY #阿里云dns權限sk

4、安裝alidns的webhook

wget https://raw.githubusercontent.com/pragkent/alidns-webhook/master/deploy/bundle.yaml修改文件中的acme.yourcompany.com為自己的域名 sed -i s/'acme.yourcompany.com'/'acme.chandz.com'/g bundle.yaml

5、創建clusterIssuer

kubectl apply -f clusterissuer.yaml kubectl get clusterissuers.cert-manager.io #clusterissuer.yaml apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata:name: letsencrypt spec:acme:# Change to your letsencrypt emailemail: duanshuaixing@gmail.com #申請者郵箱地址server: https://acme-v02.api.letsencrypt.org/directoryprivateKeySecretRef:name: letsencrypt-account-keysolvers:- dns01:webhook:groupName: acme.chandz.com #須和bundle.yaml文件中定義的groupname 一致solverName: alidnsconfig:region: ""accessKeySecretRef:name: alidns-secretkey: access-keysecretKeySecretRef:name: alidns-secretkey: secret-key

6、創建certificate

#創建certificate kubectl apply -f certificate.yaml#查看 certificate kubectl get certificate #剛創建certificate ready狀態為false,會自動在dns解析創建txt記錄去簽發證書ready字段會變為true#查看證書 kubectl get secrets chandz-com-tls -o json |jq --raw-output '.data["tls.crt"]'|base64 -d #certificate.yaml apiVersion: cert-manager.io/v1 kind: Certificate metadata:name: chandz-com-tls spec:secretName: chandz-com-tlsdnsNames: #dnsNames 指示該證書的可以用于哪些域名- chandz.com- "*.chandz.com"issuerRef:name: letsencryptkind: ClusterIssuer

二、使用證書

kubectl apply -f nginx.yaml #nginx.yaml --- apiVersion: apps/v1 kind: Deployment metadata:labels:app: nginxname: nginx spec:replicas: 1selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- image: nginx:latestname: nginximagePullPolicy: IfNotPresent --- apiVersion: v1 kind: Service metadata:name: nginx-httpsnamespace: default spec:ports:- port: 80protocol: TCPtargetPort: 80selector:app: nginx --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata:name: tls-ingress spec:ingressClassName: nginxrules:- host: "tls-test.chandz.com"http:paths:- pathType: ImplementationSpecificpath:backend:service:name: nginx-httpsport:number: 80tls:- hosts:- tls-test.chandz.comsecretName: chandz-com-tls


三、代碼地址

https://github.com/duanshuaixing/tools/tree/master/cert-mamager

總結

以上是生活随笔為你收集整理的k8s1.23 使用cert-manager自动签发阿里云DNS域名证书的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。