文章目录
- 前言
- 理论部分
- 实验部分
-
- 1_安装rancher
- 2_登录Rancher平台
- 3_Rancher管理已存在的k8s集群
- 4_Rancher部署监控系统
-
-
- [① 启用监控组件](#① 启用监控组件)
- [② 等待系统就绪](#② 等待系统就绪)
-
- 5_使用Rancher仪表盘管理k8s集群
-
- 5.1_创建资源空间
-
- [① 创建dev命名空间](#① 创建dev命名空间)
- 5.2_部署应用服务
-
- [② 创建nginx-dev Deployment](#② 创建nginx-dev Deployment)
- 5.3_暴露服务端口
-
- [③ 创建NodePort服务](#③ 创建NodePort服务)
- [④ 验证服务关联](#④ 验证服务关联)
- [⑤ 访问服务](#⑤ 访问服务)
- 结语
前言
本文档详细介绍了Rancher平台的安装、配置及Kubernetes集群管理流程,涵盖核心概念、部署步骤和操作实践。标题大纲如下:
- Rancher简介
- Rancher和k8s的区别
- 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

