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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器镜像服务 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 的信息


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
9天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
40 2
|
7天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
9天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
8天前
|
Cloud Native API 持续交付
云原生之旅:从容器到微服务的演进之路
【10月更文挑战第39天】在这篇文章中,我们将一起探索云原生技术的奥秘。通过浅显易懂的语言和生动的比喻,我们将了解云原生技术如何改变软件开发的世界。文章将带领读者从容器的基本概念出发,逐步深入到微服务架构的实践,揭示这些技术如何助力现代应用的快速迭代与可靠部署。准备好,让我们启程进入云原生的精彩世界吧!
|
9天前
|
Kubernetes 监控 负载均衡
深入云原生:Kubernetes 集群部署与管理实践
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其弹性、可扩展性成为企业IT架构的首选。本文将引导你了解如何部署和管理一个Kubernetes集群,包括环境准备、安装步骤和日常维护技巧。我们将通过实际代码示例,探索云原生世界的秘密,并分享如何高效运用这一技术以适应快速变化的业务需求。
35 1
|
10天前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。
|
14天前
|
运维 Kubernetes Cloud Native
Kubernetes云原生架构深度解析与实践指南####
本文深入探讨了Kubernetes作为领先的云原生应用编排平台,其设计理念、核心组件及高级特性。通过剖析Kubernetes的工作原理,结合具体案例分析,为读者呈现如何在实际项目中高效部署、管理和扩展容器化应用的策略与技巧。文章还涵盖了服务发现、负载均衡、配置管理、自动化伸缩等关键议题,旨在帮助开发者和运维人员掌握利用Kubernetes构建健壮、可伸缩的云原生生态系统的能力。 ####
|
15天前
|
存储 运维 Kubernetes
云原生之旅:Kubernetes的弹性与可扩展性探索
【10月更文挑战第32天】在云计算的浪潮中,云原生技术以其独特的魅力成为开发者的新宠。本文将深入探讨Kubernetes如何通过其弹性和可扩展性,助力应用在复杂环境中稳健运行。我们将从基础架构出发,逐步揭示Kubernetes集群管理、服务发现、存储机制及自动扩缩容等核心功能,旨在为读者呈现一个全景式的云原生平台视图。
27 1
|
18天前
|
Kubernetes Cloud Native 微服务
云原生之旅:从容器到微服务
【10月更文挑战第29天】在这篇文章中,我们将一起探索云原生的奥秘。云原生不仅仅是一种技术,更是一种文化和方法论。我们将从容器技术开始,逐步深入到微服务架构,最后探讨如何在云平台上实现高效的服务部署和管理。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和实用的技能。让我们一起踏上这段激动人心的云原生之旅吧!
|
18天前
|
运维 Kubernetes Cloud Native
云原生之旅:容器化与微服务的融合
【10月更文挑战第28天】 在数字化转型的浪潮中,云原生技术如星辰般璀璨,引领着企业IT架构的未来。本文将带你穿梭于云原生的世界,探索容器化技术和微服务架构如何携手共舞,打造灵活、高效的应用部署和运维模式。我们将通过实际代码示例,揭示这股力量背后的奥秘,并展现它们是如何为现代软件开发带来革新。准备好了吗?让我们启航,驶向云原生技术的深海。

相关产品

  • 容器服务Kubernetes版
  • 下一篇
    无影云桌面