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
相关推荐
花酒锄作田13 分钟前
Debian 13基于kubeadm和containerd部署单节点kubernetes
kubernetes·containerd·cilium
上天_去_做颗惺星 EVE_BLUE34 分钟前
Docker高效使用指南:从基础到实战模板
开发语言·ubuntu·docker·容器·mac·虚拟环境
好好沉淀2 小时前
Docker开发笔记(详解)
运维·docker·容器
Ankie Wan3 小时前
cgroup(Control Group)是 Linux 内核提供的一种机制,用来“控制、限制、隔离、统计”进程对系统资源的使用。
linux·容器·cgroup·lxc
lcx_defender5 小时前
【Docker】Docker部署运行nacos
运维·docker·容器
啦啦啦小石头5 小时前
docker添加用户权限不使用sudo
运维·docker·容器
春日见6 小时前
Autoware使用教程
大数据·人工智能·深度学习·elasticsearch·搜索引擎·docker·容器
Dontla7 小时前
Kubernetes流量管理双雄:Ingress与Gateway API解析(Nginx与Ingress与Gateway API的关系)
nginx·kubernetes·gateway
lcx_defender7 小时前
【Docker】Docker部署运行Kibana
运维·docker·容器
七夜zippoe7 小时前
Kubernetes与Python微服务编排实战:从基础部署到自动扩缩容
python·微服务·kubernetes·service·hpa