k8s(四) Rancher 管理集群

文章目录

  • [一、Rancher 管理 Kubernetes 集群](#一、Rancher 管理 Kubernetes 集群)
    • [1.1 Rancher 简介](#1.1 Rancher 简介)
    • [1.2 Rancher 和 k8s 的区别](#1.2 Rancher 和 k8s 的区别)
  • [二、Rancher 安装及配置](#二、Rancher 安装及配置)
    • [2.1 实验环境](#2.1 实验环境)
    • [2.2 安装 Rancher](#2.2 安装 Rancher)
      • [2.2.1 下载镜像](#2.2.1 下载镜像)
      • [2.2.2 启动 Rancher 容器](#2.2.2 启动 Rancher 容器)
      • [2.2.3 验证容器状态](#2.2.3 验证容器状态)
    • [2.3 登录 Rancher 平台](#2.3 登录 Rancher 平台)
    • [2.4 Rancher 管理已存在的 k8s 集群](#2.4 Rancher 管理已存在的 k8s 集群)
    • [2.5 Rancher 部署监控系统](#2.5 Rancher 部署监控系统)
    • [2.6 使用 Rancher 仪表盘管理 k8s 集群(以创建 nginx 服务为例)](#2.6 使用 Rancher 仪表盘管理 k8s 集群(以创建 nginx 服务为例))
      • [2.6.1 创建名称空间(Namespace)](#2.6.1 创建名称空间(Namespace))
      • [2.6.2 创建 Deployment 资源](#2.6.2 创建 Deployment 资源)
      • [2.6.3 创建 Service](#2.6.3 创建 Service)
  • 三、操作命令清单
    • [3.1 基础环境与镜像操作](#3.1 基础环境与镜像操作)
      • [3.1.1 下载 Rancher 相关镜像](#3.1.1 下载 Rancher 相关镜像)
      • [3.1.2 启动 Rancher 容器(rancher 节点执行)](#3.1.2 启动 Rancher 容器(rancher 节点执行))
      • [3.1.3 验证 Rancher 容器状态(rancher 节点执行)](#3.1.3 验证 Rancher 容器状态(rancher 节点执行))
    • [3.2 K8s 集群导入与验证](#3.2 K8s 集群导入与验证)
      • [3.2.1 权限授权(可选,权限不足时执行)](#3.2.1 权限授权(可选,权限不足时执行))
      • [3.2.2 导入已存在的 K8s 集群(master01 节点执行)](#3.2.2 导入已存在的 K8s 集群(master01 节点执行))
      • [3.2.3 导入结果验证(master01 节点执行)](#3.2.3 导入结果验证(master01 节点执行))
    • [3.3 Rancher CLI 基础命令(可选)](#3.3 Rancher CLI 基础命令(可选))
      • [3.3.1 全局配置命令](#3.3.1 全局配置命令)
      • [3.3.2 常用操作命令](#3.3.2 常用操作命令)
    • [3.4 Kubectl 关联 Rancher 集群(可选)](#3.4 Kubectl 关联 Rancher 集群(可选))
      • [3.4.1 配置 Kubeconfig(本地终端执行)](#3.4.1 配置 Kubeconfig(本地终端执行))
    • [3.5 Nginx 服务部署验证命令(可选)](#3.5 Nginx 服务部署验证命令(可选))
      • [3.5.1 查看 dev 命名空间资源](#3.5.1 查看 dev 命名空间资源)
      • [3.5.2 访问 Nginx 服务(任意节点执行)](#3.5.2 访问 Nginx 服务(任意节点执行))

一、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):
bash 复制代码
docker pull rancher/rancher-agent:v2.5.7
  • rancher 节点(IP:192.168.10.13):
bash 复制代码
docker pull rancher/rancher:v2.5.7

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

bash 复制代码
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 节点执行)

bash 复制代码
docker ps -a|grep rancher

3.2 K8s 集群导入与验证

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

bash 复制代码
kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole cluster-admin \
--user 你的用户名

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

bash 复制代码
curl --insecure -sfL https://192.168.10.13/v3/import/ltlhl7vggnwz8knbjncgbxqlrf6krpbfbxtzh4qlpnqxrq5559k6gf_c-jf5bx.yaml | kubectl apply -f -

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

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

3.3 Rancher CLI 基础命令(可选)

3.3.1 全局配置命令

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

3.3.2 常用操作命令

bash 复制代码
# 查看集群列表
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. 配置本地文件:
bash 复制代码
# 创建配置目录(若不存在)
mkdir -p ~/.kube
# 将复制的 Kubeconfig 内容写入配置文件
vim ~/.kube/config
# 验证连接
kubectl cluster-info
kubectl get pods

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

3.5.1 查看 dev 命名空间资源

bash 复制代码
# 查看 Deployment
kubectl get deployments -n dev
# 查看 Pod
kubectl get pods -n dev -o wide
# 查看 Service
kubectl get svc -n dev

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

bash 复制代码
curl http://节点IP:30180
# 示例(访问 node01 节点)
curl http://192.168.10.19:30180
相关推荐
忆~遂愿38 分钟前
本地片库怎么在外面打开?Plex + cpolar 搭一套可远程访问的私人影音库
docker·容器
Thneonl1 小时前
你的 Pod 为什么 Pending:调度器两阶段
后端·kubernetes
不吃香菜kkk、1 小时前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
九皇叔叔14 小时前
Kubernetes 资源管理方式详解:命令式与声明式管理
docker·容器·k8s
程序猿小郑19 小时前
Docker Compose 构建完整服务实战指南:从入门到最佳实践
docker·容器
ysu_03141 天前
【2026】K8s GPU调度空占怎么解?Kueue与Volcano Gang配置
云原生·kubernetes·gpu算力·volcano·ai基础设施·kueue·gang scheduling
哈__2 天前
KES-Operator重塑Kubernetes环境下的KES数据库集群管理
数据库·kubernetes·operator·kes
九皇叔叔2 天前
K8S 资源菜单
docker·容器·kubernetes·k8s
wdfk_prog2 天前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
Zhu7582 天前
docker环境快速部署postgresql数据库18及以上版本
postgresql·容器