#!/bin/bash
#运行环境,1、ubuntu18.0以上,2、已经安装snap;3、已安装kubectl
certbot=`certbot --help`
if test $? -eq 0
then
echo "已安装certbot,为test.com获取Let'sencrypt证书"
else
echo "未安装certbot,开始安装certbot"
sudo snap install --classic certbot
if test $? -ne 0
then
echo "安装certbot失败"
exit 1
else
sudo ln -s /snap/bin/certbot /usr/bin/certbot
fi
fi
echo "DNS插件:certbot-dns-cloudflare"
snap set certbot trust-plugin-with-root=ok
snap install certbot-dns-cloudflare
api_token="fQfZchmS3E_Ldx5Yox1LSIa9Ur-pEP3g7B5YLeJ-"
cat > ./cloudflare.ini << EOF
dns_cloudflare_api_token=${api_token}
EOF
if test -e /etc/letsencrypt/live/test.com/fullchain.pem
then
echo "更新证书"
certbot renew
else
echo "安装证书"
certbot certonly \
--dns-cloudflare \
--dns-cloudflare-credentials ./cloudflare.ini \
-d tpmission.com
fi
echo "保存证书到k8s保密字典"
kubectl delete secret test-tls-secret
kubectl create secret tls test-tls-secret \
--cert=/etc/letsencrypt/live/test.com/fullchain.pem \
--key=/etc/letsencrypt/live/test.com/privkey.pem
if test $? -eq 0
then
echo "证书更新成功"
exit 0
else
echo "证书更新失败"
exit 1
fi
shell脚本自动更新ca证书
最新推荐文章于 2023-04-18 20:15:15 发布