在新兴的云原生环境中,Kubernetes 无处不在。它已成为编排容器的标准。但是,管理多个 Kubernetes 集群(必须以一致且安全的方式在任何地方运行)提出了一系列新挑战。因此,对 Kubernetes 管理工具的需求就出现了。
让我们探索一些有效管理 Kubernetes 的流行解决方案。
1、K9s
k9s 是一个基于终端的资源仪表板。它只有一个命令行界面。无论您在 Kubernetes 仪表板 Web UI 上做什么,您也可以使用此终端 k9s 仪表板实用程序执行相同操作。
它持续关注 Kubernetes 集群,并提供命令来处理集群上定义的资源。
以下是 K9s 的功能:
- 集群实时跟踪
- 使用 K9s 皮肤自定义视图
- 轻松遍历 Kubernetes 资源
- 向下钻取选项以检查集群资源问题
- 提供扩展插件来创建您自己的命令
2、Rancher
Rancher 是一个开源容器管理平台,可让任何企业轻松采用 Kubernetes。您可以部署和管理在 GKE (GCP)、EKS (AWS)、AKS (Azure) 中运行的云托管 Kubernetes 集群,也可以仅在您选择的 VM 或裸机基础设施上部署 Kubernetes。
Rancher 简化了管理员的所有操作职责,包括:
- 监控集群的运行状况
- 设置警报和通知
- 启用集中日志记录
- 定义和应用全局安全策略
- 建立身份验证并执行我们的后台策略
- 管理和扩展您的基础架构
随着 Kubernetes 在整个公司的采用加速,rancher 鼓励快速采用让用户直接访问 Kubernetes API 和 CLI。Rancher 的全新智能界面简化了应用管理;团队可以轻松部署和管理工作负载、定义 Secret 并管理私有注册表、配置持久卷声明、配置负载平衡和服务发现、管理 CI 管道。
3、Dashboard + Kubectl + Kubeadm
该 Kubernetes 仪表盘是一个基于 Web 的界面来部署集装箱式应用。它对您的应用程序进行故障排除并管理集群本身以及资源。
您可以使用仪表板概览集群上运行的应用程序,以及创建或修改单个 Kubernetes 资源,例如部署作业、副本集等。
您可以扩展部署,也可以启动滚动更新,甚至可以使用仪表板上的部署向导重新启动 Pod 或部署新应用程序。
Kubectl 是一个命令行工具,用于与 API 服务通信并向主节点发送命令。它对 Kubernetes 集群 API 服务器的 API 调用的隐蔽命令。
Kubeadm 是一个带有内置命令的工具,用于启动最小的 Kubernetes 集群。它用于引导集群而不是配置机器。使用 kubeadm,您可以运行一些基本命令来引导集群、创建令牌以加入集群、还原对 Kubernetes 集群所做的更改等。
4、Helm
Helm 是 Kubernetes 的包管理器。它允许开发人员和运营商在 Kubernetes 集群上打包、配置和部署应用程序和服务。它为操作员提供了对 Kubernetes 集群的更大控制,这些操作:
- 使应用程序部署变得简单、标准化和可重用
- 通过掌舵图轻松描述复杂的应用程序
- 提高开发人员的生产力
- 降低部署复杂性
- 增强操作准备
- 加快云原生应用的采用
- 轻松回滚到以前的版本
Helm 使用包含所有资源定义的 Charts 在 Kubernetes 集群上运行应用程序或服务。您可以在此处找到可供使用的多个 Helm 图表。
5、KubeSpray
KubeSpray 是一个集群生命周期管理器,可帮助您部署生产就绪的 Kubernetes 集群。它使用 ansible-playbook 来自动化 Kubernetes 集群配置。
其中一些功能包括:
- 基于 Ansible
- 高可用
- 跨平台
- 生产水平
- 流行的云提供商集成甚至裸机
- 多种配置选项
- 多平台 CI/CD
- 默认安全
默认情况下,Kubespray 允许您通过 kube-master IP 地址和端口 6443 远程连接到 Kubernetes 集群。如果您需要灵活的部署,Kubespray 最适合;它提供了很多自定义配置选项。
另外,如果您熟悉 Ansible,那么 Kubespray 非常易于使用。
6、Kontena Lens
Kontena Lens 是 Kubernetes 的智能仪表板。
它是您控制 Kubernetes 所需的唯一管理系统。它可免费用于 Mac OS、Windows 和 Linux 操作系统。镜头应用程序启动后,您将在界面中看到所有关联集群的列表。
对于真正需要每天处理 Kubernetes 的人来说,它是最强大的 IDE。您可以确保正确设置和配置集群,并且可以更轻松、更快速地使用集群,从根本上提高生产力和业务发展速度。
Kontena Lens IDE 的特点是:
- 可以一次管理多个集群
- 实时可视化集群状态
- 提供内置终端
- 安装非常简单,因为它是一个独立的应用程序
- 惊人的用户界面和用户体验
- 支持 Kubernetes RBAC。
- 经测试可处理集群中近 25K 的 Pod
Kubernetes 是一个复杂的工具,Lens IDE 甚至可以帮助初学者轻松上手 Kubernetes。它是管理和可视化 Kubernetes 集群的最佳工具之一。
7、WKSctl
WKSctl 代表 Weave Kubernetes 系统控制。它是 Weave Kubernetes 平台的一部分。
WKSctl 是一个使用 GitOps 进行 Kubernetes 配置管理的工具。GitOps 只不过是一组使用 git 请求以传统方式管理应用程序和基础设施的实践。
使用 WKSctl,您可以通过 Git 提交来管理 Kubernetes 集群。您可以升级集群或从集群中添加/删除节点。
您可以在两种模式下运行此工具:独立模式和 GitOps 模式。在独立模式下,它会创建一个静态集群。在 GitOps 模式下,它根据 git 上存在的 cluster.yml 和 machines.yml 信息配置集群。
WKSctl 特点:
- 使用 git 快速启动集群
- 部署失败时轻松回滚
- 记录变更以供审查和审计
- 创建集群只需要 IP 地址和 ssh 密钥
- 不断验证和纠正集群状态
结论
所以这就是流行的 Kubernetes 管理工具/软件,可以轻松管理 Kubernetes 集群。选择上面提到的任何一种工具,并在您的 Kubernetes 集群上试用它!