最近,我尝试在一台裸机服务器上使用microk8s和默认的ingress控制器设置letsencrypt。
我在网上找到了一些非常有用的指南,但似乎最近对microk8s的更新改变了入口控制器的配置方式。
为了保存你们的时间,我把我做的都写出来了。
这里有一些有用的资源,如果你卡住或获得更好的理解。
https://cert-manager.io/docs/installation/kubernetes/
https://cert-manager.io/docs/tutorials/acme/ingress/的
此链接对于故障排除非常有用
https://cert-manager.io/docs/faq/acme/
2条答案
按热度按时间enxuqcxy1#
本指南是使用Microk 8 s和默认Ingress控制器设置Kubernetes的Letsencrypt。
使用的版本:
**前提条件:**将80和443端口转发到您的服务器,设置指向您服务器的域名。
安装microk 8 s
字符串
启用DNS和入口
型
我们将使用nginx webserver镜像创建一个测试webserver部署/服务来测试web流量
型
应用配置文件
型
现在要配置默认入口以服务于测试Web服务器
型
应用入口路由
型
当您访问 * yourdomain.com * 时,您应该会看到默认的“欢迎来到nginx!”启动画面。
现在安装cert-manager https://cert-manager.io/docs/installation/kubernetes/
型
下一个命令应该显示3个pod,以确认cert-manager已安装并正在运行
型
现在创建证书颁发者配置。需要注意的一个细节是,在此配置中使用的类是 public 而不是 nginx。这可能是microk 8 s特定的。https://cert-manager.io/docs/tutorials/acme/ingress/
型
型
应用两个发行者的身份证
型
现在更新 ingress-routes.yaml 以使用暂存证书。
型
应用此更新
型
运行下一个命令以确认Ready=True
型
如果返回true,则意味着HTTP-01挑战成功。
型
现在更改 ingress-routes.yaml 以使用生产证书。
型
应用此更新
型
现在是关键时刻。运行下一个命令以确认证书已生成。Ready=True
型
运行下一个命令并查看最终输出以验证证书是否已颁发。
型
现在如果你访问你的域名。你应该看到成功的小锁!:-)
ni65a41a2#
更新2021年12月:我必须更新
ingress-routes.yaml
才能让它工作:字符串