rancher的部署
一、rancher是什么
Rancher 是一个开源的容器管理平台,旨在简化 Kubernetes(K8s)集群的部署、管理和运维。它由 Rancher Labs 开发,现为 SUSE 的一部分。Rancher 提供了一个统一的用户界面和 API,使 DevOps 团队和平台工程师能够跨多个环境(本地、云、混合)轻松管理多个 Kubernetes 集群。
官网地址:https://www.rancher.cn/
注意:本文基于rancher:v2.11.2版本介绍的,理论上通用其他版本
二、环境准备(所有节点)
1. 基础系统要求
- 操作系统:CentOS 7/8、Ubuntu 20.04+(推荐 CentOS 7.9)
- 内存 ≥ 4GB,CPU ≥ 2核
- 节点间网络互通,关闭防火墙或开放必要端口(6443、2379-2380、10250 等)
2.安装 Docker(所有节点)
1 | # 使用阿里云 yum 源安装 Docker CE |
3. 配置 Docker 镜像加速器
1 | mkdir -p /etc/docker |
三、部署 Rancher Server(单节点)
建议单独一台机器作为 Rancher 管理节点(不参与 K8s 集群)
1.国内配置需要k3s镜像包处理(能fq的可以忽略)
1.1 创建预留的映射目录
1 | mkdir -p /var/rancher/k3s/agent/images/ |
1.2 复制出镜像包
1 |
|
1.3复制到预留rancher server映射的目录
1 | cp k3s-airgap-images.tar /var/rancher/k3s/agent/images/ |
2. 使用阿里云镜像启动 Rancher
1 | docker run -d \ |
✅ 镜像说明:
registry.cn-hangzhou.aliyuncs.com/rancher/rancher
是阿里云同步的官方镜像,版本需与官方一致
3. 首次访问配置
- 浏览器访问
https://<Rancher服务器IP>
- 设置 admin 密码
- 设置 Server URL(建议用 IP 或内网域名,如
https://192.168.1.100
)
获取密钥
1 | docker logs rancher 2>&1 | grep "Bootstrap Password:" |
四、配置 Rancher 使用国内源(关键!)
1. 设置系统默认镜像仓库
进入 全局设置(Global Settings) → 搜索 system-default-registry
将其值设为:
1 | registry.cn-hangzhou.aliyuncs.com |
此设置会让 Rancher 在创建集群时自动拉取
registry.cn-hangzhou.aliyuncs.com/rancher/xxx
镜像,避免拉取 gcr.io 或 docker.io。
2. 替换应用商店(Catalog)为 Gitee
进入 全局 → Apps → Manage Catalogs
Catalog 名称 | 原 URL(GitHub) | 替换为(Gitee) |
---|---|---|
helm3-charts |
https://github.com/rancher/helm3-charts |
https://gitee.com/rancher/helm3-charts |
charts |
https://github.com/rancher/charts |
https://gitee.com/rancher/charts |
system-charts |
https://github.com/rancher/system-charts |
https://gitee.com/rancher/system-charts |
点击每个 Catalog 的 ⋮ → Edit,替换 URL 后保存。
等待状态变为 Active 即可正常使用应用商店。
五、创建自定义 Kubernetes 集群
1. 在 Rancher UI 中点击 集群 → 创建
- 选择 自定义(Custom)
- 填写集群名称(如
prod-cluster
) - 选择 rke2最新的 版本
- 节点角色分配:
- master:勾选
etcd
+Control Plane
- node1 / node2:勾选
Worker
(也可加etcd
做高可用)
- master:勾选
2. 在对应节点执行 Rancher 提供的注册命令
master
1 | curl --insecure -fL https://xxxxxx/system-agent-install.sh | sudo sh -s - --server https://xxxx --label 'cattle.io/os=linux' --token xxxx --ca-xxxx --etcd --controlplane |
`
worker
1 | curl --insecure -fL https://xxx/system-agent-install.sh | sudo sh -s - --server https://xxx --label 'cattle.io/os=linux' --token xxx --ca-checksum xxx --worker |
⚠️ 注意:选择 不安全:如果你的服务器具有自签名证书,选择此项以跳过 TLS 验证。
3.rancher k8s集群节点快速部署方案 (国内需要)
重要:在注册命令执行之前,记得之前选择的rke2的版本
去选择手动下载所需的镜像,并将其导入到各个节点中。具体步骤如下:
- 从 GitHub 的https://github.com/rancher/rke2 (可换为其他镜像地址)下载对应的镜像包(例如 rke2-images.linux-amd64.tar.zst)。
- 将下载好的镜像包传输到所有目标节点上。
在每个节点上执行以下命令解压并导入镜像:
创建节点目录地址
1 | mkdir -p /var/lib/rancher/rke2/agent/images/ |
复制镜像文件到目录地址
1 | tar --zstd -xvf rke2-images.linux-amd64.tar.zst -C /var/lib/rancher/rke2/agent/images/ |
然后注册命令执行
4. 查看集群节点部署情况方式
4.1查看日志
1 | journalctl -u rancher-system-agent.service -f |
/var/lib/rancher/rke2/agent/logs/下的完整日志进一步分析
4.2 查看集群状态
master节点查看
1 | systemctl status rke2-server.service |
工作节点查看
1 | systemctl status rke2-agent.service |
4.3 查看镜像加载情况
1 | /var/lib/rancher/rke2/bin/kubectl \ |
5.删除集群部署
删除
1 | sudo /usr/local/bin/rke2-uninstall.sh |
核实下面是否被删除 (多次删除)
1 | rm -rf /etc/rancher/rke2 \ |