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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 【云原生-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搭建和管理企业级网站应用
相关文章
|
1天前
|
Kubernetes Cloud Native 持续交付
云原生之旅:Docker容器化与Kubernetes集群管理
【9月更文挑战第33天】在数字化转型的浪潮中,云原生技术如同一艘航船,带领企业乘风破浪。本篇文章将作为你的航海指南,从Docker容器化的基础讲起,直至Kubernetes集群的高级管理,我们将一起探索云原生的奥秘。你将学习到如何封装应用、实现环境隔离,以及如何在Kubernetes集群中部署、监控和扩展你的服务。让我们启航,驶向灵活、可伸缩的云原生未来。
|
4天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker与Kubernetes入门
【9月更文挑战第30天】在云计算的浪潮中,云原生技术正以前所未有的速度重塑着软件开发和运维领域。本文将通过深入浅出的方式,带你了解云原生的核心组件——Docker容器和Kubernetes集群,并探索它们如何助力现代应用的构建、部署和管理。从Docker的基本命令到Kubernetes的资源调度,我们将一起开启云原生技术的奇妙之旅。
|
1天前
|
Kubernetes Cloud Native Ubuntu
云原生之旅:Kubernetes集群搭建与应用部署
【8月更文挑战第65天】本文将带你进入云原生的世界,通过一步步指导如何在本地环境中搭建Kubernetes集群,并部署一个简单的应用。我们将使用Minikube和Docker作为工具,探索云原生技术的魅力所在。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和实践技巧。
|
5天前
|
Kubernetes Cloud Native Docker
云原生之旅:深入理解容器化与Kubernetes
【9月更文挑战第29天】在云计算的海洋中,云原生技术如同一艘航船带领着企业乘风破浪。本文将作为你的航海图,带你探索云原生的核心——容器化和Kubernetes。我们将从容器的基本概念出发,逐步深入到如何在Kubernetes集群中部署应用,最后探讨这些技术如何助力现代软件开发。文章旨在为读者提供清晰的云原生入门知识,并展示实际操作的步骤,让你能够自信地启航。
|
21天前
|
弹性计算 运维 持续交付
探索Docker容器化技术及其在生产环境中的应用
探索Docker容器化技术及其在生产环境中的应用
70 5
|
14天前
|
Linux iOS开发 Docker
Docker:容器化技术的领航者 —— 从基础到实践的全面解析
在云计算与微服务架构日益盛行的今天,Docker作为容器化技术的佼佼者,正引领着一场软件开发与部署的革命。它不仅极大地提升了应用部署的灵活性与效率,还为持续集成/持续部署(CI/CD)提供了强有力的支撑。
192 69
|
14天前
|
运维 Cloud Native Docker
云原生技术入门:Docker容器化实战
【9月更文挑战第20天】本文将引导你走进云原生技术的世界,通过Docker容器化技术的实战演练,深入理解其背后的原理和应用。我们将一起探索如何在云平台上利用Docker简化部署、扩展和管理应用程序的过程,并揭示这一技术如何改变现代软件的开发和运维模式。
|
9天前
|
Cloud Native 持续交付 Docker
云原生技术入门与实践:Docker容器化部署示例
【9月更文挑战第25天】在数字化转型的浪潮下,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,为初学者揭示云原生技术的核心概念及其应用价值。我们将以Docker容器为例,逐步引导读者了解如何将应用程序容器化,并在云端高效运行。这不仅是对技术趋势的跟随,更是对资源利用和开发效率提升的探索。
29 4
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
1月前
|
应用服务中间件 nginx Docker
Docker同一台宿主机容器通信-通过容器名称互联
本文详细介绍了如何通过容器名称实现同一宿主机上容器间的互联,并提供了实战案例。首先,文章解释了容器间通过自定义名称访问的原理,随后演示了创建并连接Tomcat与Nginx容器的具体步骤。此外,还讨论了配置中可能出现的问题及解决方案,包括避免硬编码IP地址和使用自定义容器别名来增强系统的灵活性与可维护性。通过这些实践,展示了如何高效地配置容器间通信,确保服务稳定可靠。
28 1
Docker同一台宿主机容器通信-通过容器名称互联

相关产品

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