什么是 KubeKey?
KubeKey 是 KubeSphere 的最新 Kubernetes 安装程序。 KubeSphere 是一个分布式操作系统管理系统,用于使用 Kubernetes 作为其内核的云原生应用程序。 它为许多第三方应用程序的无缝集成提供了即插即用的结构。 它在本质上与 MiniKube 用于安装 Kubernetes 有点相似。
KubeKey 是使用 Go 编程语言开发的。 它提供了一种使用 Chart 或 YAML 文件安装 Kubernetes 和任何其他附加组件的快速方法。 KubeKey 使用 kubeadm 应用程序在多个节点上同步安装一个 Kubernetes 集群,以降低安装的复杂性,提高效率。 与许多其他安装技术相比,使用 KubeKey 可大大减少安装时间。
通常,我们可以在三种情况下使用 KubeKey:
- 简单地安装 Kubernetes。
- 使用单个命令安装 Kubernetes 和 KubeSphere。
- 首先安装 Kubernetes,然后使用 ks-installer 工具安装 KubeSphere。
Kubernetes 集群现在部署在多个本地环境中,例如裸机、私有云和公共云。 KubeKey 可以协助在任何这些环境中部署 Kubernetes。 因为每个环境都需要不同的配置,KubeKey 在安装过程中解决了这个问题。
支持的环境
- CentOS/RHEL 7
- Ubuntu 16.04、18.04
- Debian 克星,伸展
- SUSE Linux 企业服务器 15
支持的 Kubernetes 版本
- v1.15:v1.15.12
- v1.16:v1.16.13
- v1.17:v1.17.9(默认)
- v1.18:v1.18.6
先决条件
以下是安装小版本 KubeSphere 的最低资源要求:
- 2 个 vCPU
- 4 GB 内存
- 20 GB 存储空间
/var/lib/docker 文件夹用于保存容器信息,在集群使用和运行过程中会逐渐变大。 在生产环境中,建议将 /var/lib/docker 文件夹安装为单独的驱动器。
节点要求
所有节点必须:
- 具有 SSH 访问权限。
- 时间同步。
- 有 sudo/curl/openssl 已安装。
- 有一个干净的操作系统。 如果安装了其他软件,可能会出现冲突。
- 让 OpenEBS(由 KubeKey 安装)为测试和开发环境提供 LocalPV(本地持久卷)。 生产客户端应使用 GlusterFS、NFS、Ceph 或其他商业级产品用于持久存储,然后将该客户端安装在所有相关节点中。
- 关闭 SELinux 以将 SELinux 更改为权限模式,因为 Red Hat 在其 Linux 版本中使用 SELinux。 如果您在复制时看到“权限被拒绝”错误,请检查 SELinux 以确保它已关闭。 (受到推崇的)
网络和 DNS 要求
- 确保 /etc/resolv.conf 文件中记录的 DNS 地址已打开且可用,否则可能会导致集群中出现 DNS 问题。
- 确保基础设施的所有元素都可以通过特定端口进行通信。
- 如果使用防火墙或安全组,建议关闭防火墙或使用 网络访问 指导方针。
安装 Kubernetes
基本安装
以下是使用 KubeKey 安装 Kubernetes 的通用步骤:
- 下载 KubeKey。
- 生成包含集群信息的配置文件。
- 运行 KubeKey。 使用提供的配置文件自动开始安装。 docker 等其他工具也是动态安装的。

详细安装
首先,我们将使用以下命令下载 KubeKey 1.0.1 版本。 也可以从 GitHub 发布页面.
root@host:~# curl -sfL https://get-kk.kubesphere.io | VERSION=v1.0.1 sh -
注意:命令中的版本号可以修改以下载其他特定版本的Kubernetes。 KubeKey 应仅下载到将用作安装的主要任务框的服务器之一(例如,主节点)。
下载 KubeKey 后,解压缩文件。 安装文件夹现在包含一个名为 kk 的文件,该文件应该是可执行的。
root@host:~# chmod +x kk
创建集群
Quick Start 用于让我们熟悉 KubeSphere 的一体化安装。
注意:Kubernetes 不支持大写节点名称。 主机名中包含任何大写字母的节点将产生安装错误。 如果访问 https://storage.googleapis.com 时出现问题,请先运行此命令。
root@host:~# export KKZONE=cn
root@host:~# ./kk create cluster [--with-kubernetes version] [--with-kubesphere version]
其他安装示例
使用默认版本的 Kubernetes 创建简单集群时,请使用此命令。
./kk create cluster
要使用指定版本安装 Kubernetes 集群,请使用以下命令。
./kk create cluster --with-kubernetes v1.17.9
如果生成安装了 KubeSphere 的 Kubernetes 集群,请运行此命令。
./kk create cluster --with-kubesphere [version]
./kk create cluster --with-kubesphere v3.0.0
我们还可以使用配置文件来生成集群的定制版本。 为此,请使用此命令创建配置文件。
./kk create config [--with-kubernetes version] [--with-kubesphere version] [(-f | --file) path]
或者,我们可以使用我们的配置(-f ~/folder/myconfig.yaml)或使用标志 –with-kubesphere 创建一个默认配置文件。
./kk create config [-f ~/folder/myconfig.yaml]
./kk create config --with-kubesphere
上面命令生成的config-sample.yaml文件要修改成我们的环境标准。
现在我们可以使用我们的配置文件创建集群。
./kk create cluster -f config-sample.yaml
启用组件
KubeSphere 从有限数量的可插拔组件开始。 这些附加组件可以在安装之前或之后启用。 建议我们安装这些元素来探索 KubeSphere 提供的全栈的所有特性和功能。 在启用它们之前,请确保您的服务器具有令人满意的可用 CPU 和内存量。 有关更多详细信息,请参阅 可插拔组件 页。

使用节点和集群
添加节点
要添加新节点,请将新节点信息附加到集群配置文件 (config-sample.yaml),然后使用以下命令应用更改。
./kk add nodes -f config-sample.yaml
删除节点
要删除节点,请使用以下命令,该命令应指示要删除的 nodeName。
./kk delete node <nodeName> -f config-sample.yaml
删除集群
要删除集群,请使用以下命令之一。 如果您从快速入门(多合一)开始:
./kk delete cluster
如果您从高级(使用配置文件创建)开始:
./kk delete cluster [-f config-sample.yaml]
升级集群
这里有两个选项。
- 我们可以使用 All-in-one 方法将集群升级到特定版本。 此方法支持升级 Kubernetes、KubeSphere,或同时升级 Kubernetes 和 KubeSphere。
./kk upgrade [--with-kubernetes version] [--with-kubesphere version]
2. 使用多节点进程,我们可以使用特定的配置文件升级集群。
./kk upgrade [--with-kubernetes version] [--with-kubesphere version] [(-f | --file) path]
如果使用 –with-kubernetes 或 –with-kubesphere 标志运行命令,配置文件也将被修改。 或者,我们可以使用 -f 标志来指定为集群创建构建的配置文件。
注意:升级多节点集群时,需要指定配置文件。 如果没有使用 KubeKey 安装集群,或者没有找到用于安装的配置文件,则需要生成配置文件。 该命令获取集群信息,并生成一个 KubeKey 配置文件,可以在后续集群中使用。
./kk create config [--from-cluster] [(-f | --file) path] [--kubeconfig path]
在这里,我们定义了上面使用的标志。
- –from-cluster:此标志表示我们正在从现有集群中检索集群的信息。
- -f:这个标志是指将生成配置文件的路径。
- –kubeconfig:这个标志是指kubeconfig所在的路径。
生成配置文件后,需要添加几个参数,例如节点的 ssh 信息。
结论
使用 KubeKey,我们可以单独或作为一个整体安装不同版本的 KubeSphere 和 Kubernetes。 它提供了一种简单、高效和灵活的安装方法。 Kubernetes 的新用户可以使用 KubeKey 轻松设置集群。 它将 Kubernetes 集群并行安装在节点上,以降低安装的复杂性并提高整个过程的效率。 与旧的安装方法相比,它节省了大量的安装时间。 总的来说,KubeKey 是一个方便的工具,我们可以用来扩展我们的 Kubernetes 集群,并且是 Kubernetes 领域的一个受欢迎的补充。
我们以成为 Hosting™ 中最乐于助人的人而自豪!
有问题吗? 我们知识渊博的解决方案和经验丰富的托管顾问将解释您如何利用此软件在您的托管 Cloud 或私人 Cloud 由 VMware 和 NetApp 平台提供支持!
如果您在完全托管的 VPS 服务器上, Cloud 专用、私人父服务器或专用服务器所有者,并希望进行更改以体验最新技术,请拨打 800.580.4985 联系我们,或打开 聊天 或与我们一起购票以了解如何!