一、安装方式相关
Kubernetes 的出现,为容器化部署提供了应用部署、规划、更新、维护的一种机制,让部署容器化的应用简单并且高效。因此想要了解和学习 Kubernetes,必须先了解其安装和编排方式。本文对常见的安装方式和常见的编排工具,做了个简单的概况介绍,希望对大家后面学习和使用Kubernetes有所帮助。
1.1、安装方式介绍
种类 | 具体方式名称 | 部署方式 | 简要描述 | 是否后续再介绍 |
---|---|---|---|---|
1 | minikube | 命令行 | 单机测试环境使用 | |
2 | kind | 命令行 | 单机测试环境使用 | |
3 | kubeadm | 命令行 | 官方推荐、用于常见生产环境 | * |
4 | binary | 命令行 | 部署、维护复杂,由于生产环境 | * |
5 | rke | 命令行 | 具有K3S全部功能且注重安全性和合规性 | |
6 | k3s | 命令行 | 轻量级版本,Edge、IoT、CI、ARM 领域 | * |
7 | rancher | 图形化 | K8S编排工具,结合RKE或者K3S使用方能安装 | * |
8 | kubekey | 命令行、图形化 | 封装了kubeadm,集成多种应用工具 | * |
9 | sealos | 命令行 | 封装了kubeadm,集成多种应用工具 | * |
10 | kubeasz | 命令行 | 基于二进制、由Ansible自动化部署 | |
11 | k8seasy | 命令行 | 下载kubeasz代码和镜像文件进行安装 | * |
12 | kubeeasy | 命令行 | 封装了kubeadm、内置Ansible进行部署 | * |
13 | kubespary | 命令行 | 封装了kubeadm、内置Ansible进行部署 | |
14 | kuboard-spary | 图形化 | 基于kubespary的开源项目 | |
15 | kubeode | 图形化 | 基于二进制、Ansible自动化部署 | |
16 | * | * | 各公有云平台专属的部署方案 |
1.2、安装方式相关
1.2.1、安装方式相关说明
- 由于笔者见识和经验有限,只接触和了解到了上面的那些安装方式,诚然,K8S的部署方式,除此之外还有很多其它的方式
- 上面安装方式的介绍,没有特定的顺序或偏好安排,大体是依照个人接触、了解这些方式的时间先后顺序 而进行罗列的
- 到底选择哪种方式,主要取决于你的环境和需求。不同环境、不同需求、不同岗位人员,各自的选择是不一样的
- 上面的工具,有些仅仅只能进行K8S的安装部署,有些既能对集群的进行安装部署,后期也能够作为集群的管理编排工具使用
1.2.2、安装方式简单对比
- 一键式安装或者图形化部署,优点是简化了安装的过程,无需关心其相关的依赖性和复杂性,有些还集成了大量的其它组件,整体功能比较丰富,但是后续出现问题进行排查相对困难
- 交互式部署或者二进制安装,相比起来安装比较复杂,部署时间也较长,但是集群功能简洁,后续再部署其它插件相对更而言容易,进行故障排查和处理较为容易,是更为推荐的安装方式
1.2.3、个人博客安装说明
- 诚然 Kubernetes 支持多种容器运行时,由于早期使用的是 Docker,为此后续的博客会默认 Docker 作为集群使用的容器运行时
- 相关如 Containerd作为容器运行时是后面的大趋势,因此后续也会有相关的使用介绍,届时在文中标题处会有明显的说明和标识
二、编排工具相关
2.1、集群工具相关
2.1.1、集群工具的区别
使用工具部署和管理K8S集群,其部署工具(部署方式)、管理工具、可视化工具,三者概念还是有所区别的
-
集群部署工具
- 部署工具通过提供不同的安装和配置选项,帮助用户快速搭建和配置K8S集群,从而提高效率和便利性。
- 部署工具侧重于如何提供安装和配置选项,帮助用户根据自己的需求快速部署起来K8S集群。
-
集群编排工具
- 编排工具用于管理和协调运行的容器,包括启动、停止、重启等操作,从而简化容器的部署和管理过程。
- 编排工具侧重于容器的管理和编排,确保容器中的各种应用能够达到预期状态并运行。
-
集群可视化工具
- 可视化工具则主要用于数据的可视化展示,供丰富的交互功能,使用户能够探索数据并获得更深的理解。
- 可视化工具则侧重于数据的可视化展示相关,旨在去帮助用户能够更好的理解和分析数据。
2.1.2、集群工具的联系
对于K8S集群整个安装、管理、后续使用,三种工具有是有它们之间的联系的
- 部署工具可以只有部署集群的功能,大部分的都提供了后续的对集群的管理和可视化的功能 --- WEB UI 界面。
- 编排工具可以只是编排工具,我们只能使用其编排的功能,但是大部分的编排工具也具备可视化的功能,我们可以对其进行全面的使用。
- 如果是纯可视化的可视化工具,只能对集群提供可视化使用,不能够进行安装或者对集群进去编排或管理。
2.2、具体的编排工具
-
dashboard: K8S官方提供的仪表盘工具,用于可视化监控和管理,界面直观而简洁
-
rancher: 支持多K8S集群的管理,强大的应用程序管理、监控和自动化部署插件
-
kuboard: 用户界面友好,具备多集群管理、权限管理、监控套件、日志套件等丰富功能
-
kubesphere: 强大和功能丰富的容器云平台,支持多云与多集群的统一分发和运维管理
-
kubePi: 飞致云开源、和轻松导入和管理多个集群,同时通过精细的权限控制系统
-
kubevious: 快速识别配置错误,使得理解和审计容器化应用程序的配置变得更加简单
-
kubernator: 一个更底层的K8S管理工具,基于目录树和关系拓扑图的方式来管理集群
-
lens: 跨平台的可视化工具,界面直观,支持Windows、MacOS和Linux操作系统
-
kontena Lens: 跨平台的K8S管理工具,支持多集群管理、监控和日志查看等功能
-
octant: 简洁而功能丰富的用户界面,支持自定义插件和扩展更好地查看和管理集群
-
skooner: 支持实时监控集群状况、查看资源使用情况以及管理集群的各种组件
-
krm: 应用场景包括微服务部署、云原生应用管理、多环境一致性保持及大规模集群管理
-
k9s: 一个基于Curses 的、与 K8S集群进行交互的全屏终端UI、命令行操作的管理工具
-
kubenav: 一个移动和桌面应用程序,口袋里K8S集群导航器,用于管理集群并获得资源状态
2.3、相关工具说明
-
由于见识有限,以上是笔者所接触过和听说过的大部分工具,除此之外,不乏还有很多其它优秀的工具
-
每款工具都要其独特的特点和功能,都能够满足不同用户的需求,选择合适的工具需要综合考虑
-
工具没有好坏优劣之分,如何选择使用,涉及到个人接触情况、喜好、使用习惯等等个方面因素
-
鉴于笔者使用K8S集群的经验和个人知识能力所限,后续只会介绍上面提及的部分集群编排工具