内容提要
本文介绍了如何在 k3s 集群中自动签发和续签 SSL 证书,并通过 HTTPS 协议暴露服务。首先安装 cert-manager 插件,然后通过示例配置文件部署 Web 服务,最后配置 ingress 实现 HTTPS 访问。使用 cert-manager 后,证书的认证、部署和续签将自动完成,确保服务安全。
关键要点
- k3s 集群需要对外暴露服务,使用 HTTPS 协议进行加密传输。
- 安装 cert-manager 插件,创建命名空间并应用配置文件。
- 配置 Issuing Certificates,使用 letsencrypt.yml 文件进行证书签发。
- 部署 Web 服务,创建命名空间并编写 deployment 配置文件。
- 创建 service 资源,为 ingress 做准备。
- 部署 ingress,配置流量路由到对应的 service,并使用 cert-manager 自动管理证书。
- 证书状态显示正常,服务可以通过 HTTPS 访问。
延伸问答
如何在 k3s 集群中安装 cert-manager 插件?
可以通过创建命名空间并应用 cert-manager 的配置文件来安装 cert-manager 插件,使用命令:$ kubectl create namespace cert-manager 和 $ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/cert-manager.yaml。
什么是 Issuing Certificates,它的作用是什么?
Issuing Certificates 是用于认证服务归属者的配置,通常用于自动签发 SSL 证书,确保服务的安全性。
如何配置 ingress 以实现 HTTPS 访问?
需要创建 ingress 资源,指定 cert-manager 的 cluster-issuer,并配置流量路由到对应的 service,示例配置包括 tls 和规则设置。
使用 cert-manager 后,SSL 证书的管理有什么优势?
使用 cert-manager 后,SSL 证书的认证、部署和续签将自动完成,减少了手动管理的复杂性,提高了服务的安全性。
如何检查证书的状态以确保其正常?
可以使用命令 $ kubectl -n logos describe certificate 来查看证书的状态,确保其显示为 Ready,并且未过期。
在 k3s 中部署 Web 服务的基本步骤是什么?
基本步骤包括创建命名空间、编写 deployment 配置文件、部署服务资源,并最终配置 ingress 以实现 HTTPS 访问。