【云原生-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 的信息


相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
Kubernetes Linux 虚拟化
入门级容器技术解析:Docker和K8s的区别与关系
本文介绍了容器技术的发展历程及其重要组成部分Docker和Kubernetes。从传统物理机到虚拟机,再到容器化,每一步都旨在更高效地利用服务器资源并简化应用部署。容器技术通过隔离环境、减少依赖冲突和提高可移植性,解决了传统部署方式中的诸多问题。Docker作为容器化平台,专注于创建和管理容器;而Kubernetes则是一个强大的容器编排系统,用于自动化部署、扩展和管理容器化应用。两者相辅相成,共同推动了现代云原生应用的快速发展。
209 11
|
2月前
|
Prometheus Kubernetes 监控
OpenAI故障复盘 - 阿里云容器服务与可观测产品如何保障大规模K8s集群稳定性
聚焦近日OpenAI的大规模K8s集群故障,介绍阿里云容器服务与可观测团队在大规模K8s场景下我们的建设与沉淀。以及分享对类似故障问题的应对方案:包括在K8s和Prometheus的高可用架构设计方面、事前事后的稳定性保障体系方面。
|
2月前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
178 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
3月前
|
Kubernetes Cloud Native 微服务
云原生入门与实践:Kubernetes的简易部署
云原生技术正改变着现代应用的开发和部署方式。本文将引导你了解云原生的基础概念,并重点介绍如何使用Kubernetes进行容器编排。我们将通过一个简易的示例来展示如何快速启动一个Kubernetes集群,并在其上运行一个简单的应用。无论你是云原生新手还是希望扩展现有知识,本文都将为你提供实用的信息和启发性的见解。
|
3月前
|
Kubernetes Cloud Native 云计算
云原生入门:Kubernetes 和容器化基础
在这篇文章中,我们将一起揭开云原生技术的神秘面纱。通过简单易懂的语言,我们将探索如何利用Kubernetes和容器化技术简化应用的部署和管理。无论你是初学者还是有一定经验的开发者,本文都将为你提供一条清晰的道路,帮助你理解和运用这些强大的工具。让我们从基础开始,逐步深入了解,最终能够自信地使用这些技术来优化我们的工作流程。
|
3月前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。
|
3月前
|
Kubernetes Cloud Native 开发者
云原生入门:Kubernetes的简易指南
【10月更文挑战第41天】本文将带你进入云原生的世界,特别是Kubernetes——一个强大的容器编排平台。我们将一起探索它的基本概念和操作,让你能够轻松管理和部署应用。无论你是新手还是有经验的开发者,这篇文章都能让你对Kubernetes有更深入的理解。
|
6天前
|
Ubuntu API 网络虚拟化
ubuntu22 编译安装docker,和docker容器方式安装 deepseek
本脚本适用于Ubuntu 22.04,主要功能包括编译安装Docker和安装DeepSeek模型。首先通过Apt源配置安装Docker,确保网络稳定(建议使用VPN)。接着下载并配置Docker二进制文件,创建Docker用户组并设置守护进程。随后拉取Debian 12镜像,安装系统必备工具,配置Ollama模型管理器,并最终部署和运行DeepSeek模型,提供API接口进行交互测试。
131 15
|
1月前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
160 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
2月前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
96 8
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈

相关产品

  • 容器服务Kubernetes版