K8S(十五)—— 企业级K8s集群管理实践:Rancher安装配置与核心功能实操

文章目录

  • 前言
  • 一、Rancher基础认知
    • [1.1 Rancher概述](#1.1 Rancher概述)
    • [1.2 Rancher与K8s的区别](#1.2 Rancher与K8s的区别)
  • 二、实验环境准备
    • [2.1 环境规划](#2.1 环境规划)
  • 三、Rancher安装及配置
    • [3.1 安装Rancher组件](#3.1 安装Rancher组件)
      • [3.1.1 master01节点:下载rancher-agent镜像](#3.1.1 master01节点:下载rancher-agent镜像)
      • [3.1.2 rancher节点:部署Rancher服务](#3.1.2 rancher节点:部署Rancher服务)
    • [3.2 登录Rancher平台](#3.2 登录Rancher平台)
    • [3.3 导入已存在的K8s集群](#3.3 导入已存在的K8s集群)
      • [3.3.1 验证集群导入结果](#3.3.1 验证集群导入结果)
    • [3.4 部署Rancher监控系统](#3.4 部署Rancher监控系统)
    • [3.5 基于Rancher仪表盘管理K8s集群(以创建Nginx服务为例)](#3.5 基于Rancher仪表盘管理K8s集群(以创建Nginx服务为例))
      • [3.5.1 步骤1:创建命名空间(Namespace)](#3.5.1 步骤1:创建命名空间(Namespace))
      • [3.5.2 步骤2:创建Deployment资源](#3.5.2 步骤2:创建Deployment资源)
      • [3.5.3 步骤3:创建Service资源](#3.5.3 步骤3:创建Service资源)
      • [3.5.4 步骤4:验证Nginx服务访问](#3.5.4 步骤4:验证Nginx服务访问)
  • 总结

前言

随着容器技术的普及,Kubernetes(简称K8s)已成为容器编排的事实标准,但多集群管理、复杂环境部署等问题仍困扰着不少企业。Rancher作为开源的企业级多集群K8s管理平台,能轻松实现混合云与本地数据中心的K8s集群集中管控,大幅降低K8s使用门槛。目前全球已有超过40000家企业通过Rancher加速数字化转型。

本文将从Rancher基础认知出发,详细讲解其与K8s的区别,并通过完整实操步骤,带大家完成Rancher安装、已有K8s集群接入、监控系统部署,以及基于Rancher仪表盘创建Nginx服务的全流程,帮助大家快速掌握Rancher的核心使用能力。

一、Rancher基础认知

1.1 Rancher概述

Rancher是一款开源的企业级多集群Kubernetes管理平台 ,核心价值在于解决K8s集群在混合云+本地数据中心场景下的集中部署与管理问题,同时保障集群安全性,简化容器化应用的交付流程。

其核心优势包括:

  • 无需深度掌握K8s概念,通过可视化界面即可完成集群与应用管理;
  • 支持多集群统一管控,适配公有云、私有云、物理机等多种部署环境;
  • 内置安全机制与监控能力,满足企业级生产环境需求。

Rancher官方文档:https://docs.rancher.cn/

1.2 Rancher与K8s的区别

很多人会混淆Rancher与K8s的定位,二者虽均涉及容器管理,但核心职责存在明显差异,具体对比如下:

对比维度 Kubernetes(K8s) Rancher
核心定位 容器编排与调度系统 多K8s集群管理平台
管理范围 单集群内的容器、Pod、服务等资源 多K8s集群的集中管控
使用门槛 需掌握K8s核心概念(如Pod、Deployment) 可视化界面操作,降低技术门槛
底层依赖 独立运行,无需依赖其他平台 Rancher 2.x底层基于K8s调度引擎

简单来说:K8s是容器调度引擎,Rancher是K8s集群的管理平台,通过Rancher可实现对多个K8s集群的统一管控。

二、实验环境准备

2.1 环境规划

本次实验需4台节点服务器,操作系统建议为CentOS 7.x或Ubuntu 18.04+,节点角色与IP规划如下:

节点角色 节点名称 IP地址 核心功能
K8s控制节点 master01 192.168.10.14 管理K8s集群,运行rancher-agent
K8s工作节点 node01 192.168.10.15 运行容器应用
K8s工作节点 node02 192.168.10.16 运行容器应用
Rancher管理节点 rancher 192.168.10.18 部署Rancher服务,提供管理界面

前置条件 :所有节点已安装Docker(建议19.03+版本),且K8s集群(master01、node01、node02)已提前部署完成。

K8s集群部署可以参考:https://blog.csdn.net/qq_41978931/article/details/152776500?spm=1011.2415.3001.5331

三、Rancher安装及配置

3.1 安装Rancher组件

Rancher安装需分两个节点操作:master01节点下载rancher-agent镜像,rancher节点下载rancher镜像并启动服务。

3.1.1 master01节点:下载rancher-agent镜像

登录master01节点,执行以下命令拉取rancher-agent镜像(版本与后续Rancher服务保持一致,均为v2.5.7):

bash 复制代码
# 拉取rancher-agent镜像
docker pull rancher/rancher-agent:v2.5.7

3.1.2 rancher节点:部署Rancher服务

登录rancher节点,依次执行以下命令拉取镜像并启动Rancher容器:

bash 复制代码
# 1. 拉取rancher镜像(版本v2.5.7)
docker pull rancher/rancher:v2.5.7

# 2. 启动rancher容器
docker run -d \
--restart=unless-stopped \  # 容器退出时自动重启(Docker守护进程启动时已停止的容器除外)
-p 80:80 \                   # 映射HTTP端口(80)
-p 443:443 \                 # 映射HTTPS端口(443)
--privileged \               # 赋予容器特权模式(确保Rancher正常运行)
--name rancher \             # 容器命名为rancher
rancher/rancher:v2.5.7       # 使用的镜像版本
======================================================================================
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7

# 3. 验证容器是否启动成功
docker ps -a | grep rancher

预期输出 (容器状态为Up表示启动成功):

复制代码
CONTAINER ID   IMAGE                    COMMAND           CREATED          STATUS          PORTS                                                                      NAMES
5c0c7c19e6f2   rancher/rancher:v2.5.7   "entrypoint.sh"   14 seconds ago   Up 12 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   rancher

3.2 登录Rancher平台

Rancher容器启动后需等待约1-2分钟初始化,之后通过浏览器访问平台:

1、打开浏览器,输入Rancher节点IP:http://192.168.10.18(因未使用授信证书,浏览器会提示"安全风险",忽略警告并继续访问);

2、按照页面提示设置管理员密码(首次登录需完成此步骤),完成后进入Rancher主界面。

3、首次登录默认显示英文界面,点击页面右下角的语言选择框(如"English"),切换为"中文";

3.3 导入已存在的K8s集群

Rancher的核心功能之一是管理已有K8s集群,本次实操将master01node01node02组成的K8s集群导入Rancher:

1、进入Rancher主界面,点击右上角【添加集群】,选择【导入】(导入已有K8s集群);

2、在【集群名称】输入框中填写k8s-cluster,点击【创建】;

3、页面会生成3条导入命令,选择第三条命令 (绕过证书检查,适合测试环境),复制命令内容;

4、登录master01节点,粘贴并执行复制的命令(若第一次执行报错,再次执行即可):

bash 复制代码
curl --insecure -sfL https://192.168.10.18/v3/import/5blpfrwllfmcvd28nqlmxxsvnchltgtqpgwt7smxgb8dk8htf8xxrr_c-f98qf.yaml | kubectl apply -f -

3.3.1 验证集群导入结果

master01节点执行以下命令,验证Rancher相关命名空间与Pod是否正常运行:

bash 复制代码
# 1. 查看命名空间(需存在cattle-system、fleet-system(2.5.7版本没有))
kubectl get ns

预期输出

复制代码
NAME              STATUS   AGE
cattle-system     Active   3m24s  # Rancher集群代理相关命名空间
default           Active   5d    # K8s默认命名空间
kube-node-lease   Active   5d
kube-public       Active   5d
kube-system       Active   5d

注意点:

  • cattle-system: Rancher集群代理相关命名空间
  • fleet-system:Rancher舰队管理相关命名空间(v2.6开始Rancher 内置了 Fleet(舰队),用于集中式多集群 GitOps 管理)
bash 复制代码
# 2. 查看cattle-system命名空间下的Pod(状态需为Running)
kubectl get pods -n cattle-system -o wide

预期输出

复制代码
NAME                                    READY   STATUS    RESTARTS   AGE    IP           NODE       NOMINATED NODE   READINESS GATES
cattle-cluster-agent-8644f67d7f-vsttd   1/1     Running   0          2m6s   10.244.0.9   master01   <none>           <none>

若上述Pod为Running状态,说明K8s集群已成功导入Rancher。

3.4 部署Rancher监控系统

Rancher内置监控功能,可实时查看K8s集群资源使用情况,部署步骤如下:

1、进入已导入的k8s-cluster集群界面,点击页面提示【启用监控以查看实时监控】;

2、在【监控组件版本】下拉框中选择0.2.1,其他参数保持默认;

3、点击【启用监控】,监控组件启动需约10分钟 (耐心等待,期间不要重复操作);

4、监控启用成功后,可在集群界面查看CPU、内存、Pod数量等实时指标。

3.5 基于Rancher仪表盘管理K8s集群(以创建Nginx服务为例)

Rancher提供可视化仪表盘,可替代kubectl命令行操作K8s资源。本次以创建Nginx服务为例,演示仪表盘的使用流程。

3.5.1 步骤1:创建命名空间(Namespace)

命名空间用于隔离不同环境的资源(如开发环境、生产环境),本次创建dev命名空间:

1、 进入k8s-cluster集群的仪表盘界面(点击【仪表盘】);

2、点击左侧菜单【Namespaces】,再点击右侧【Create】;

3、在【Name】输入框填写dev,【Description】可自定义(如"开发环境命名空间");

4、点击右下角【Create】,完成命名空间创建。

3.5.2 步骤2:创建Deployment资源

Deployment用于定义Pod的部署规则(如副本数、镜像版本),本次创建3个Nginx副本:

1、点击左侧菜单【Deployments】,点击右侧【Create】;

2、基础配置:

  • 【Namespace】下拉选择dev
  • 【Name】输入nginx-dev
  • 【Replicas】输入3(创建3个Pod副本);

3、容器配置(点击【Container】选项卡):

  • 【Container Image】输入nginx:1.14(指定Nginx镜像及版本);
  • 【Pull Policy】选择IfNotPresent(本地有镜像则不重新拉取);

4、标签配置:

  • 【Pod Labels】下点击【Add Label】,【Key】输入app,【Value】输入nginx(给Pod打标签,用于后续Service关联);

  • 【Labels and Annotations】下点击【Add Label】,【Key】输入app,【Value】输入nginx(给Deployment打标签);

5、点击右下角【Create】,完成Deployment创建。

3.5.3 步骤3:创建Service资源

Service用于暴露Pod的网络访问能力,本次选择NodePort类型(通过节点IP+端口访问):

1、点击左侧菜单【Services】,点击右侧【Create】;

2、选择服务类型【Node Port】;

3、基础配置:

  • 【Namespace】下拉选择dev
  • 【Name】输入nginx-dev

4、端口配置:

  • 【Port Name】输入nginx
  • 【Listening Port】输入80(Service监听端口);
  • 【Target Port】输入80(Pod的目标端口,与Nginx默认端口一致);
  • 【Node Port】输入30180(节点端口,范围需在30000-32767之间);

5、 关联Pod(点击【Selectors】选项卡):

  • 【Key】输入app,【Value】输入nginx(通过标签关联步骤2创建的Nginx Pod);

6、点击右下角【Create】,完成Service创建。

3.5.4 步骤4:验证Nginx服务访问

1、进入【Services】界面,点击nginx-dev服务,查看【Node Port】是否为30180/TCP

2、打开浏览器,输入任意K8s工作节点IP+节点端口(如http://192.168.10.15:30180);

3、若页面显示Nginx默认欢迎页,说明服务创建成功。

总结

本文从Rancher基础认知出发,完成了从环境准备到实操落地的全流程:通过Docker部署Rancher服务,将已有K8s集群导入管理,部署监控系统,并基于可视化仪表盘创建Nginx服务。整个过程无需复杂的K8s命令,充分体现了Rancher降低K8s使用门槛的核心价值。

对于企业级场景,Rancher还支持多集群权限管控、应用市场、备份恢复等高级功能。后续可进一步探索Rancher在生产环境的最佳实践,如集群安全加固、监控告警配置、多环境隔离等,让K8s管理更高效、更稳定。

相关推荐
皮皮蟹虾饺3 小时前
DNS协议指南:从报文格式到安全加密与 K8s 实战
安全·容器·kubernetes
千寻girling4 小时前
记录第一次学习 Docker
学习·docker·容器
迷糊小面包6 小时前
Docker Hadopp集群版部署搭建及常规问题解疑
运维·docker·容器
烁3477 小时前
Docker
运维·docker·容器
网络中的夜鹰7 小时前
轩辕镜像一键安装Docker和Docker Compose脚本
运维·docker·容器
lihongbao808 小时前
kuboard v3创建用户分配命名空间
kubernetes·kuboard
江湖有缘11 小时前
Docker部署HamsterBase Tasks任务管理工具
运维·docker·容器
很楠爱上11 小时前
Docker 从入门到实战:核心概念、微服务编排与环境移植完全指南
docker·微服务·容器
Qres82111 小时前
docker & WSL & Ubuntu安装记录
ubuntu·docker·容器·wsl
java_cj12 小时前
从kubectl源码学pprof:生产环境性能分析的实战指南
运维·云原生·容器·kubernetes