💡
原文英文,约600词,阅读约需2分钟。
📝
内容提要
K3s默认使用Traefik作为Ingress控制器,支持通过ACME协议自动生成TLS证书。需确保Traefik已安装并正确配置,DNS指向K3s集群外部IP,并创建Ingress资源以启用HTTPS访问。
🎯
关键要点
- K3s默认使用Traefik作为Ingress控制器,支持通过ACME协议自动生成TLS证书。
- 确保Traefik已安装并正确配置,使用命令kubectl get pods -n kube-system -l app.kubernetes.io/name=traefik进行验证。
- 创建Traefik配置覆盖文件,指定Let's Encrypt的电子邮件和存储路径。
- 检查Traefik是否重启并应用新设置,使用kubectl logs命令查看ACME活动日志。
- 创建Ingress资源以启用TLS,确保域名和服务名称正确。
- 确保DNS指向K3s集群的外部IP,使用Cloudflare DNS或其他域名注册商。
- 应用Ingress配置,使用kubectl apply命令,并检查证书是否已成功颁发。
- 通过HTTPS访问应用,确保看到有效的SSL证书。
❓
延伸问答
如何检查Traefik是否已安装在K3s中?
使用命令kubectl get pods -n kube-system -l app.kubernetes.io/name=traefik进行验证。
如何为Traefik创建配置覆盖文件?
在控制平面节点创建文件/var/lib/rancher/k3s/server/manifests/traefik-config.yaml,并添加相应的配置。
如何创建Ingress资源以启用TLS?
编写Ingress资源的YAML文件,指定域名和服务名称,并确保包含TLS相关的注释。
如何确保DNS指向K3s集群的外部IP?
确保域名(如minio.example.com)指向K3s集群的外部IP,可以使用Cloudflare DNS等服务。
如何验证Let’s Encrypt证书是否成功颁发?
使用命令kubectl describe ingress minio-ingress -n minio检查TLS部分,查看是否有Let’s Encrypt的证书。
如果证书未生成,我该如何排查问题?
检查端口80是否开放且可访问,确保DNS配置正确。
➡️