KubeKey

KubeKey(由 Go 语言开发)是一种全新的安装工具,替代了以前使用的基于 ansible 的安装程序。KubeKey 为您提供灵活的安装选择,您可以仅安装 Kubernetes,也可以同时安装 Kubernetes 和 KubeSphere。

KubeKey 的几种使用场景:

  • 仅安装 Kubernetes;
  • 使用一个命令同时安装 Kubernetes 和 KubeSphere;
  • 扩缩集群;
  • 升级集群;
  • 安装 Kubernetes 相关的插件(Chart 或 YAML)。

KubeKey 如何运作

下载 KubeKey 之后,您可以使用可执行文件 kk 来进行不同的操作。无论您是使用它来创建,扩缩还是升级集群,都必须事先使用 kk 准备配置文件。此配置文件包含集群的基本参数,例如主机信息、网络配置(CNI 插件以及 Pod 和 Service CIDR)、仓库镜像、插件(YAML 或 Chart)和可插拔组件选项(如果您安装 KubeSphere)。有关更多信息,请参见示例配置文件

准备好配置文件后,您需要使用 ./kk 命令以及不同的标志来进行不同的操作。这之后,KubeKey 会自动安装 Docker,并拉取所有必要的镜像以进行安装。安装完成后,您还可以检查安装日志。

为什么选择 KubeKey

  • 以前基于 ansible 的安装程序依赖于许多软件,例如 Python。KubeKey 由 Go 语言开发,可以消除在多种环境中出现的问题,确保成功安装。
  • KubeKey 支持多种安装选项,例如 All-in-One多节点安装以及离线安装
  • KubeKey 使用 Kubeadm 在节点上尽可能多地并行安装 Kubernetes 集群,使安装更简便,提高效率。与旧版的安装程序相比,它极大地节省了安装时间。
  • KubeKey 提供内置高可用模式,支持一键安装高可用 Kubernetes 集群。
  • KubeKey 旨在将集群作为对象来进行安装,即 CaaO。

下载 KubeKey

GitHub Release Page 下载 KubeKey 或者直接运行以下命令。

  1. curl -sfL https://get-kk.kubesphere.io | VERSION=v2.2.1 sh -

首先运行以下命令,以确保您从正确的区域下载 KubeKey。

  1. export KKZONE=cn

运行以下命令来下载 KubeKey:

  1. curl -sfL https://get-kk.kubesphere.io | VERSION=v2.2.1 sh -

备注

下载 KubeKey 之后,如果您将其转移到访问 Googleapis 受限的新机器上,请务必再次运行 export KKZONE=cn,然后继续执行以下步骤。

备注

通过以上的命令,可以下载 KubeKey 的最新版本 (v2.2.1)。您可以更改命令中的版本号来下载特定的版本。

支持矩阵

若需使用 KubeKey 来安装 Kubernetes 和 KubeSphere 3.3.0,请参见下表以查看所有受支持的 Kubernetes 版本。

KubeSphere 版本受支持的 Kubernetes 版本
v3.3.0v1.19.x、v1.20.x、v1.21.x、v1.22.x、v1.23.x(实验性支持)

备注

  • 您也可以运行 ./kk version --show-supported-k8s,查看能使用 KubeKey 安装的所有受支持的 Kubernetes 版本。
  • 能使用 KubeKey 安装的 Kubernetes 版本与 KubeSphere v3.3.0 支持的 Kubernetes 版本不同。如需在现有 Kubernetes 集群上安装 KubeSphere 3.3.0,您的 Kubernetes 版本必须为 v1.19.x,v1.20.x,v1.21.x,v1.22.x 或 v1.23.x(实验性支持)。
  • 如果您需要使用 KubeEdge,为了避免兼容性问题,建议安装 v1.22.x 及以下版本的 Kubernetes。