掌握K8s集群,这些容器监控神器不容错过

作者:用户BEKO 更新时间:2025-05-31 11:16:54 阅读时间: 2分钟

引言

随着容器技术的普及,Kubernetes(K8s)成为了容器编排领域的领导者。在K8s集群的日常运维中,监控是确保集群稳定运行的关键。以下是一些不容错过的容器监控神器,它们可以帮助您更有效地管理和监控K8s集群。

一、Kuboard

Kuboard是一个用于管理和监控K8s集群的Web界面工具,它提供了直观的用户界面,使用户能够轻松查看和操作K8s中的资源。

特点:

  • 多种认证方式:内建用户库、Gitlab/GitHub单点登录、LDAP用户库
  • 多集群管理:将多个K8s集群导入Kuboard,通过权限控制,将不同集群/名称空间权限分配给用户/组
  • 微服务分层展示:以经典的微服务分层方式将工作负载划分到不同层,直观展示微服务架构的结构
  • 存储类型支持:方便对接NFS、CephFS等常用存储类型,支持对CephFS类型存储卷执行扩容和快照操作
  • 丰富的互操作性:可以通过通常在命令行界面才提供的互操作手段

安装:

建议通过docker安装:

docker run -d --restartunless-stopped --name kuboard -p 80:80/tcp -p 10081:10081/tcp -e KUBOARDENDPOINT"http://:80" -e KUBOARDAGENTSERVERTCP PORT"10081" -v /root/kuboard-data:/data eipwork/kuboard:v3

在浏览器中输入地址,即可访问。

二、Kubetail

Kubetail是一个简单Shell脚本,它可以将多个Pod中的日志信息聚合到一起进行展示,并支持彩色输出和条件过滤。

安装:

使用brew安装:

brew tap johanhaleby/kubetail && brew install kubetail

三、Stern

Stern是使用Go语言开发的一款开箱即用的简单工具,它可以将多个Pod中的日志信息聚合到一起进行展示,并支持彩色输出和条件过滤。

使用:

直接在终端运行:

 Stern

四、Cobra + Client-go

Cobra和Client-go是两个强大的工具,可以用来开发自定义的K8s监控插件。

开发步骤:

  1. 初始化项目,创建一个新的Go项目,并引入Cobra和Client-go的依赖。
  2. 使用Cobra构建CLI应用程序。
  3. 使用Client-go与K8s API Server交互。

示例代码:

package main

import (
    "fmt"
    "os"
    "github.com/spf13/cobra"
    "k8s.io/client-go/kubernetes"
    "k8s.io/client-go/tools/clientcmd"
)

var rootCmd = &cobra.Command{
    Use:   "k8s-plugin",
    Short: "k8s-plugin is a k8s monitoring tool",
}

func main() {
    rootCmd.Execute()
}

func init() {
    // Use configfile to load k8s configuration
    config, err := clientcmd.BuildConfigFromFlags("", "/path/to/kubeconfig")
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }

    k8sClient, err := kubernetes.NewForConfig(config)
    if err != nil {
        fmt.Println(err)
        os.Exit(1)
    }

    rootCmd.AddCommand(listPodsCmd)
}

var listPodsCmd = &cobra.Command{
    Use:   "list-pods",
    Short: "List all pods in the cluster",
}

func init() {
    listPodsCmd.Run = func(cmd *cobra.Command, args []string) {
        pods, err := k8sClient.CoreV1().Pods("").List(metav1.ListOptions{})
        if err != nil {
            fmt.Println(err)
            os.Exit(1)
        }

        for _, pod := range pods.Items {
            fmt.Println(pod.Name)
        }
    }
}

五、总结

以上这些容器监控神器可以帮助您更有效地管理和监控K8s集群。希望这些工具能帮助您在K8s集群的日常运维中更加得心应手。

大家都在看
发布时间:2024-11-25 10:48
一:端午节今天是端午节,几天前妈妈就给我脖子、手和脚带上了用五彩丝线编成的彩链。听大人说带着它一年吉祥如意,平平安安。姥姥说要包粽子。粽子做好后我马上飞奔过去拿了一个在手上,刚出锅的粽子皮是墨绿色的,闻起来好象有一股姥爷喝的茶叶的味道;粽子。
发布时间:2024-11-11 12:01
优秀家长的教育理念:一、“富养”孩子我觉得“富养”孩子可以从两方面入手: 1、物质上的“富养” 可以从衣、食、住、行等方面入手,比如说吃的东西讲究一些,当然也要注意营养要均衡。一定要注意的是虽说是物质上的“富养”,但是千万不要让孩子。
发布时间:2024-12-14 00:22
宁波地铁7号线是从鄞州区横溪站到镇海区贵安路站。沿线共设有26个站点。俞范组团应该是地铁停放编组的地方。。
发布时间:2024-10-31 10:39
手镯轮胎和贵妃叮当均是老北京眼镜的配件名称,它们的区别主要在于形状和长度。具体解释如下:1. 手镯轮胎:手镯轮胎是一种配在老北京眼镜上的橡胶弹簧,它的形状类似于手镯,因此被称为手镯轮胎。手镯轮胎的长度大约在20mm到25mm之间。2.。
发布时间:2024-12-16 18:10
十堰到石家庄火车票要100多元 车次 类型 始发站 出发站 开车时间 目的站 到达时间 用时 里程回 终点站 硬座 软座 硬卧中答 软卧下 1390 空调普快 重庆 十堰 09:43 石家庄 次日02:21 16小时40分 1077 北京。
发布时间:2024-12-14 04:44
广佛地铁开通时间--2010年10月底前开通!首段开通:魁奇路--西朗线路专的21座车站分别为魁奇路、属季华园、同济路、祖庙、普君北路、朝安、桂城、南桂路、(虫雷)岗、千灯湖、金融高新区、龙溪、菊村、西朗、鹤洞、沙涌、沙园、燕岗、石溪、南洲。
发布时间:2024-12-11 03:18
进站后有人工售票亭,也有自动售票机(按提示操作即可,超级简单)。车票是一张卡片,进站时在闸机上刷卡,闸机即开启。出站时将卡片送进出站闸机的收卡口,闸机即开启。1.2号线要转换的话,只能在天府广场站下车,不用出站,按路牌到另一线路乘车即可(。
发布时间:2024-12-10 20:41
深圳地铁首/末班车分别于6:30/23:00由各线始发站开出。(只有地铁5号线前海湾站前往黄贝岭站末班车为23:03)。(6)塘朗地铁站首发时间扩展阅读乘坐导引:1、找到站点乘客可留意地铁站外的路面导向标识,按箭头指示方向可快速找到地铁车站。
发布时间:2024-10-30 05:36
美白是现代女性的共同追求,各式各样的美白化妆品充斥着化妆品市场,也摆满了女孩们的化妆桌。但是化妆品中添加了很多化学物质,对健康造成一定的影响,很多化妆品打着。
发布时间:2025-05-24 21:25
内存地址概述在计算机中,内存地址是用于定位数据存储位置的编号。每个内存单元都有一个唯一的地址,通过这个地址,CPU可以访问并操作内存中的数据。在C语言中,理解内存地址对于编写高效、安全的程序至关重要。一、内存地址的基础概念1.1 内存单元与。