57 Rancher管理平台

文章目录

前言

本文档详细介绍了Rancher平台的安装、配置及Kubernetes集群管理流程,涵盖核心概念、部署步骤和操作实践。标题大纲如下:

  1. Rancher简介
  2. Rancher和k8s的区别
  3. Rancher安装及配置

理论部分

1_Rancher简介

  • Rancher是一个开源的企业级多集群Kubernetes管理平台,用于实现Kubernetes集群在混合云和本地数据中心的集中部署与管理。
  • 在需要同时管理多个Kubernetes集群(如跨公有云、私有云环境)并确保安全合规的企业场景中,Rancher提供了统一管理能力。
    其他类似产品:
  • kubebox
  • KubeSphere

2_Rancher和k8s的区别

  • Rancher和k8s都是容器调度与编排系统,但Rancher不仅能管理应用容器,更能直接管理k8s集群。
  • 当用户不熟悉k8s底层概念时,Rancher通过封装k8s API提供可视化界面,使容器部署操作更简单高效。

实验部分

主机名 IP地址 用途
k8s-master01 192.168.100.13 Kubernetes控制节点
k8s-node01 192.168.100.14 Kubernetes工作节点
k8s-node02 192.168.100.15 Kubernetes工作节点
rancher 192.168.100.16 Rancher管理平台节点

1_安装rancher

1.1_下载镜像及启动

k8s-master01

①_下载rancher-agent镜像
shell 复制代码
docker pull rancher/rancher-agent:v2.5.7

docker pull:拉取Docker镜像的命令
rancher/rancher-agent:v2.5.7:Rancher代理组件镜像及其版本

rancher

②_下载rancher主镜像
shell 复制代码
docker pull rancher/rancher:v2.5.7

docker pull:拉取Docker镜像的命令
rancher/rancher:v2.5.7:Rancher管理平台主镜像及其版本

③_启动Rancher容器
shell 复制代码
docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7

docker run:创建并启动Docker容器
-d:后台运行容器
--restart=unless-stopped:容器退出时自动重启(Docker守护进程启动时已停止的容器除外)
-p 80:80 -p 443:443:将宿主机80/443端口映射到容器80/443端口
--privileged:授予容器扩展权限
--name rancher:指定容器名称为rancher
rancher/rancher:v2.5.7:使用的镜像名称

④_验证容器状态
shell 复制代码
docker ps -a | grep rancher

docker ps -a:列出所有容器(包括非运行状态)
grep rancher:过滤包含"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_登录Rancher平台

①_访问管理界面

在浏览器中访问 http://192.168.100.16

由于使用自签名证书,浏览器会显示安全警告,需忽略警告继续访问

②_切换语言

登录后点击右下角语言选项选择中文

可根据用户需求切换界面语言

3_Rancher管理已存在的k8s集群

3.1_集群导入流程

①_创建集群配置

在Rancher界面选择【添加集群】→【导入】,设置【集群名称】为 k8s-cluster,点击【创建】

导入现有Kubernetes集群到Rancher管理平台

②_复制证书绕过命令

选择复制第三条命令(绕过证书检查的导入命令)

用于处理非授信证书环境的集群注册

3.2_执行导入操作

k8s-master01

③_应用集群配置
shell 复制代码
curl --insecure -sfL https://192.168.100.16/v3/import/ltlhl7vggnwz8knbjncgbxqlrf6krpbfbxtzh4qlpnqxrq5559k6gf_c-jf5bx.yaml | kubectl apply -f -

curl:网络数据传输工具
--insecure:跳过SSL证书验证
-sfL:静默失败、跟随重定向
https://192.168.100.16/v3/import/...:Rancher生成的集群注册URL
| kubectl apply -f -:将输出传给kubectl应用YAML配置

如首次执行报错需重新执行

④_检查命名空间
shell 复制代码
kubectl get ns

kubectl get ns:查看所有Kubernetes命名空间
输出示例:

复制代码
NAME              STATUS   AGE
cattle-system     Active   3m24s
default           Active   27d
fleet-system      Active   2m14s
kube-node-lease   Active   27d
kube-public       Active   27d
kube-system       Active   27d
⑤_验证核心Pod
shell 复制代码
kubectl get pods -n cattle-system -o wide

-n cattle-system:指定命名空间
-o wide:显示详细信息
输出示例:

复制代码
NAME                                    READY   STATUS    RESTARTS   AGE   IP           NODE
cattle-cluster-agent-78647b4ff8-fbqdp   1/1     Running   0          2m1s  10.244.1.4   k8s-node01
shell 复制代码
kubectl get pods -n fleet-system -o wide

-n fleet-system:指定命名空间
输出示例:

复制代码
NAME                           READY   STATUS    RESTARTS   AGE   IP           NODE
fleet-agent-55bfc495bd-m9qjt   1/1     Running   0          6m8s  10.244.1.3   k8s-node01

4_Rancher部署监控系统

① 启用监控组件

点击【启用监控以查看实时监控】,选择【监控组件版本】0.2.1,其他保持默认,点击【启用监控】

0.2.1版本监控组件提供集群实时监控能力

② 等待系统就绪

监控系统启动需要约10分钟

监控组件初始化过程较长,需耐心等待

5_使用Rancher仪表盘管理k8s集群

5.1_创建资源空间

① 创建dev命名空间

点击【Namespaces】→【Create】,输入【Name】dev,点击【Create】

创建隔离的应用部署空间

5.2_部署应用服务

② 创建nginx-dev Deployment

点击【Deployments】→【Create】:

  • 【Namespace】选择dev
  • 【Name】输入nginx-dev
  • 【Replicas】输入3
  • 【Container Image】输入nginx:1.14,【Pull Policy】选择IfNotPresent
  • 【Pod Labels】添加【Key】app、【Value】nginx
  • 【Labels and Annotations】添加【Key】app、【Value】nginx
  • 点击【Create】

部署3个副本的Nginx服务,使用指定容器镜像

5.3_暴露服务端口

③ 创建NodePort服务

点击【Services】→【Create】→【Node Port】:

  • 【Namespace】选择dev
  • 【Name】输入nginx-dev
  • 【Port Name】输入nginx
  • 【Listening Port】输入80
  • 【Target Port】输入80
  • 【Node Port】输入30180
  • 【Selectors】添加【Key】app、【Value】nginx
  • 点击【Create】

通过NodePort类型将服务暴露到节点30180端口(30000-32767范围)

④ 验证服务关联

点击刚创建的【nginx-dev】查看Pod关联状态

确认Service成功绑定Deployment的Pod

⑤ 访问服务

点击Service资源的【30180/TCP】端口链接

可直接访问集群内部的Nginx服务页面

结语

Rancher平台 :企业级Kubernetes集群管理工具,实现多环境集中管控。
集群导入 :必须通过--insecure参数绕过证书验证执行导入命令。
节点端口:NodePort类型需指定30000-32767范围内的端口号(如30180)。

!question\] 请问Rancher的核心价值是什么? 提供混合云环境下多Kubernetes集群的统一管理能力,降低容器平台运维复杂度 \[!question\] 请问导入k8s集群时为什么需要--insecure参数? 因Rancher默认使用自签名证书,必须跳过客户端证书验证才能正常注册集群 \[!question\] 请问NodePort服务的端口范围限制是什么? Kubernetes规定的NodePort端口范围是30000-32767

相关推荐
JiL 奥8 小时前
Ubuntu系统安装AWS SAM
云计算·aws
liyuanchao_blog8 小时前
linuxptp适配记录
linux·云计算
YongCheng_Liang10 小时前
从零开始学虚拟化:性能优化全指南(资源分配 + 存储网络 + 监控)
运维·云计算
YongCheng_Liang10 小时前
从零开始学虚拟化:高可用与灾备技术全解析(集群 + 备份 + 异地灾备)
运维·云计算
珠海西格21 小时前
“主动预防” vs “事后补救”:分布式光伏防逆流技术的代际革命,西格电力给出标准答案
大数据·运维·服务器·分布式·云计算·能源
xianyinsuifeng1 天前
RAG + Code Analysis 的标准路线
数据仓库·自动化·云计算·原型模式·aws
Genie cloud1 天前
在 Mac 上使用 Docker 安装宝塔并部署 LNMP 环境
macos·docker·容器·云计算
php_kevlin1 天前
阿里云AI接口接口
阿里云·云计算
万博智云OneProCloud1 天前
CloudEndure 退出中国市场之后,AWS 容灾该走向哪里?
云计算·aws
翼龙云_cloud1 天前
亚马逊云渠道商:如何从本地环境安全访问AWS云数据库RDS?
数据库·云计算·aws