在 minikube 上安装 rancher
安装 rancher 的官方文档
先决条件
在开始安装 Rancher 之前,需要确保满足以下先决条件:
- Kubernetes 集群(本文使用 minikube)
- Ingress Controller(minikube 中已内置,但需要手动启用)
- Helm CLI 工具
安装 minikube
如果还没有安装 minikube,请参考该文章进行安装。在 macOS 上使用 Homebrew 安装非常方便。
开启 ingress controller
Rancher 需要通过 Ingress 来暴露服务,因此需要先启用 Ingress Controller。请参考该文章完成 Ingress 的启用。
安装 Rancher Helm Chart
1. 添加 Helm Chart 仓库
首先需要添加包含 Rancher Chart 的 Helm 仓库。Rancher 提供了多个版本通道,一般选择 Stable 版本即可,除非你想体验一些还未发布的试验性功能。更多版本选择信息请参考 Rancher 版本选择。
执行以下命令添加 Stable 版本的 Helm 仓库:
1 | |
2. 为 Rancher 创建命名空间
在安装 Rancher 之前,需要创建一个 Kubernetes 命名空间用于存放 Rancher 相关的资源。Rancher 使用 cattle-system 作为默认命名空间:
1 | |
3. 选择 SSL 配置
Rancher Management Server 默认需要 SSL/TLS 配置来保证访问的安全性。
Rancher 提供了三种 SSL 配置选项:Rancher 生成的证书(默认)、Let’s Encrypt 和你已有的证书。对于本地开发环境,使用 Rancher 生成的证书(默认选项)即可,该选项需要安装 cert-manager 来管理证书。更多详见选择 SSL 配置
安装 cert-manager
如果你使用自己的证书文件(ingress.tls.source=secret)或使用外部负载均衡器的 TLS 终止,你可以跳过此步骤。
使用 Rancher 生成的证书需要先安装 cert-manager。cert-manager 是一个用于 Kubernetes 的证书管理工具,负责自动颁发和管理 TLS 证书。
首先添加 Jetstack Helm 仓库:
1 | |
更新本地 Helm Chart 仓库缓存:
1 | |
安装 cert-manager Helm Chart。更多配置选项请参阅 cert-manager 文档:
1 | |
安装完 cert-manager 后,你可以通过检查 cert-manager 命名空间中正在运行的 Pod 来验证它是否已正确部署:
1 | |
4. 通过 Helm 安装 Rancher
默认情况是使用 Rancher 生成 CA,并使用 cert-manager 颁发用于访问 Rancher Server 接口的证书。
如果你选择了 Let’s Encrypt 或自己的证书文件,需要执行不同的安装命令
配置本地 Hosts
由于是本地部署,需要通过配置 hosts 文件将自定义域名解析到 Minikube 节点的 IP 地址。按照以下步骤操作:
获取 Minikube 节点 IP 地址:
1
minikube ip编辑本地 hosts 文件(需要管理员权限):
- Windows:
C:\Windows\System32\drivers\etc\hosts - Mac/Linux:
/etc/hosts
- Windows:
添加域名解析记录(将 Minikube IP 和自定义域名绑定):
1
192.168.105.13 rancher.minikube
安装 Rancher
更多配置项参考 Rancher Helm Chart 选项
执行以下命令安装 Rancher。注意将 rancher-stable 替换为你在第一步中添加的 Helm Chart 仓库名称(如果选择的是 stable 版本则保持不变)。由于国内网络环境,这里使用了国内镜像源来加速镜像拉取:
1 | |
安装完成后,等待 Rancher 部署完成。可以通过以下命令查看部署状态:
1 | |
5. 验证 Rancher Server 是否部署成功
等待部署完成后,可以通过以下命令验证 Rancher 是否正常运行:
1 | |
所有 Pod 的状态应该为 Running,表示 Rancher 已成功部署。
6. 访问 Rancher
部署成功后,可以通过以下地址访问 Rancher 管理界面:
1 | |
注意:由于使用了 SSL/TLS 证书,访问地址需要使用
https协议。首次访问时浏览器可能会提示证书不受信任,这是因为使用的是 Rancher 自签名证书,选择” 继续访问” 或” 高级”->” 继续访问” 即可。