K8S(六)—— 企业级,Rancher安装配置与核心功能实操

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、Rancher基础认知
    • [1.1 Rancher概述](#1.1 Rancher概述)
  • 二、环境准备
    • [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服务访问)
  • 总结

前言


一、Rancher基础认知

1.1 Rancher概述

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

其核心优势包括:

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

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

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

二、环境准备

2.1 环境规划

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

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

三、Rancher安装及配置

3.1 安装Rancher组件

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

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

3.1.2 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

3.2 登录Rancher平台

3.3 导入已存在的K8s集群

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

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

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

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

4、登录master01节点,粘贴并执行复制的命令,先在Rancher页面点击完成(若第一次执行报错,再次执行即可)

3.3.1 验证集群导入结果

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

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


cattle-system     Active   3m24s  # Rancher集群代理相关命名空间
default           Active   5d    # K8s默认命名空间
bash 复制代码
# 2. 查看cattle-system命名空间下的Pod(状态需为Running)
kubectl get pods -n cattle-system -o wide

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

3.4 部署Rancher监控系统

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关联);

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默认欢迎页,说明服务创建成功。

总结

相关推荐
阿杰 AJie17 小时前
安装 docker.io(不走外网 Docker 域名)
docker·容器·eureka
.hopeful.17 小时前
Docker——镜像仓库和镜像
运维·docker·容器
m0_4856146717 小时前
K8S项目生命周期管理
云原生·容器·kubernetes
CodeCaptain17 小时前
Dify结合vllm-openai docker镜像出现docker: invalid reference format问题的解决方案
运维·docker·容器
LucidX17 小时前
Kubernetes Pod 详解与Rancher 部署
容器·kubernetes·rancher
星环处相逢17 小时前
从 Pod 核心原理到 Rancher 实战:K8s 容器管理全解析
容器·kubernetes·rancher
伞啊伞17 小时前
k8s(四) Rancher 管理集群
容器·kubernetes·rancher
忍冬行者17 小时前
k8s的etcd的一键备份和故障恢复
docker·云原生·容器·kubernetes·云计算
QWsin17 小时前
【k8s】为什么statefulSet初始化pod需要service name
云原生·容器·kubernetes