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域名证书相关推荐
- Cert manager自动签发/更新证书
Cert manager使用的是免费证书Let's Encrypt,并支持在证书过期时自动更新. 本文 Cert manager使用版本:v0.12.0 官方文档:https://cert-manag ...
- centos下申请阿里云泛域名证书并自动更新
1.设置阿里云的key和secret export Ali_Key="换成你的 AccessKey ID" export Ali_Secret="换成你的 Access ...
- 阿里云SSL域名证书申请和宝塔配置
一.输入域名www.aliyun.com,登录阿里云账号,进入控制台,点击"SSL证书(应用安全)",也可以在页面顶部搜索框中搜索"SSL证书" 二.在SSL证 ...
- 使用 Certbot 自动申请并续订阿里云 DNS 免费泛域名证书
使用 Certbot 自动申请并续订阿里云 DNS 免费泛域名证书 首先安装 Python 3 yum install -y python39 创建并激活虚拟环境 mkdir -p /mnt/cert ...
- 自动创建阿里云抢占式实例
旧博文,搬到 csdn 原文:http://rebootcat.com/2020/08/24/auto_run_aliyun_spot/ aliyun_spot 自动创建阿里云抢占式实例. 支持一下作 ...
- mysql rds 定时执行_如何使用脚本自动备份阿里云rds数据库
vim .mysqldump.sh #脚本都放置到/d20141212/scripts下,创建.mysqldump.sh的文件目的是,这个文件里有数据库的连接信息,要隐藏掉.所以加了.. #!/bin ...
- python自动下载阿里云数据库数据_脚本自动下载阿里云每日备份数据库镜像
脚本自动下载阿里云每日备份数据库镜像 背景 前端时间街道一个临时需求,要求根据每日的数据快照,统计计算出需要数据结果,并写入数据库,提供查询接口. 遇到两个自己没有尝试过的点: 阿里云导出的数据库是. ...
- 群晖自动将阿里云盘里面的内容下载到本地(全网独家)
全网独家 更高效的群晖自动将阿里云盘里面的内容下载到本地 工具选取Clouddrive2+Webdav server+Cloudsync CloudDrive2设置 Webdav server设置 C ...
- 使用阿里云 dns sdk 解决电信公网ip自动变化问题;自己动手实现ddns
首先说下情况,我的树莓派通过电信光猫dmz主机设置全端口映射得到了公网ip,ssh等连接都很迅速,ping值为60ms.上海电信200M宽带,上传25mbps.由于是动态公网ip,电信隔几天就换ip, ...
最新文章
- 全网独发gensim中similarities.Similarity用法
- HTML学习01之初识HTML
- 批量kill掉包含某个nginx的进程
- leetcode 42. 接雨水 思考分析(暴力、动态规划、双指针、单调栈)
- 计算机字符代码表,计算机ASCII码对照表
- Linux系统升级硬盘后HOME分区扩容操作流程
- 【路径规划】基于matlab自动化拣货最优路径【含Matlab源码 1713期】
- 电瓶车换电柜的静电浪涌设计考虑
- excel制作表格的详细步骤
- 【ZT】记住这些,或许可以救你一命!!【强力推荐帖!】
- photoshop保存哪种格式的图像最清晰
- 苹果CMS根据有无播放组输出不同的内容
- gazebo添加模型仿真
- 打印两个字符串的公共字符
- TSDF算法原理及源码解析
- 视频教程-项目2——在线无忧库存预警系统-Java
- 【远程访问与设备重定向】上海道宁为您助您远程共享USB设备与USB设备重定向到远程会话
- 2022年下半年软考答案+解析估分(网络工程师)
- java微信公众号开发四步完成
- 巨峰科技AI警戒一体机如何联动NVR实现微信报警推送?
热门文章
- java暗黑再临-战神之怒_《暗黑破坏神-黑暗再临》暴力+召唤:德鲁伊新人单通攻略...
- 三字经全文(此版本是读诵最多的)
- 【话费充值平台】话费充值平台接口设计
- 疫情之下裸辞后的一些感悟和面试心得
- 沈从文——一个战士不是战死沙场,便是回到故乡
- [SDOI2009]学校食堂Dining(洛谷2157)
- 连载:中国最早的一代官派留学生--留美幼童 (12)
- 作为一个码工,意外走入了一个充满PM的会议室
- Android设备获取mp3中的专辑封面信息
- Zimbra 8.7.11规则:只能发送内部邮件