0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Awesome 工具如何更好地管理Kubernetes

马哥Linux运维 来源:马哥Linux运维 2023-06-25 16:12 次阅读

在 DevOps 生态系统中,拥有出色的 DevOps 工具来减轻人为操作非常重要。每个 DevOps 阶段都可以使用大量的 DevOps 工具。

如果您在 DevOps 领域中工作并在容器中运行应用程序,那么 Kubernetes 是必备工具之一。有数百种工具可与 Kubernetes 配合使用以添加更多功能。我说的是用于更好地管理,安全性,仪表板和 Kubernetes 集群监控的工具。

这是一系列令人惊奇的工具,它们为您的 Kubernetes 增加了更多功能。

Helm

Helm 是 Kubernetes 的软件包管理器,可以轻松地获得高度可重复的应用程序和服务,或在许多不同的场景中使用它们,从而使将它们轻松部署到典型的Kubernetes集群中变得更加容易。使用 Helm,您可以查找,共享和使用为 Kubernetes 构建的软件。

它使用称为 Helm Charts 的图表来定义,安装和升级复杂的 Kubernetes 应用程序。

Helm功能:

使用图表处理所有Kubernetes应用程序的复杂性

使用升级和自定义钩子轻松更新内容。

可以在公共或私有服务器上轻松共享图表。

只需一个命令即可轻松回滚

提高开发人员的生产力并增强操作准备

Flagger

Flagger 是 Kubernetes 的渐进交付 operator。

它使用 Istio,App Mesh,Nginx,Linkerd,Contour,Gloo,Skipper 路由进行流量转移,并使用 Prometheus 进行金丝雀分析,从而自动促进金丝雀部署。在 Canary 部署中,您将发行版发布给一小群用户,对其进行测试,如果运行良好,则将发行版发布给所有人。

b12db38e-110b-11ee-962d-dac502259ad0.jpg

它使用集群中运行的服务网格来管理一个部署和另一个部署之间进行的通信。为了将流量转移到Canary,它会测量性能指标,例如平均请求持续时间,HTTP请求成功率,pod运行状况等。

Flagger可以针对几种部署策略(如Canary,A / B测试,蓝/绿部署)运行自动化的应用程序分析,升级和回滚。

Kubewatch

Kubewatch 是开源的 Kubernetes 观察程序,它通过 slack 发送通知。

它是用 Go 编程编写的,由 Bitnami Labs 开发。它用于监视Kubernetes资源并通知是否有任何更改。

您可以通过 kubectl 或使用 helm 图表来安装 Kubewatch。它易于理解,并且具有非常易于使用的界面。除了slack之外,它还支持 HipChat,Mattermost,Flock,webhook和 SMTP。

根据要监视的 Kubernetes,可以在ConfigMap文件中为那些资源设置true或false。设置kubewatch配置并运行Pod之后,您将开始在Kubernetes事件上接收通知,如下所示。

b151b66c-110b-11ee-962d-dac502259ad0.jpg

Gitkube

Gitkube 是使用 git push 在 Kubernetes 上构建和部署 Docker 镜像的工具。它包含三个组件–Remote,gitkube-controller和gitkubed。Remote由gitkube-controller管理的自定义资源组成。gitkube-controller将更改发送到gitkubed,然后gitkubed构建并部署docker镜像。

b176ac24-110b-11ee-962d-dac502259ad0.jpg

Gitkube 功能:

易于安装,即插即用

提供基于角色的访问控制以提高安全性

使用公钥即可轻松进行身份验证

支持多租户的名称空间

除了kubectl和git外没有其他依赖项

kube-state-metrics

kube-state-metrics是一项通过侦听Kubernetes API服务器生成状态对象指标的服务。它用于检查各种对象(例如节点,吊舱,名称空间和部署)的运行状况。它通过Kubernetes API为您提供未经修改的原始数据。

以下是kube-state-metrics提供的信息

CronJob和Job状态

Pod的状态(就绪,正在运行等)

资源需求及其范围

节点容量及其状态

副本集的规格

Kamus

Kamus是一个开源GitOps工具,用于对Kubernetes应用程序的secret进行加密和解密。Kamus所做的加密secret只能由Kubernetes集群上运行的应用程序解密。它使用AES,Google Cloud KMS,Azure KeyVault进行secret加密。您可以使用Helm图表开始使用Kamus。

Kamus带有两个实用程序– Kamus CLI和Kamus init容器。Kamus CLI用于与加密API集成,而Kamus初始化容器用于与API解密集成。

Kubernetes普通secret未加密;它们是base64编码的。您不能按原样保留它。这是不安全的。任何有权访问该存储库的人都可以使用这些secret。因此,需要像Kamus这样的适当的加密/解密解决方案。它还提供了一种威胁模型,可以处理威胁并确保secret安全。

Untrak

Untrak是Kubernetes中使用的一种开源工具,用于查找未跟踪的资源并对其进行垃圾收集。它可以帮助您从集群中查找和删除那些未跟踪的文件。

在使用kubectl apply或helm模板将清单注入到CI/CD管道后,Kubernetes不知道何时从存储库中删除对象。删除对象后,将不会在交付过程中对其进行跟踪,而仍将其驻留在Kubernetes集群上。

它使用简单的配置文件 untrak.yaml在内部执行命令,以查找不再属于源代码管理一部分的资源。

b1a3a40e-110b-11ee-962d-dac502259ad0.jpg

Scope

Weave Scope用于可视化,监视Docker和Kubernetes并对其进行故障排除。

它显示了容器化应用程序的俯视图以及完整的基础结构,您可以使用它们轻松地发现任何问题并进行诊断。

在Docker容器中运行微服务架构应用程序并不是那么容易。这里的组件非常动态,很难监控。借助scope,您可以轻松地解决内存泄漏问题并控制CPU消耗,可视化网络瓶颈。

b1d0c538-110b-11ee-962d-dac502259ad0.jpg

Scope 功能:

帮助您实时监控Docker容器

提供在容器中运行的进程之间的轻松导航

显示主机或服务的CPU和内存使用情况

使用CLI重新启动,停止或暂停容器,而无需离开范围浏览器窗口

支持自定义插件以获取有关容器,进程和主机的更多详细信息

Kubernetes Dashboard

Kubernetes 仪表板是 Kubernetes 提供的 Web 界面。它用于在 Kubernetes 集群上部署,故障排除和管理容器化的应用程序。它提供了有关集群的所有信息,例如有关节点,名称空间,角色,工作负载等的详细信息。

b1fd20b0-110b-11ee-962d-dac502259ad0.jpg

Kops

Kops是一个开源项目,用于非常轻松,快速地建立可投入生产的Kubernetes集群。Kops主要可用于在AWS和GCE上部署Kubernetes集群。

小型 Kubernetes 集群很容易创建和维护,但是在扩展集群时,会添加许多配置,并且很难进行操作管理。Kops 是可帮助您解决此类问题的工具。它遵循配置驱动的方法,该方法可以使集群始终保持最新和安全。

Kops 还具有许多网络后端,根据使用情况选择其中一个,可以使您轻松设置各种类型的集群。

cAdvisor

cAdvisor是用于监视容器的开源工具。它用于了解集群上运行的容器的性能特征和资源使用情况。

它在节点级别上运行,并且可以自动发现在特定节点上运行的所有容器,并收集内存,文件系统,CPU和网络统计信息。它提供了一个Web界面,可显示集群中所有容器的实时数据。

要开始使用cAdvisor,您需要运行其 docker image google/cadvisor,然后可以在Web浏览器中的http://localhost:8080上访问它。

b227b96a-110b-11ee-962d-dac502259ad0.jpg

Kubespray

Kubespray是一个免费工具,它是通过组合Ansible 剧本和Kubernetes创建的。它用于Kubernetes集群生命周期管理。

通过使用Kubespray,您可以快速部署集群并自定义集群实施的所有参数,例如部署模式,网络插件,DNS配置,组件版本,证书生成方法等。

通过仅运行一本简单的ansible-playbook,您的集群即可启动并运行。您可以轻松扩展或升级Kubernetes集群。

K9s

K9s是基于开源终端的工具,其仪表板实用程序可以完成Kubernetes Web UI的所有工作。它用于导航,观察和管理Kubernetes集群上部署的应用程序。

b24e24c4-110b-11ee-962d-dac502259ad0.jpg

k9s功能:

实时跟踪您的集群

根据每个资源自定义显示

放大以解决资源问题

支持基于角色的访问控制

内置基准以验证资源性能

Kubetail

Kubetail是一种简单的bash脚本,用于在一个流中聚合来自多个pod的日志。

最新的Kubetail版本还具有突出显示和过滤功能。此功能使您可以执行日志着色。使用自制软件,您可以使用单个命令安装Kubetail。您可以在Kubetail可以读取的环境变量中添加默认值,例如 KUBETAIL_NAMESPACE, KUBETAIL_TAIL, KUBETAIL_SKIP_COLORS等。

PowerfulSeal

PowerfulSeal是一个用Python编写的,用于Kubernetes集群的开源,功能强大的混沌工程工具。

混沌工程用于使系统有信心检查其处理生产中问题情况的能力。它给Kubernetes集群注入了故障,以便尽早发现其中的问题。

它受到Netflix Chaos Monkey的启发,用于提高Kubernete的弹性。工程师使用PowerfulSeal故意破坏集群中的内容,以检查系统的反应。

PowerfulSeal在三种模式下工作-自主,交互,标签

在自主模式下,它通过读取您提供的策略文件来执行方案。在交互模式下,它会告诉您有关手动尝试破坏的集群组件的信息。在标签模式下,您可以使用标签杀死集群上的目标对象,例如Pod。

b27a616a-110b-11ee-962d-dac502259ad0.jpg

Popeye

Popeye是一种清洁实用程序,可充当Kubernetes集群的消毒器。

b2ab073e-110b-11ee-962d-dac502259ad0.jpg

它将扫描整个集群,并报告与配置和资源有关的问题。它可以帮助您在Kubernetes集群上执行最佳实践,以避开常见问题。

该实用程序可用于Windows,Linux和macOS。当前,它仅适用于节点,Pod,名称空间,服务。使用Popeye,您可以轻松地识别已用和未使用的资源,端口不匹配,RBAC规则,指标利用率等。

结论

DevOps 工具在成功中扮演着至关重要的角色,我希望以上内容可以帮助您更好地管理Kubernetes。
责任编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 管理器
    +关注

    关注

    0

    文章

    233

    浏览量

    18319
  • 容器
    +关注

    关注

    0

    文章

    481

    浏览量

    21883
  • kubernetes
    +关注

    关注

    0

    文章

    219

    浏览量

    8568

原文标题:16个 Awesome 工具让 Kubernetes 如虎添翼

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Kubernetes的Device Plugin设计解读

    摘要: Kubernetes的生态地位已经确立,可扩展性将是其发力的主战场。异构计算作为非常重要的新战场,Kubernetes非常重视。而异构计算需要强大的计算力和高性能网络,需要提供一种统一的方式
    发表于 03-12 16:23

    不吹不黑,今天我们来聊一聊 Kubernetes 落地的三种方式

    信息,比如为管理工具提供状态检查等。此外,Kubernetes 控制器也是构建在跟开发人员和用户使用的相同的 API 之上,用户还可以编写自己的控制器和调度器,也可以通过各种插件机制扩展系统的功能
    发表于 10-12 16:07

    Kubernetes上运行Kubernetes

    开源容器编排引擎 Kubernetes 绝对有魔力。 一直以来,容器就是个很酷的概念,但事实上,广泛部署却十分困难。你几乎没法手动管理容器之间的网络、持续存储和数百个容器间的自动扩展
    发表于 09-30 13:33 0次下载
    在<b class='flag-5'>Kubernetes</b>上运行<b class='flag-5'>Kubernetes</b>

    如何部署基于Mesos的Kubernetes集群

    kubernetes是一个跨多个计算节点的管理容器化应用的系统,它提供了一系列基本的功能,如应用的自动化部署,维护和扩展等。Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统
    发表于 10-09 18:04 0次下载
    如何部署基于Mesos的<b class='flag-5'>Kubernetes</b>集群

    Kubernetes API详解

    摘要:Kubernetes是Google开源的容器集群管理系统。它构建Ddocker技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等整一套功能,本文节选自
    发表于 10-12 16:19 0次下载
    <b class='flag-5'>Kubernetes</b> API详解

    Google Kubernetes机器学习工具包Kubeflow发布0.1版

    Kubernetes日渐成为各大基础架构环境都要支持的公用工具时,其应用也逐渐在各个领域发酵,而该工具能调度庞大规模容器集群的能力,也相当适合与机器学习、大数据等应用场景结合。而近日
    发表于 05-17 08:17 1679次阅读

    最常用的11款Kubernetes工具

    “到 2021 年,几乎所有接触过云基础设施的人都熟悉 Kubernetes 项目。简单地说,Kubernetes 是一个非常强大的容器编排平台,并且 Kubernetes 社区一直在共享工具
    的头像 发表于 08-23 10:43 1896次阅读

    使用NVIDIA操作符加速Kubernetes

      Kubernetes 是一个开源的容器编排系统,用于自动化计算机应用程序部署、扩展和管理。它是一个非常流行的工具,可以用于自动展开和回滚、水平扩展、存储编排等。对于许多组织来说, Kube
    的头像 发表于 04-11 16:13 809次阅读

    Awesome-IT-Books IT技术数据

    Awesome-IT-Books.zip
    发表于 04-19 14:14 0次下载
    <b class='flag-5'>Awesome</b>-IT-Books IT技术数据

    Awesome Python免费资源集合

    awesome-python.zip
    发表于 04-19 11:30 0次下载
    <b class='flag-5'>Awesome</b> Python免费资源集合

    Awesome-Android-Architecture架构文章

    Awesome-Android-Architecture.zip
    发表于 04-19 11:24 1次下载
    <b class='flag-5'>Awesome</b>-Android-Architecture架构文章

    Awesome Go框架、库和软件清单

    awesome-go.zip
    发表于 04-19 11:23 0次下载
    <b class='flag-5'>Awesome</b> Go框架、库和软件清单

    kubernetes是什么,Kubernetes架构原理详解

    Kubernetes是一个基于容器技术的分布式集群管理系统。它是谷歌在大规模应用容器技术方面数十年经验的实际成果。因此,支持大规模的集群管理承载着非常多的组件,分布式本身的复杂度非常高。
    发表于 03-31 10:06 414次阅读

    Docker、Containerd和Kubernetes之间的关系

    Docker是最早出现的那批容器引擎工具,所以它最早占领了市场。Kubernetes主要用来做容器编排,用来管理容器集群,是一个平台。
    的头像 发表于 04-08 10:44 911次阅读

    Kubernetes是怎样工作的?

    Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明式配置和自动化,它拥有庞大且快速发展的生态系统,Kubernetes 服务、支持和工具随处
    的头像 发表于 05-12 16:13 318次阅读
    <b class='flag-5'>Kubernetes</b>是怎样工作的?