如何安装和配置 KubeKey

什么是 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 也是动态安装的。
kubekey3

详细安装

首先,我们将使用以下命令下载 KubeKey 1.0.1 版本。 也可以从官网下载 GitHub 发布页面.

[email protected]:~# curl -sfL https://get-kk.kubesphere.io | VERSION=v1.0.1 sh -

注意:可以修改命令中的版本号来下载其他特定版本的Kubernetes。 KubeKey 应仅下载到将用作安装的主要任务框的服务器之一(例如,主节点)。

下载 KubeKey 后,解压缩文件。 安装文件夹现在包含一个名为 kk 的文件,该文件应该是可执行的。

[email protected]:~# chmod +x kk

创建集群

Quick Start 用于一体化安装,让我们熟悉 KubeSphere。

注意:Kubernetes 不支持大写的节点名称。 主机名中包含任何大写字母的节点将产生安装错误。 如果访问 https://storage.googleapis.com 时出现问题,请先运行此命令。

[email protected]:~#  KKZONE=cn [email protected]:~# ./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 和内存量。 有关更多详细信息,请参阅 可插拔组件 页。

kubekey4

使用节点和集群

添加节点

要添加新节点,请将新节点信息附加到集群配置文件 (config-sample.yaml),然后使用以下命令应用更改。

./kk add nodes -f config-sample.yaml

删除节点

要删除节点,请使用以下命令,该命令应指示要删除的节点名称。

./kk delete node <nodeName> -f config-sample.yaml

删除集群

要删除集群,请使用以下命令之一。 如果您从快速入门(多合一)开始:

./kk delete cluster

如果您从高级(使用配置文件创建)开始:

./kk delete cluster [-f config-sample.yaml]

升级集群

这里有两个选项。

  1. 我们可以使用 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,或打开一个 聊天 或与我们一起购票以了解方法!