使用 acme.sh 为 kubernetes内应用域名自动更新证书

安装acme.sh

curl https://gitcode.net/cert/cn-acme.sh/-/raw/master/install.sh?inline=false | sh -s example@example.com

后crontab里有如下

3 0 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

对域名授权

https://freessl.cn/acme-deploy

域名配置

授权成功后获取到配置指令行如

acme.sh --issue -d *.chenjie.info -d chenjie.info --dns dns_dp --server https://acme.freessl.cn/v2/DV90/directory/xxxxxx  

部署到k8s 不同ns下的secret

mkdir /root/chenjie.info.ca
acme.sh --install-cert -d *.chenjie.info --key-file       /root/chenjie.info.ca/key.pem  --fullchain-file /root/chenjie.info.ca/cert.pem  --reloadcmd     "/root/acme-update-k8s-chenjie.info.sh"

acme-update-k8s-chenjie.info.sh

kubectl delete secret chenjie-ssl -n wordpress
kubectl create secret tls chenjie-ssl -n wordpress  --cert=/root/chenjie.info.ca/cert.pem  --key=/root/chenjie.info.ca/key.pem

证书进入到30天有效期,acme.sh 会自动完成续期

参考

  1. https://blog.freessl.cn/acme-quick-start/

  2. https://freessl.cn/acme-deploy

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据