一、Rancher 管理 Kubernetes 集群

1.1 Rancher 简介

Rancher 是开源的企业级多集群 Kubernetes 管理平台,支持混合云+本地数据中心场景下 Kubernetes 集群的集中部署与管理,保障集群安全性,加速企业数字化转型,目前已有超 40000 家企业日常使用。
官网地址:https://docs.rancher.cn/

1.2 Rancher 和 k8s 的区别

  • 两者均为容器调度与编排系统,核心差异在于 Rancher 不仅能管理应用容器,还可实现对 k8s 集群的管理。
  • Rancher2.x 底层基于 k8s 调度引擎,经封装后,用户无需熟悉 k8s 概念,即可通过 Rancher 便捷地将容器部署到 k8s 集群。

二、Rancher 安装及配置

2.1 实验环境

节点类型 节点名称 IP地址
控制节点 master01 192.168.10.18
工作节点 node01 192.168.10.19
工作节点 node02 192.168.10.20
Rancher节点 rancher 192.168.10.13

2.2 安装 Rancher

2.2.1 下载镜像

  • 在 master01 节点执行命令:docker pull rancher/rancher-agent:v2.5.7(下载 rancher-agent 镜像)
  • 在 rancher 节点执行命令:docker pull rancher/rancher:v2.5.7(下载 rancher 镜像)

2.2.2 启动 Rancher 容器

执行命令:docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7

  • 参数说明:--restart=unless-stopped 表示容器退出时自动重启(Docker 守护进程启动时已停止的容器除外)

2.2.3 验证容器状态

执行命令:docker ps -a|grep rancher,正常输出示例:
1326da432b17 rancher/rancher:v2.5.7 "entrypoint.sh" 13 seconds ago Up 13 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp rancher

2.3 登录 Rancher 平台

  1. 等待容器启动完成后,在浏览器访问 http://192.168.10.13(未使用授信证书,报警提示忽略即可)
  2. 若登录后为英文页面,点击右下角语言选项切换为中文

2.4 Rancher 管理已存在的 k8s 集群

  1. 平台操作:选择【添加集群】→ 点击【导入】→ 【集群名称】设为 k8s-cluster → 点击【创建】

  2. 复制页面第三条“绕过证书检查导入 k8s 集群”的命令

  3. 在 k8s 控制节点 master01 执行复制的命令(首次执行报错可再次执行):
    curl --insecure -sfL https://192.168.10.13/v3/import/ltlhl7vggnwz8knbjncgbxqlrf6krpbfbxtzh4qlpnqxrq5559k6gf_c-jf5bx.yaml | kubectl apply -f -
    在这里插入图片描述

  4. 验证结果:

    • 执行 kubectl get ns,查看命名空间(cattle-system、fleet-system 为新增关联命名空间)
    • 执行 kubectl get pods -n cattle-system -o wide,查看 cattle-system 命名空间下 Pod 状态(需为 Running)
    • 执行 kubectl get pods -n fleet-system -o wide,查看 fleet-system 命名空间下 Pod 状态(需为 Running)
      在这里插入图片描述

2.5 Rancher 部署监控系统

  1. 点击【启用监控以查看实时监控】
  2. 【监控组件版本】选择 0.2.1,其他保持默认
  3. 点击【启用监控】,等待约 10 分钟完成启动

2.6 使用 Rancher 仪表盘管理 k8s 集群(以创建 nginx 服务为例)

2.6.1 创建名称空间(Namespace)

  1. 点击左侧菜单【Namespaces】→ 右侧【Create】
  2. 【Name】输入 dev,【Description】可选填自定义内容
  3. 点击右下角【Create】
    在这里插入图片描述

2.6.2 创建 Deployment 资源

  1. 点击左侧菜单【Deployments】→ 右侧【Create】
  2. 基础配置:【Namespace】选择 dev,【Name】输入 nginx-dev,【Replicas】输入 3
  3. 容器配置:点击【Container】→ 【Container Image】输入 nginx:1.14,【Pull Policy】选择 IfNotPresent
  4. 标签配置:
    • 【Pod Labels】下点击【Add Lable】→ 【Key】输入 app,【Value】输入 nginx
    • 【Labels and Annotations】下点击【Add Label】→ 【Key】输入 app,【Value】输入 nginx
  5. 点击右下角【Create】
    在这里插入图片描述
    在这里插入图片描述

2.6.3 创建 Service

  1. 点击左侧菜单【Services】→ 右侧【Create】→ 选择【Node Port】

在这里插入图片描述

  1. 基础配置:【Namespace】选择 dev,【Name】输入 nginx-dev

  2. 端口配置:【Port Name】输入 nginx,【Listening Port】输入 80,【Target Port】输入 80,【Node Port】输入 30180
    在这里插入图片描述

  3. 选择器配置:【Selectors】→ 【Key】输入 app,【Value】输入 nginx

  4. 点击右下角【Create】
    在这里插入图片描述

  5. 验证:点击【nginx-dev】,确认 Service 已关联 Pod,通过节点端口 30180/TCP 可访问内部 nginx 页面

在这里插入图片描述

三、操作命令清单

3.1 基础环境与镜像操作

3.1.1 下载 Rancher 相关镜像

  • master01 节点(控制节点,IP:192.168.10.18):
docker pull rancher/rancher-agent:v2.5.7
  • rancher 节点(IP:192.168.10.13):
docker pull rancher/rancher:v2.5.7

3.1.2 启动 Rancher 容器(rancher 节点执行)

docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7

3.1.3 验证 Rancher 容器状态(rancher 节点执行)

docker ps -a|grep rancher

3.2 K8s 集群导入与验证

3.2.1 权限授权(可选,权限不足时执行)

kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole cluster-admin \
--user 你的用户名

3.2.2 导入已存在的 K8s 集群(master01 节点执行)

curl --insecure -sfL https://192.168.10.13/v3/import/ltlhl7vggnwz8knbjncgbxqlrf6krpbfbxtzh4qlpnqxrq5559k6gf_c-jf5bx.yaml | kubectl apply -f -

3.2.3 导入结果验证(master01 节点执行)

  1. 查看新增命名空间:
kubectl get ns
  1. 查看 cattle-system 命名空间 Pod 状态:
kubectl get pods -n cattle-system -o wide
  1. 查看 fleet-system 命名空间 Pod 状态:
kubectl get pods -n fleet-system -o wide
  1. 查看集群组件状态:
kubectl get cs
  1. 查看节点信息:
kubectl get nodes -o wide

3.3 Rancher CLI 基础命令(可选)

3.3.1 全局配置命令

# 设置 Rancher API 链接、密钥(替换为实际信息)
rancher config set --url https://192.168.10.13 --access-key 你的访问密钥 --secret-key 你的安全密钥

3.3.2 常用操作命令

# 查看集群列表
rancher clusters list

# 查看主机列表
rancher hosts list

# 查看服务/容器状态
rancher ps

# 重启服务(替换为实际服务名)
rancher restart 服务名

# 查看资源变更事件
rancher events

# 查看 Rancher 节点代理日志
kubectl -n cattle-system logs -l app=cattle-agent

3.4 Kubectl 关联 Rancher 集群(可选)

3.4.1 配置 Kubeconfig(本地终端执行)

  1. 从 Rancher UI 复制集群 Kubeconfig 内容
  2. 配置本地文件:
# 创建配置目录(若不存在)
mkdir -p ~/.kube
# 将复制的 Kubeconfig 内容写入配置文件
vim ~/.kube/config
# 验证连接
kubectl cluster-info
kubectl get pods

3.5 Nginx 服务部署验证命令(可选)

3.5.1 查看 dev 命名空间资源

# 查看 Deployment
kubectl get deployments -n dev
# 查看 Pod
kubectl get pods -n dev -o wide
# 查看 Service
kubectl get svc -n dev

3.5.2 访问 Nginx 服务(任意节点执行)

curl http://节点IP:30180
# 示例(访问 node01 节点)
curl http://192.168.10.19:30180

在这里插入图片描述

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐