# kubekey **Repository Path**: feynmanzhou/kubekey ## Basic Information - **Project Name**: kubekey - **Description**: The Next-gen Installer: Installing Kubernetes and KubeSphere v3.0.0 fastly, flexibly and easily - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2021-08-09 - **Last Updated**: 2021-08-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # KubeKey KubeKey 是基于 Go 语言开发的集群安装程序。使用 KubeKey,您可以轻松、高效、灵活地单独或整体安装 Kubernetes 和 KubeSphere。 此仓库为 KubeKey 在 ARM 64 v8 架构下的 opeEnuler 发行版特制 rpm 源码仓库。 ## 支持的 Kubernetes 版本 * **v1.15**:   *v1.15.12* (默认) > * 后续将支持更多版本 ## 支持的 KubeSphere 版本 * **v2.1.1**:   *v2.1.1* (默认) > * 后续将支持更多版本 ## 要求和建议 * 最低资源要求(仅对于最小安装 KubeSphere): * 2 核虚拟 CPU * 4 GB 内存 * 20 GB 储存空间 > /var/lib/docker 主要用于存储容器数据,在使用和操作过程中会逐渐增大。对于生产环境,建议 /var/lib/docker 单独挂盘。 * 操作系统要求: * `SSH` 可以访问所有节点。 * 所有节点的时间同步。 * `sudo`/`curl`/`openssl` 应在所有节点使用。 * `docker` 可以自己安装,也可以通过 KubeKey 安装。 * `Red Hat` 在其 `Linux` 发行版本中包括了`SELinux`,建议[关闭SELinux](./docs/turn-off-SELinux_zh-CN.md)或者将[SELinux的模式切换](./docs/turn-off-SELinux_zh-CN.md)为Permissive[宽容]工作模式 > * 建议您的操作系统环境足够干净 (不安装任何其他软件),否则可能会发生冲突。 > * 默认情况下,KubeKey 将安装 [OpenEBS](https://openebs.io/) 来为开发和测试环境配置 LocalPV,这对新用户来说非常方便。对于生产,请使用 NFS/Ceph/GlusterFS 或商业化存储作为持久化存储,并在所有节点中安装[相关的客户端](./docs/storage-client.md) 。 > * 如果遇到拷贝时报权限问题Permission denied,建议优先考虑查看[SELinux的原因](./docs/turn-off-SELinux_zh-CN.md)。 * 网络和 DNS 要求: * 确保 `/etc/resolv.conf` 中的 DNS 地址可用。否则,可能会导致群集中出现某些 DNS 问题。 * 如果您的网络配置使用防火墙或安全组,则必须确保基础结构组件可以通过特定端口相互通信。建议您关闭防火墙或遵循链接配置:[网络访问](docs/network-access.md)。 ## 用法 ### 获取 `kk` 命令 * 安装 KubeKey 的 rpm 包 > 由于暂时还未加入到 openEuler 仓库,需要本地编译成包 安装后可直接使用 `kk` 命令。 ### 创建集群 #### 快速开始 使用 `all-in-one` 安装,这是熟悉 KubeSphere 的良好开始。 ##### 命令 ```shell script ./kk create cluster [--with-kubernetes version] [--with-kubesphere version] ``` ##### 例子 * 使用默认版本创建一个纯 Kubernetes 集群 ```shell script ./kk create cluster ``` * 创建指定一个([支持的版本](#KubernetesVersions))的 Kubernetes 集群 ```shell script ./kk create cluster --with-kubernetes v1.15.12 ``` * 创建一个部署了 KubeSphere 的 Kubernetes 集群 ([支持的版本](#KubeSphereVersions), 例如 `--with-kubesphere v2.1.1`) ```shell script ./kk create cluster --with-kubesphere [version] ``` #### 高级用法 您可以使用配置文件来控制自定义参数或创建多节点群集。具体来说,通过指定配置文件来创建集群。 1. 首先,创建一个示例配置文件 ```shell script kk create config [--with-kubernetes version] [--with-kubesphere version] [(-f | --file) path] ``` **例子:** * 使用默认配置创建一个示例配置文件。您也可以指定文件名称或文件所在的文件夹。 ```shell script kk create config [-f ~/myfolder/config-sample.yaml] ``` * 同时安装 KubeSphere ```shell script kk create config --with-kubesphere ``` 2. 根据您的环境修改配置文件 config-sample.yaml > * 当指定安装KubeSphere时,要求集群中有可用的持久化存储。默认使用localVolume,如果需要使用其他持久化存储,请参阅 [addons](./docs/addons.md) 配置。 3. 使用配置文件创建集群。 ```shell script kk create cluster -f ~/myfolder/config-sample.yaml ``` ### 开启可插拔功能组件 KubeSphere 从 2.1.0 版本开始对 Installer 的各功能组件进行了解耦,快速安装将默认仅开启最小化安装(Minimal Installation),Installer 支持在安装前或安装后自定义可插拔的功能组件的安装。使最小化安装更快速轻量且资源占用更少,也方便不同用户按需选择安装不同的功能组件。 KubeSphere 有多个可插拔功能组件,功能组件的介绍可参考 [配置示例](docs/config-example.md)。您可以根据需求,选择开启安装 KubeSphere 的可插拔功能组件。我们非常建议您开启这些功能组件来体验 KubeSphere 完整的功能以及端到端的解决方案。请在安装前确保您的机器有足够的 CPU 与内存资源。开启可插拔功能组件可参考 [开启可选功能组件](https://github.com/kubesphere/ks-installer/blob/master/README_zh.md#%E5%AE%89%E8%A3%85%E5%8A%9F%E8%83%BD%E7%BB%84%E4%BB%B6)。 ### 添加节点 将新节点的信息添加到群集配置文件,然后应用更改。 ```shell script kk add nodes -f config-sample.yaml ``` ### 删除节点 通过以下命令删除节点,nodename指需要删除的节点名。 ```shell script kk delete node -f config-sample.yaml ``` ### 删除集群 您可以通过以下命令删除集群: * 如果您以快速入门(all-in-one)开始: ```shell script ./kk delete cluster ``` * 如果从高级安装开始(使用配置文件创建的集群): ```shell script ./kk delete cluster [-f config-sample.yaml] ``` ### 启用 kubectl 自动补全 KubeKey 不会启用 kubectl 自动补全功能。请参阅下面的指南并将其打开: **先决条件**:确保已安装 `bash-autocompletion` 并可以正常工作。 ```shell script # 安装 bash-completion yum install bash-completion # 将 completion 脚本添加到你的 ~/.bashrc 文件 echo 'source <(kubectl completion bash)' >>~/.bashrc # 将 completion 脚本添加到 /etc/bash_completion.d 目录 kubectl completion bash >/etc/bash_completion.d/kubectl ``` 更详细的参考可以在[这里](https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion)找到。