在新兴的云原生环境中,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集群上试用它!