当前位置: 首页 > news >正文

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

文章目录

  • 前言
  • 一、Rancher基础认知
    • 1.1 Rancher概述
    • 1.2 Rancher与K8s的区别
  • 二、实验环境准备
    • 2.1 环境规划
  • 三、Rancher安装及配置
    • 3.1 安装Rancher组件
      • 3.1.1 master01节点:下载rancher-agent镜像
      • 3.1.2 rancher节点:部署Rancher服务
    • 3.2 登录Rancher平台
    • 3.3 导入已存在的K8s集群
      • 3.3.1 验证集群导入结果
    • 3.4 部署Rancher监控系统
    • 3.5 基于Rancher仪表盘管理K8s集群(以创建Nginx服务为例)
      • 3.5.1 步骤1:创建命名空间(Namespace)
      • 3.5.2 步骤2:创建Deployment资源
      • 3.5.3 步骤3:创建Service资源
      • 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控制节点master01192.168.10.14管理K8s集群,运行rancher-agent
K8s工作节点node01192.168.10.15运行容器应用
K8s工作节点node02192.168.10.16运行容器应用
Rancher管理节点rancher192.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):

# 拉取rancher-agent镜像
docker pull rancher/rancher-agent:v2.5.7

3.1.2 rancher节点:部署Rancher服务

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

# 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节点,粘贴并执行复制的命令(若第一次执行报错,再次执行即可):

curl --insecure -sfL https://192.168.10.18/v3/import/5blpfrwllfmcvd28nqlmxxsvnchltgtqpgwt7smxgb8dk8htf8xxrr_c-f98qf.yaml | kubectl apply -f -

在这里插入图片描述

3.3.1 验证集群导入结果

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

# 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 管理)
# 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管理更高效、更稳定。

http://www.dtcms.com/a/498756.html

相关文章:

  • 透明网站模板python基础代码
  • Linux网络HTTP(上)(7)
  • JavaScript 二维数组的三种定义与初始化方法
  • 网站开发过程中的方法wordpress文件上传下载
  • DataFun:智能风控与业务安全
  • 思过崖上学「 subprocess 」:令狐冲的 Swift 6.2 跨平台进程心法
  • GD32 ACM核 MCU进入低功耗模式,唤醒后需要注意的事,程序如何正常运行??
  • iOS八股文之 网络
  • 技术演进中的开发沉思-138java-servlet篇:Servlet 多线程的
  • 快速上手大模型:机器学习3
  • 代替VB6的TWINBASIC ide和开源商业模式分析-VB7
  • 网站图片移动怎么做网页设计图片居右代码
  • 东莞整站优化推广公司找火速用广州seo推广获精准访问量
  • c# .NET core多线程的详细讲解
  • Python机器学习---2.算法:逻辑回归
  • solidity的变量学习小结
  • 【Java 开发日记】MySQL 与 Redis 如何保证双写一致性?
  • 基于知识图谱(Neo4j)和大语言模型(LLM)的图检索增强(GraphRAG)的台风灾害知识问答系统(vue+flask+AI算法)
  • 短剧APP开发性能优化专项:首屏加载提速技术拆解
  • 2025年远程控制软件横评:UU远程、ToDesk、向日葵
  • 前端核心理论深度解析:从基础到实践的关键知识点
  • 合肥官方网站建设有哪些公司
  • 大模型-高效优化技术全景解析:微调 量化 剪枝 梯度裁剪与蒸馏 下
  • 微信个人号开发中如何高效实现API二次开发
  • 网页设计与网站建设实战大全wordpress文章页实现图片幻灯展现
  • Ubuntu22.04 VMware虚拟机文件拖放问题:文字复制正常但文件拖放失效
  • Vue Router 路由守卫钩子详解
  • 开源 Linux 服务器与中间件(三)服务器--Nginx
  • Java 大视界 -- Java 大数据在智能农业无人机植保作业路径规划与药效评估中的应用
  • 【OpenGL】模板测试(StencilTest)