自学内容网 自学内容网

k8s(四) Rancher 管理集群


一、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地址
控制节点master01192.168.10.18
工作节点node01192.168.10.19
工作节点node02192.168.10.20
Rancher节点rancher192.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

在这里插入图片描述


原文地址:https://blog.csdn.net/weixin_72487594/article/details/156733371

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!