【云原生】Kubernetes----Rancher助力Kubernetes监控

news2024/11/25 11:34:02

目录

引言

一、为什么需要监控K8s集群?

二、Rancher监控K8s集群的优势

三、Rancher和k8s的区别

四、Rancher 安装及配置

(一)安装rancher

1.下载镜像

2.运行容器

3.登录Rancher平台

4.添加集群

5.查看集群

6.Rancher 部署监控系统

7.使用Rancher仪表盘管理 k8s 集群

7.1 创建名称空间

7.2 创建Deployment资源

7.3 创建 service

7.4 访问测试

8.其它操作


引言

随着容器化技术的快速发展,Kubernetes已经成为企业部署和管理微服务、云原生应用的首选。然而,随着集群规模的扩大和复杂性的增加,如何有效地监控K8s集群的性能、资源使用情况以及应用的健康状况,成为了运维人员必须面对的挑战。Rancher作为一款开源的企业级K8s管理平台,提供了强大的监控能力,帮助用户实现集群的全方位掌控。

一、为什么需要监控K8s集群?

监控K8s集群的重要性不言而喻。首先,通过监控可以实时了解集群的资源使用情况,包括CPU、内存、磁盘、网络等关键指标,从而确保集群的稳定性和可用性。其次,监控可以帮助运维人员快速发现集群中的异常和故障,及时进行干预和修复,避免业务中断。此外,监控还可以为集群的扩容、优化和迁移提供数据支持,帮助企业实现更高效的资源利用和管理

二、Rancher监控K8s集群的优势

Rancher作为一款集成化的K8s管理平台,为用户提供了全面的监控能力。以下是Rancher监控K8s集群的几个优势:

易用性:Rancher提供了直观的图形化界面,用户可以通过简单的操作就能实现对集群的实时监控和告警管理。

灵活性:Rancher支持多种监控插件和工具,如Prometheus、Grafana等,用户可以根据自己的需求选择合适的监控方案。

可扩展性:Rancher的监控能力可以随着集群规模的扩大而扩展,满足各种规模的K8s集群监控需求。

安全性:Rancher遵循严格的权限管理策略,确保只有授权的用户才能访问和修改监控数据。

官网:https://docs.rancher.cn/

三、Rancher和k8s的区别

Rancher 和 k8s 都是用来作为容器的调度与编排系统。但是 rancher 不仅能够管理应用容器,更重要的一点是能够管理 k8s 集群。 Rancher2.x 底层基于 k8s 调度引擎,通过 Rancher 的封装,用户可以在不熟悉 k8s 概念的情况下轻松的通过 Rancher 来部署容器到k8s集群当中。

四、Rancher 安装及配置

环境准备

主机名IP地址主机类型资源配额
master01192.168.83.30k8s集群控制节点4C4G
node01192.168.83.40k8s集群工作节点4C4G
node02192.168.83.50k8s集群工作节点4C4G
rancher192.168.83.60Rancher节点4C8G

(一)安装rancher

1.下载镜像

//在master01节点下载rancher-agent镜像
[root@master01 rancher]#docker pull rancher/rancher-agent:v2.5.7

//在 rancher 节点下载 rancher 镜像
[root@rancher ~]#docker pull rancher/rancher:v2.5.7

2.运行容器

在Rancher节点,即服务端,进行操作

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: 这个参数用于发布容器内部的端口到宿主机。这里,容器内的80端口映射到了宿主机的80端口,允许外部访问容器运行的服务。同样地,-p 443:443用于HTTPS流量

--privileged: 这个标志给予容器更多的权限,相当于root权限。它允许容器访问更多的宿主机资源,例如设备访问。

--name rancher: 这个选项指定了容器的名字。给容器命名可以帮助管理和识别特定的容器。

rancher/rancher:v2.5.7: 这是容器镜像的仓库名和标签。rancher/rancher是Rancher官方提供的Docker镜像仓库,v2.5.7是具体的版本号。

[root@rancher ~]#docker run -d --restart=unless-stopped -p 80:80 -p 443:443 --privileged --name rancher rancher/rancher:v2.5.7
bffc75ab763fc0fc43f87a159ec1cd98f450ce8a6b0c336e28c123b78cc142d1
[root@rancher ~]#docker ps
CONTAINER ID   IMAGE                    COMMAND           CREATED         STATUS         PORTS                                                                      NAMES
bffc75ab763f   rancher/rancher:v2.5.7   "entrypoint.sh"   4 seconds ago   Up 2 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   rancher

3.登录Rancher平台

浏览器访问Rancher服务端IP地址,由于没有SSL证书,忽略直接进入即可

第一次访问可能会拒绝,需要刷新界面,而后选择中文,输入密码,默认用户名称为admin

登录后如是英文页面,可点击右下角语言选项选择中文

4.添加集群

Rancher 管理已存在的 k8s 集群
选择【添加集群】,点击【导入】
【集群名称】设置为 k8s-cluster,点击【创建】
选择复制第三条命令绕过证书检查导入 k8s 集群

在master01节点上执行复制的命令

[root@master01 rancher]#curl --insecure -sfL https://192.168.83.60/v3/import/kvcpwhv4r5rlqbvccgznpxkmrkmmd9bzvl5nc46n2t9zjhs6rtttps_c-s2frn.yaml | kubectl apply -f -
error: no objects passed to apply
#第一次失败,需要再执行一次
[root@master01 rancher]#curl --insecure -sfL https://192.168.83.60/v3/import/kvcpwhv4r5rlqbvccgznpxkmrkmmd9bzvl5nc46n2t9zjhs6rtttps_c-s2frn.yaml | kubectl apply -f -
clusterrole.rbac.authorization.k8s.io/proxy-clusterrole-kubeapiserver created
clusterrolebinding.rbac.authorization.k8s.io/proxy-role-binding-kubernetes-master created
namespace/cattle-system created
serviceaccount/cattle created
clusterrolebinding.rbac.authorization.k8s.io/cattle-admin-binding created
secret/cattle-credentials-a0245e9 created
clusterrole.rbac.authorization.k8s.io/cattle-admin created
deployment.apps/cattle-cluster-agent created
------------------------------------------------------------------------------------
[root@master01 rancher]#kubectl get ns cattle-system
NAME              STATUS   AGE
cattle-system     Active   118s
[root@master01 rancher]#kubectl get all -n cattle-system 
NAME                                        READY   STATUS    RESTARTS   AGE
pod/cattle-cluster-agent-7cc4d8b7df-cjpwk   1/1     Running   0          59s

NAME                                   READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/cattle-cluster-agent   1/1     1            1           2m33s

NAME                                              DESIRED   CURRENT   READY   AGE
replicaset.apps/cattle-cluster-agent-54b795cff7   0         0         0       2m33s
replicaset.apps/cattle-cluster-agent-7cc4d8b7df   1         1         1       59s

5.查看集群

6.Rancher 部署监控系统

点击【启用监控以查看实时监控】
【监控组件版本】选择 0.2.1,其他的默认即可
点击【启用监控】,启动监控时间可能比较长,需要等待10分钟左右

7.使用Rancher仪表盘管理 k8s 集群

点击【仪表盘】进入 k8s 集群仪表盘界面

7.1 创建名称空间

#创建名称空间 namespace
点击左侧菜单【Namespaces】,再点击右侧【Create】
【Name】输入 rancher-test,【Description】选填可自定义
点击右下角【Create】

在master01服务器中查看

[root@master01 ~]#kubectl get ns rancher-test 
NAME           STATUS   AGE
rancher-test   Active   37s
7.2 创建Deployment资源

创建 Deployment 资源
点击左侧菜单【Deployments】,再点击右侧【Create】
【Namespace】下拉选择rancher-test ,【Name】输入 nginx-rancher-test,【Replicas】输入 3
点击中间选项【Container】,【Container Image】输入 nginx:1.18.0,【Pull Policy】选择 IfNotPresent
在【Pod Labels】下点击【Add Lable】,【Key】输入 app,【Value】输入 nginx
点击中间选项【Labels and Annotations】,点击【Add Label】,【Key】输入 app,【Value】输入 nginx
点击右下角【Create】

在master01服务器中查看

[root@master01 ~]#kubectl get deployments.apps,pod -n rancher-test 
NAME                                 READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx-rancher-test   3/3     3            3           80s

NAME                                      READY   STATUS    RESTARTS   AGE
pod/nginx-rancher-test-6978bb677f-4ngph   1/1     Running   0          80s
pod/nginx-rancher-test-6978bb677f-dptg5   1/1     Running   0          80s
pod/nginx-rancher-test-6978bb677f-qzx5n   1/1     Running   0          80s
7.3 创建 service

点击左侧菜单【Services】,再点击右侧【Create】
点击【Node Port】
【Namespace】下拉选择 rancher-test,【Name】输入 nginx-rancher-svc
【Port Name】输入 web,【Listening Port】输入 80,【Target Port】输入 80,【Node Port】输入 32000
点击中间选项【Selectors】,【Key】输入 app,【Value】输入 nginx
点击右下角【Create】
点击【nginx-rancher-test】查看 service 是否已关联上 Pod

在master01服务器中查看

[root@master01 ~]#kubectl get deployments.apps,pod,svc -n rancher-test 
NAME                                 READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx-rancher-test   3/3     3            3           6m6s

NAME                                      READY   STATUS    RESTARTS   AGE
pod/nginx-rancher-test-6978bb677f-4ngph   1/1     Running   0          6m6s
pod/nginx-rancher-test-6978bb677f-dptg5   1/1     Running   0          6m6s
pod/nginx-rancher-test-6978bb677f-qzx5n   1/1     Running   0          6m6s

NAME                        TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
service/nginx-rancher-svc   NodePort   10.96.136.41   <none>        80:32000/TCP   35s
7.4 访问测试

访问集群任意节点的32000端口

8.其它操作

管理告警通知:Rancher支持多种告警通知方式,如邮件、Slack等。用户可以设置告警规则,当集群中的某个指标超过阈值时,系统将自动发送告警通知给指定的接收者。

例如添加通知

通过Rancher的监控功能,用户可以实现对K8s集群的全方位掌控。无论是实时查看集群状态、快速定位故障还是进行性能优化,Rancher都能提供有力的支持。随着容器化技术的不断发展,Rancher将继续优化和完善其监控能力,为企业提供更加稳定、高效和安全的K8s管理方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1818893.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

私域引流宝PHP源码 以及搭建教程

私域引流宝PHP源码 以及搭建教程

uni-date-picker 禁用日期功能

在uni-datetime-picker组件中 calendar.vue <template><view class"uni-calendar" mouseleave"leaveCale"><view v-if"!insert && show" class"uni-calendar__mask" :class"{uni-calendar--mask-show:an…

Linux服务器快速下载GoogleDriver小技巧——利用gdown工具

Linux服务器快速下载GoogleDriver小技巧——利用gdown工具 1. 安装gdown pip install gdown安装好后如果在终端输入gdown显示如下错误&#xff1a;gdown: command not found&#xff0c;则说明gdown默认安装的位置需要软链接一下&#xff0c;执行以下命令&#xff1a; sudo …

坑记(MySQL之delete操作)

背景知识 我们知道MySQL有两种删除操作&#xff1a;delete和truncate。 二者之间是否一样&#xff0c;且看以下内容&#xff1a; 操作名称操作简介deleteDML中的一种&#xff0c;操作对象是记录&#xff0c;即table中的一行&#xff0c;可恢复&#xff0c;速度慢truncateDDL中…

怎么防止源代码泄露?9种方法教会你!

怎么防止源代码泄露&#xff1f;首先要了解员工可以通过哪些方式将源代码传输出去&#xff01; 物理方法&#xff1a; — 网线直连&#xff0c;即把网线从墙上插头拔下来&#xff0c;然后和一个非受控电脑直连; — winPE启动&#xff0c;通过光盘或U盘的winPE启动&#xff0c;甚…

execl拷贝图片

1&#xff1a;拷贝图片 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h>int main(int argc, const char *argv[]) {//在子进程拥有和父进程一样的拷贝文件(确保拷贝文件为空)int fp_…

SSC30KD SigmaStar 摄像头主控芯片

SSC30KD SigmaStar 摄像头主控芯片

# RocketMQ 实战:模拟电商网站场景综合案例(十一)

RocketMQ 实战&#xff1a;模拟电商网站场景综合案例&#xff08;十一&#xff09; 一、RocketMQ 实战&#xff1a;模拟电商网站场景综合案例-- web 端项目开发 1、在 shop-order-web 工程模块中&#xff0c;创建 Controller 类 OrderControllre.java /*** shop\shop-order…

Threejs-09、贴图的加载与环境遮蔽强度设置

1、创建文理加载器 let textureLoader new THREE.TextureLoader();2、加载贴图 // 加载文理 let texture textureLoader.load("./img/image.png") // 加载ao贴图 let aoMap textureLoader.load("./img/image.png");3、创建一个平面 let planeGeomet…

这总商务会议图怎么绘制?一行代码搞定...

今天这篇推文小编给大家介绍一个一直想绘制的图表-议会图(parliament diagrams),当然这也是柱形图系列变形的一种。绘制这种图表也是超级简单的&#xff0c;只需使用R-ggpol包进行绘制即可&#xff0c;当然&#xff0c;改包还提供其他优秀的绘图函数&#xff0c;下面就一起来看…

Final Cut Pro:剪辑之巅,创意无界

Final Cut Pro是一款由Apple推出的专业视频剪辑软件&#xff0c;以其强大的功能和卓越的性能&#xff0c;成为众多影视制作人员、广告设计师和视频编辑师的首选工具。 Final Cut Pro获取 Final Cut Pro提供了丰富的剪辑功能&#xff0c;包括多轨道编辑、精确剪辑控制、实时预览…

AI绘画工具介绍(清晰图例)

一、引言 随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;已经逐渐渗透到我们生活的各个领域&#xff0c;绘画艺术界也不例外。近年来&#xff0c;AI在绘画领域的应用日益广泛&#xff0c;展现出了令人瞩目的发展趋势。通过深度学习和图像处理技术&#xff…

如何在浏览器书签栏设置2个书签实现一键到达网页顶部和底部

本次设置浏览器为&#xff1a;Chrome浏览器&#xff08;其他浏览器可自行测试&#xff09; 1&#xff0c;随便收藏一个网页到浏览器书签栏 2&#xff0c;右键这个书签 3&#xff0c;修改 4&#xff0c;修改名称 5&#xff0c;修改网址&#xff1a; javascript:(function(…

vue 之 vuex

目录 vuex 是什么 Vuex管理哪些状态呢&#xff1f; Vuex 页面刷新数据丢失怎么解决 1. 使用浏览器的本地存储 2. 使用 Vuex 持久化插件 3. 使用后端存储 注意事项 Vuex 为什么要分模块并且加命名空间 vuex 是什么 vuex 是专门为 vue 提供的全局状态管理系统&#xff0c…

flask南京市旅游景点信息可视化的设计与实现-计算机毕业设计源码02941

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对南京市旅游景点信息可视化等问题&#xff0…

【stable diffusion】ComfyUI扩展安装以及”127.0.0.1拒绝了我们的连接请求“解决记录

扩展安装 虽然大家都推荐将扩展包直接放到extension文件夹的方式&#xff0c;但我还是推荐直接在sd webui的扩展处下载&#xff0c;酱紫比较好维护一点&#xff0c;我个人感觉。 按照上图顺序点击会出现”URLError: <urlopen error [Errno 11004] getaddrinfo failed>”…

C# Winform DPI自适应方案

Winform窗体随着屏幕的DPI缩放,会引起窗体变形及字体变形。 1.设置窗体和自定义用户控件的AutoScaleMode为None 实现目标:禁止窗体因为字体大小缩放变形 因为显示的高分屏,然后操作系统的设置了字体缩放引起的。窗体默认的AutoScaleMode = Font,控件会因为高分屏自动缩放…

算法体系-21 第二十一 暴力递归到动态规划(三)

一 最长回文子串 1.1 描述 给定一个字符串str&#xff0c;返回这个字符串的最长回文子序列长度 比如 &#xff1a; str “a12b3c43def2ghi1kpm” 最长回文子序列是“1234321”或者“123c321”&#xff0c;返回长度7 1.2 分析 1.2.1 先将原传逆序&#xff0c;求原串和反转后的…

复旦测评13家大模型高考数学成绩,字节豆包II卷超GPT-4o夺冠

近日&#xff0c;复旦大学自然语言处理&#xff08;NLP&#xff09;实验室LLMEVAL团队公布了2024 年高考数学大模型评测结果。数据显示&#xff0c;字节豆包在2024高考数学新 II 卷客观题正确率达到74.66%&#xff0c;在13家大模型中排名首位&#xff0c;阿里千问和GPT-4o分列二…

MySQL查询数据库中所有表名表结构及注释以及生成数据库文档

MySQL查询数据库中所有表名表结构及注释 生成数据库文档在后面&#xff01;&#xff01;&#xff01; select t.TABLE_COMMENT -- 数据表注释 , c.TABLE_NAME -- 表名称 , c.COLUMN_COMMENT -- 数据项 , c.COLUMN_NAME -- 英文名称 , -- 字段描述 , upper(c.DATA_TYPE) as …