在内网 Kubernetes 集群上使用 Helm 安装 Rancher 并支持域名访问
前言
本指南将帮助您在 192.168.31.222 的内网服务器上,使用 Helm 安装 Rancher,并通过域名 rancher.damingerdaiinternal.com 访问。
1. 前提条件
✅ 已部署 Kubernetes 集群(单节点或多节点均可)
✅ 已安装 kubectl 和 Helm 3
✅ 已配置 DNS 或 Hosts 解析(确保 rancher.damingerdaiinternal.com 指向 192.168.31.222)
✅ 服务器开放 80 和 443 端口
2. 安装 cert-manager(用于证书管理)
Rancher 依赖 cert-manager 管理 TLS 证书。
2.1 安装 cert-manager CRD
1 | kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.0/cert-manager.crds.yaml |
2.2 添加 Helm 仓库并安装 cert-manager
1 | helm repo add jetstack https://charts.jetstack.io |
2.3 验证 cert-manager 是否运行
1 | kubectl -n cert-manager get pods |
3. 生成自签名证书(适用于内网)
由于是内网环境,我们使用自签名证书。
3.1 生成 CA 根证书
1 | openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \ |
3.2 生成服务器证书
1 | openssl req -newkey rsa:4096 -sha256 -nodes \ |
3.3 使用 CA 签名服务器证书
1 | openssl x509 -req -sha256 -days 3650 \ |
4. 安装 Rancher
4.1 创建命名空间
1 | kubectl create namespace cattle-system |
4.2 创建 Kubernetes Secret 存储证书
1 | kubectl -n cattle-system create secret tls tls-rancher-ingress \ |
4.3 添加 Rancher Helm 仓库
1 | helm repo add rancher-stable https://releases.rancher.com/server-charts/stable |
4.4 使用 Helm 安装 Rancher
1 | helm install rancher rancher-stable/rancher \ |
输出:
1 | NAME: rancher |
5. 配置 DNS / Hosts 解析
5.1 方案 A:内网 DNS 服务器
在 DNS 服务器(如 Bind、Windows DNS)中添加:
1 | rancher.damingerdaiinternal.com. IN A 192.168.31.222 |
5.2 方案 B:客户端 Hosts 文件
在需要访问的电脑上修改 /etc/hosts(Linux/macOS)或 C:\Windows\System32\drivers\etc\hosts(Windows):
1 | 192.168.31.222 rancher.damingerdaiinternal.com |
6. 验证安装
6.1 检查 Rancher Pod 状态
1 | kubectl -n cattle-system get pods -l app=rancher |
6.2 查看 Ingress 配置
1 | kubectl -n cattle-system get ingress |
6.3 访问 Rancher UI
在浏览器打开:
https://rancher.damingerdaiinternal.com
• 首次登录:用户名 admin,密码 admin
• 证书警告:由于是自签名证书,浏览器会提示不安全,手动信任即可
7. 卸载 Rancher
1 | helm uninstall rancher -n cattle-system |
8. 常见问题
Q1: 访问时提示 “证书不受信任”
✅ 解决方案:
• Windows:双击 ca.crt 并安装到 “受信任的根证书颁发机构”
• Linux/macOS:
sudo cp ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
Q2: Rancher Pod 无法启动
✅ 检查日志:
kubectl -n cattle-system logs -f deployment/rancher
✅ 检查资源是否足够(Rancher 至少需要 2GB 内存):
kubectl describe nodes
Q3: 外网无法访问
✅ 检查防火墙:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
✅ 如果是云服务器,检查安全组规则
总结
✅ 已完成:
• 使用 Helm 安装 Rancher
• 配置自签名证书
• 支持域名 rancher.damingerdaiinternal.com 访问
• 验证 HTTPS 安全性
现在,您可以通过 https://rancher.damingerdaiinternal.com 访问 Rancher 管理 Kubernetes 集群! 🎉