环境信息:
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域名证书相关推荐

  1. Cert manager自动签发/更新证书

    Cert manager使用的是免费证书Let's Encrypt,并支持在证书过期时自动更新. 本文 Cert manager使用版本:v0.12.0 官方文档:https://cert-manag ...

  2. centos下申请阿里云泛域名证书并自动更新

    1.设置阿里云的key和secret export Ali_Key="换成你的 AccessKey ID" export Ali_Secret="换成你的 Access ...

  3. 阿里云SSL域名证书申请和宝塔配置

    一.输入域名www.aliyun.com,登录阿里云账号,进入控制台,点击"SSL证书(应用安全)",也可以在页面顶部搜索框中搜索"SSL证书" 二.在SSL证 ...

  4. 使用 Certbot 自动申请并续订阿里云 DNS 免费泛域名证书

    使用 Certbot 自动申请并续订阿里云 DNS 免费泛域名证书 首先安装 Python 3 yum install -y python39 创建并激活虚拟环境 mkdir -p /mnt/cert ...

  5. 自动创建阿里云抢占式实例

    旧博文,搬到 csdn 原文:http://rebootcat.com/2020/08/24/auto_run_aliyun_spot/ aliyun_spot 自动创建阿里云抢占式实例. 支持一下作 ...

  6. mysql rds 定时执行_如何使用脚本自动备份阿里云rds数据库

    vim .mysqldump.sh #脚本都放置到/d20141212/scripts下,创建.mysqldump.sh的文件目的是,这个文件里有数据库的连接信息,要隐藏掉.所以加了.. #!/bin ...

  7. python自动下载阿里云数据库数据_脚本自动下载阿里云每日备份数据库镜像

    脚本自动下载阿里云每日备份数据库镜像 背景 前端时间街道一个临时需求,要求根据每日的数据快照,统计计算出需要数据结果,并写入数据库,提供查询接口. 遇到两个自己没有尝试过的点: 阿里云导出的数据库是. ...

  8. 群晖自动将阿里云盘里面的内容下载到本地(全网独家)

    全网独家 更高效的群晖自动将阿里云盘里面的内容下载到本地 工具选取Clouddrive2+Webdav server+Cloudsync CloudDrive2设置 Webdav server设置 C ...

  9. 使用阿里云 dns sdk 解决电信公网ip自动变化问题;自己动手实现ddns

    首先说下情况,我的树莓派通过电信光猫dmz主机设置全端口映射得到了公网ip,ssh等连接都很迅速,ping值为60ms.上海电信200M宽带,上传25mbps.由于是动态公网ip,电信隔几天就换ip, ...

最新文章

  1. 全网独发gensim中similarities.Similarity用法
  2. HTML学习01之初识HTML
  3. 批量kill掉包含某个nginx的进程
  4. leetcode 42. 接雨水 思考分析(暴力、动态规划、双指针、单调栈)
  5. 计算机字符代码表,计算机ASCII码对照表
  6. Linux系统升级硬盘后HOME分区扩容操作流程
  7. 【路径规划】基于matlab自动化拣货最优路径【含Matlab源码 1713期】
  8. 电瓶车换电柜的静电浪涌设计考虑
  9. excel制作表格的详细步骤
  10. 【ZT】记住这些,或许可以救你一命!!【强力推荐帖!】
  11. photoshop保存哪种格式的图像最清晰
  12. 苹果CMS根据有无播放组输出不同的内容
  13. gazebo添加模型仿真
  14. 打印两个字符串的公共字符
  15. TSDF算法原理及源码解析
  16. 视频教程-项目2——在线无忧库存预警系统-Java
  17. 【远程访问与设备重定向】上海道宁为您助您远程共享USB设备与USB设备重定向到远程会话
  18. 2022年下半年软考答案+解析估分(网络工程师)
  19. java微信公众号开发四步完成
  20. 巨峰科技AI警戒一体机如何联动NVR实现微信报警推送?

热门文章

  1. java暗黑再临-战神之怒_《暗黑破坏神-黑暗再临》暴力+召唤:德鲁伊新人单通攻略...
  2. 三字经全文(此版本是读诵最多的)
  3. 【话费充值平台】话费充值平台接口设计
  4. 疫情之下裸辞后的一些感悟和面试心得
  5. 沈从文——一个战士不是战死沙场,便是回到故乡
  6. [SDOI2009]学校食堂Dining(洛谷2157)
  7. 连载:中国最早的一代官派留学生--留美幼童 (12)
  8. 作为一个码工,意外走入了一个充满PM的会议室
  9. Android设备获取mp3中的专辑封面信息
  10. Zimbra 8.7.11规则:只能发送内部邮件