3.9 KiB
3.9 KiB
有眼光! 既然您的 VPS 配置不错(之前提到有 16GB 内存),跑 Rancher 是绝对最爽的选择。它就像给您的 Kubernetes 集群装了一个“Windows 操作系统”,所有操作都能点点鼠标完成。
虽然您喜欢用 YAML 硬编码(这很好),但在安装 Rancher 这种巨型软件时,Helm(Kubernetes 的包管理器,类似于 Python 的 pip 或 Linux 的 apt)是唯一标准且靠谱的途径。手动写 YAML 安装 Rancher 会涉及到几百个文件,极易出错。
请按照以下步骤,把这头“牛”(Rancher 的 Logo)牵进您的集群。
🚀 第一步:安装 Helm (如果您还没有)
Helm 是安装 Rancher 的必备工具。在 Node 1 上执行:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
第二步:添加 Rancher 仓库
告诉 Helm 去哪里下载 Rancher。
# 1. 添加仓库
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
# 2. 创建 Rancher 专属的命名空间
kubectl create namespace cattle-system
第三步:一键安装 Rancher (关键)
我们要安装 Rancher,并让它自动利用您集群里已经存在的 cert-manager 来申请 rancher.u9.net3w.com 的 HTTPS 证书。
请直接复制下面这整段命令(我已经帮您把参数配好了):
- 域名:
rancher.u9.net3w.com - 初始密码:
admin123456(进去后强制要求改) - 副本数:
1(为了节省资源,生产环境通常用 3,但 1 个也够用) - 证书: 使用 Let's Encrypt 自动生成
helm install rancher rancher-latest/rancher \
--namespace cattle-system \
--set hostname=rancher.u9.net3w.com \
--set bootstrapPassword=admin123456 \
--set replicas=1 \
--set ingress.tls.source=letsEncrypt \
--set letsEncrypt.email=admin@net3w.com \
--set letsEncrypt.ingress.class=traefik
第四步:等待“巨兽”苏醒
Rancher 是一个庞大的 Java/Go 应用,启动需要一点时间(通常 2-5 分钟)。
您可以像看电影一样监控它的启动过程:
watch kubectl get pods -n cattle-system
- 阶段 1: 您会看到
rancher-webhook先启动。 - 阶段 2: 接着
rancher-xxxx主 Pod 开始ContainerCreating。 - 阶段 3: 当
rancher-xxxx状态变为Running且READY 1/1时,说明启动成功。
(如果 Ready 很久都是 0/1,不要急,那是它在做数据库初始化,只要不报错 CrashLoopBackOff 就等着)
第五步:登录并接管一切
一旦 Pod 跑起来,证书也签发好(Ingress 生效)后:
- 打开浏览器访问:https://rancher.u9.net3w.com
- 密码:输入刚才设置的
admin123456。 - 接管:
- 登录后,它会提示您设置一个新的复杂密码。
- 然后您会看到一个名为 "local" 的集群 —— 这就是您的 K3s 集群!
🎉 您现在可以用图形界面做什么?
进入 "local" 集群后,您可以尝试以下操作,体验一下为什么我说它是“神器”:
- 看工作负载:点击左侧菜单 Workload (工作负载),您会看到之前的
my-python-app,registry,wordpress全都在列表里,CPU/内存占用一目了然。 - 查看日志:点进
my-python-app-> 点击 Pod 名字 -> 右上角三个点 -> View Logs。界面非常舒服,支持实时滚动。 - 进入终端:同上,点击 Execute Shell,直接在浏览器里获得一个 root 终端,再也不用 SSH 连来连去了。
- 拖拽扩容:找到 Deployment,点一下
+号,瞬间从 1 个 Pod 变成 5 个 Pod,感受 Kubernetes 的弹性。
快去试试吧!如果安装过程中卡在 Pulling Image 或者 Pending,请告诉我 kubectl get pods -n cattle-system 的截图。