【云原生-k8s篇】管理容器的顶级 Kubernetes工具有哪些?

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 【云原生-k8s篇】管理容器的顶级 Kubernetes工具有哪些?

正文


在过去的一两年里,用于容器管理的Kubernetes已成为一种巨大的趋势。可以使用各种 Kubernetes 原生开发的应用程序,以及一些开箱即用的解决方案,可将你的应用程序扩展到容器领域。这些工具旨在管理在各种其他系统上运行的 Kubernetes 和容器化应用程序。


在本文中,我将分享我个人列出的用于管理容器的 8 大 Kubernetes 工具。


1. Kubernetes Monitor


Kubernetes Monitor 是我在寻找用于管理容器的工具时首先寻找的 Kubernetes 工具之一。Kubernetes Monitor 是我为此尝试的第一个开源工具,但我非常失望,因为它甚至不支持 VM。


Kubernetes Monitor 的第一个 beta 版本是在 2017 年 2 月,根据GitHub页面显示,该产品在 2017 年 3 月底达到稳定版本。


Kubernetes Monitor 将支持你可视化你的容器和 Kubernetes 节点编排器。它允许你过滤容器的名称,还允许你按名称、容器 ID 和资源组搜索资源使用情况。Kubernetes Monitor 还允许你通过导出自定义和日志来生成有用的数据以供将来参考。你可以将这些自定义设置作为 cronjobs 运行,甚至可以将它们用作应用程序的插件。


Kubernetes Monitor 有两种不同的工作模式:


Host > Workloads > Startup Summary


Host > Workloads > Application Summary


这些是评估 Kubernetes Monitor 时要查找的最重要的文件。


2.Terraform


Terraform是一个开源 Kubernetes 工具,用于管理和扩展你的基础设施。它是由 Packer(用于部署各种包的强大工具)的创建者创建的。Terraform 允许你将Kubernetes 基础架构置于你的控制之下并对其进行管理,而无需配置文件、自动配置脚本,甚至是一行 Ruby。


然而,Terraform 远不止于此。通过导入一个或多个 Kubernetes 节点定义,你可以轻松创建完全托管的资源。使用 Terraform,你还可以将服务器附加到一个特定的位置。


要安装 Terraform,请运行:

$ brew install terraform


3. Pipemon


Pipemon 是用Go 语言编写的安全审计和监控解决方案。它与 Kubernetes 兼容,并创建一个 Docker 文件,允许你创建有关容器的自定义信息。


该报告是使用标准系统实用程序生成的。如果需要自定义报表,可以修改Dockerfile,修改报表。该图像具有更改日志和容器编号。集装箱编号是每个集装箱的唯一标识符,也可以用于安全警报。


使用 Pipemon,你可以审核 Kubernetes 部署并在出现问题时通知。我公司还在一个项目中使用了该解决方案(不是用 Go 编写的)来审计Docker 容器。


4.NameNode


作为管理服务器的 Kubernetes 工具,NameNode 将帮助你识别服务器的IP 地址和它们正在使用的端口。如果名称配置不正确,它还将帮助你确定其主机名。


你可以使用以下命令安装 NameNode:

$ curl -sS https://getnamenode.org/installer |  sh

你可以通过解压来使用NameNode的安装文件:

$ tar zxvf namenode-1.0.2.tar.gz

然后将 namenode-1.0.2.tar.gz 复制到你的 /opt 目录中,并将提取的 name node-1.0.2 文件的路径添加到:

$ mkdir /opt/namenode-1.0.2
$ cd /opt/namenode-1.0.2
$ cp namenode-1.0.2.tar.gz /opt/namenode-1.0.2/namenode
$ sudo cp /opt/namenode-1.0.2/namenode/local/src/local/share/

NameNode 带有一个工具,可用于在其外壳中托管自定义命令并将其用于不同目的。


5.Inspect.sh


Inspect.sh 是一个强大的 Kubernetes 调试工具,这意味着它允许你以多种方式探索 Kubernetes。该工具是其自身外壳中的一组任务。其中一个功能是你可以在 kubelet 进程中进行跟踪。当你无法对 Kubernetes 基础架构进行全面检查时,此功能很有用。


Inspect.sh 可以在 Kubernetes kubelet 中执行命令,然后检查它们。


你可以在 GitHub 上找到完整的示例。


6. Flow


Flow 是一个 Kubernetes 工具,用于管理和跟踪 Kubernetes 服务。它允许你创建和配置无需任何配置即可工作的大规模流。


Flow 允许你从 Kubernetes 服务器检索日志。你可以阅读日志以了解 Kubernetes 集群内部发生的情况。


要使用 Flow,请创建一个名为 flow-controller-for-kubernetes.yml 的 Docker 文件,然后使用以下命令安装它:

$ docker run -d --net=host \
-p 8080:8080 --rm \
-p 9100:9100 --name Kubernetes \
-v /usr/lib/systemd/system/\
kubernetes/kubernetes.service\
-v /usr/lib/systemd/system/
nodejs-sdk.sh.gz

该命令集将运行 nodejs-sdk.sh.gz,它将在你的目录中创建一个 Docker 文件。你需要创建的目录是 Kubernetes 集群的根文件夹。


当你在集群中运行 flow-controller-for-kubernetes.yml 时,将执行以下命令:

$ sudo flow-controller-for-kubernetes.yml

此命令将打开 YAML 文件并向你显示你可以在 Kubernetes 系统内执行的所有命令。


要验证是否所有命令都正确执行,请运行以下命令:

$ sudo netcat -h 192.168.3.4

要查看随流执行的所有命令的列表,请运行以下命令:

$ sudo flow list

然后将上面创建的 YAML 文件复制到 /usr/lib/systemd/system/ 并在 /etc/systemd/system 中添加 YAML 文件的路径。


7.gzip


gzip 是一个用于解压缩大文件和检测错误的实用程序。它带有一组命令行工具和一个交互式 Web 界面。


你可以使用 gzip 解压缩大文件。Gzip 可以通过任何使用 systemd 的容器执行。


例如,要在你的 Kubernetes 集群上运行 gzip,你需要安装一个服务器,然后安装 Gzip,如下所示:

$ sudo apt-get install gzip $ sudo mkdir -p /var/lib/systemd/system/ $ sudo apt-get install gzip $ sudo gzip -v /etc/systemd/system/

将显示以下消息:


发布版本:3.14.0-40+deb8u6 OpenSUSE 12.2 状态:启用优先级:3


Gzip 有各种可以配置的选项,例如是从磁盘压缩还是从网络压缩。要将文件保存到磁盘,请使用:

$ gzip /tmp/文件名.gz

要将文件保存到 Kubernetes 集群上的磁盘,请使用:

$ gzip /var/lib/systemd/system/whatever.gz

要解压缩 gzip 压缩文件,请使用:

$ gzip /var/lib/systemd/system/whatever.gz | grep:| cut -d " " -f 1 | \
/usr/lib/systemd/system/whatever.gz

要将 gzip 压缩文件解压缩到磁盘上的文件,请使用:

$ gzip /var/lib/systemd/system/whatever.gz


$ gzip /var/lib/systemd/system/whatever.gz | \
gzip /dev/stdin

要忽略错误,请使用 -z 标志。

$ gzip -z /var/lib/systemd/system/whatever.gz

要获取 Gzip 能够检测到的错误列表,请使用 -f 标志。

$ gzip -f /var/lib/systemd/system/whatever.gz

要检查是否检测到任何错误,请使用 -v 标志。

$ gzip -v /var/lib/systemd/system/whatever.gz


8.gvfs


gvfs 是一个存储后端,可让你使用任何存储介质(磁盘、网络或卷)作为 Kubernetes 集群的永久磁盘。


gvfs 使用你可以轻松创建和销毁的卷的概念。gvfs 提供了一种挂载类型,使你能够将磁盘上的任何文件系统用作持久存储系统。


可以使用以下命令安装它:

$ sudo apt-get install gvfs $ sudo gvfs init --verbose

这将创建一个名为 /etc/vfio/gvfs.d/service 的文件来存储配置。然后,你可以使用以下命令访问此文件:


$ sudo gvfs list

此命令将显示安装到系统的所有卷。

然后,你可以使用以下命令列出所有可用的卷:

$ gvfs list--depth 2

如果要从特定卷中读取文件,还可以使用以下命令:

$ gvfs list --journal file

你可以在 GVFS GitHub 上找到有关 gvfs 的更多信息。


结论


Kubernetes 是一个越来越受欢迎的平台,许多其他服务提供商和工具为最终用户提供了一种更好的方式来创建和管理他们的集群。


第一次进入 Kubernetes 世界可能会让人不知所措,尤其是如果你没有任何 Kubernetes 经验。有必要查看其中一些 Kubernetes 工具,以了解更多关于 Kubernetes 的信息


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3天前
|
运维 Kubernetes Cloud Native
构建高效云原生运维体系:Kubernetes最佳实践
【5月更文挑战第9天】 在动态和快速演变的云计算环境中,高效的运维是确保应用稳定性与性能的关键。本文将深入探讨在Kubernetes环境下,如何通过一系列最佳实践来构建一个高效且响应灵敏的云原生运维体系。文章不仅涵盖了容器化技术的选择与优化、自动化部署、持续集成/持续交付(CI/CD)流程的整合,还讨论了监控、日志管理以及灾难恢复策略的重要性。这些实践旨在帮助运维团队有效应对微服务架构下的复杂性,确保系统可靠性及业务的连续性。
|
2天前
|
Kubernetes 负载均衡 数据中心
三、Kubernetes(K8s)入门(一)
三、Kubernetes(K8s)入门(一)
|
2天前
|
存储 Kubernetes 监控
使用Kubernetes进行容器编排:技术详解与实践
【5月更文挑战第16天】Kubernetes,简称K8s,是开源容器编排系统,用于自动化部署、扩展和管理容器化应用。核心概念包括节点、Pod(最小部署单元)、服务、标签和副本集。其特点有高可用性、可扩展性、自动化和可移植性。实践使用涉及安装配置集群、编写YAML部署清单、应用部署、监控管理和扩展更新。Kubernetes帮助提升应用的可用性、可扩展性和可移植性。
|
3天前
|
分布式计算 Kubernetes 监控
容器服务Kubernetes版产品使用合集之怎么实现把 spark 跑在k8s
容器服务Kubernetes版,作为阿里云提供的核心服务之一,旨在帮助企业及开发者高效管理和运行Kubernetes集群,实现应用的容器化与微服务化。以下是关于使用这些服务的一些建议和合集,涵盖基本操作、最佳实践、以及一些高级功能的使用方法。
18 1
|
3天前
|
Kubernetes Cloud Native 持续交付
构建高效稳定的云原生应用:容器编排与微服务治理实践
【5月更文挑战第14天】 随着企业数字化转型的深入,云原生技术以其弹性、敏捷和可扩展的特性成为现代应用开发的首选模式。本文将探讨如何通过容器编排工具如Kubernetes以及微服务架构的有效治理,构建和维护高效且稳定的云原生应用。我们将分析容器化技术的优势,并结合案例讨论在多云环境下实现持续集成、持续部署(CI/CD)的最佳实践,同时解决微服务带来的分布式复杂性问题。通过本文的阐述,读者将获得一套提升系统可靠性和业务连续性的策略框架。
7 0
|
3天前
|
Kubernetes Java 调度
Java容器技术:Docker与Kubernetes
Java容器技术:Docker与Kubernetes
27 0
|
3天前
|
Kubernetes Cloud Native 持续交付
【Docker专栏】Kubernetes与Docker:协同构建云原生应用
【5月更文挑战第7天】本文探讨了Docker和Kubernetes如何协同构建和管理云原生应用。Docker提供容器化技术,Kubernetes则负责容器的部署和管理。两者结合实现快速部署、自动扩展和高可用性。通过编写Dockerfile创建镜像,然后在Kubernetes中定义部署和服务进行应用暴露。实战部分展示了如何部署简单Web应用,包括编写Dockerfile、构建镜像、创建Kubernetes部署配置以及暴露服务。Kubernetes还具备自动扩展、滚动更新和健康检查等高级特性,为云原生应用管理提供全面支持。
【Docker专栏】Kubernetes与Docker:协同构建云原生应用
|
3天前
|
Kubernetes Cloud Native 持续交付
构建高效云原生应用:Kubernetes与微服务架构的融合
【5月更文挑战第6天】 在数字化转型的浪潮中,企业正迅速采纳云原生技术以实现敏捷性、可扩展性和弹性。本文深入探讨了如何利用Kubernetes这一领先的容器编排平台,结合微服务架构,构建和维护高效、可伸缩的云原生应用。通过分析现代软件设计原则和最佳实践,我们提出了一个综合指南,旨在帮助开发者和系统架构师优化云资源配置,提高部署流程的自动化水平,并确保系统的高可用性。
32 1
|
3天前
|
消息中间件 Cloud Native 开发者
电子好书发您分享《阿里云云原生开源开发者沙龙北京站 PPT 合集 》
**阿里云开源沙龙PPT合集:北京站聚焦云原生技术** 探索云原生领域的深度与广度,[阿里云](https://developer.aliyun.com/ebook/8334/116563?spm=a2c6h.26392459.ebook-detail.5.da096cf6t38G15)分享了北京开发者沙龙的精彩内容,涵盖微服务、消息队列等主题,助力开发者洞悉行业趋势。![image](https://ucc.alicdn.com/pic/developer-ecology/cok6a6su42rzm_67b12f6cad6e4b2786859b3a668b3351.png)
47 3
|
3天前
|
人工智能 监控 Cloud Native
iLogtail 2.0 来了;通义灵码下载量破百万丨阿里云云原生 2 月产品月报
iLogtail 2.0 来了;通义灵码下载量破百万丨阿里云云原生 2 月产品月报

相关产品

  • 容器服务Kubernetes版
  • 推荐镜像

    更多