KubeSphere 是在目前主流容器调度平台 Kubernetes 之上构建的 企业级分布式多租户容器平台,为用户提供简单易用的操作界面以及向导式操作方式,KubeSphere 提供了在生产环境集群部署的全栈化容器部署与管理平台。
KubeSphere 支持部署和运行在包括公有云、私有云、VM、BM 和 Kubernetes 等任何基础设施之上,并且支持在线安装与离线安装,目前已在 阿里云、腾讯云、华为云、青云、AWS、Kubernetes 上进行过部署测试。 KubeSphere 所有版本 100% 开源免费,已大规模服务于社区用户,广泛地应用在以容器为中心的开发测试及生产环境,大量服务平稳地运行在 KubeSphere 之上。
安装 KubeSphere
KubeSphere 安装支持以下 4 种安装模式:
安装在 Linux
- all-in-one:单节点安装(支持在线和离线安装)
- multi-node:多节点安装(支持在线和离线安装)
安装在 Kubernetes
支持 GPU
KubeSphere 安装支持 GPU 节点,也支持 CPU 与 GPU 的混合部署模式,需在安装配置文件 conf/vars.yml
中进行设置,配置示例和说明参考 集群组件配置释义。
可选安装项
另外,KubeSphere Installer 集成了 Harbor 和 GitLab,但默认情况下不会安装 Harbor 和 GitLab,用户可以根据团队项目的需求来配置安装,仅需安装前在配置文件 conf/vars.yml
中简单配置即可,参考 安装内置 Harbor 和 安装内置 GitLab。
说明:
- 由于安装过程中需要更新操作系统和从镜像仓库拉取镜像,因此必须能够访问外网。如果不能访问外网,则需要下载离线安装包。
- KubeSphere 集群的架构中,由于各自服务的不同,分为管理节点和工作节点两个角色,即 Master 和 Node。
- Master 节点由三个紧密协作的组件组合而成,即负责 API 服务的 kube-apiserver、负责调度的 kube-scheduler、负责容器编排的 kube-controller-manager。
- 集群的持久化数据,由 kube-apiserver 处理后保存至 etcd 中。
- 当进行 all-in-one 模式进行单节点安装时,这个节点既是管理节点,也是工作节点。
- 当进行 multi-node 模式安装多节点集群时,可在配置文件中设置集群各节点的角色。
- 如果是新安装的系统,在 Software Selection 界面需要把 OpenSSH Server 选上。
All-in-One 模式
All-in-One
模式即单节点安装,支持一键安装,仅建议您用来测试或熟悉安装流程和了解 KubeSphere 高级版的功能特性,详见 All-in-One 模式。在正式使用环境建议使用 Multi-Node 模式。
Multi-Node 模式
Multi-Node
即多节点集群安装,高级版支持 master 节点和 etcd 的高可用,支持在正式环境安装和使用,详见 Multi-Node 模式。
离线安装
KubeSphere 支持离线安装,若机器无法访问外网,请下载离线安装包进行安装。
离线的安装步骤与在线安装一致,因此可直接参考 all-in-one 和 multi-node 的安装指南下载安装。目前离线安装支持的操作系统如下,系统盘需保证 100 G
以上,主机配置规格的其它参数可参考在线安装的主机配置。
- CentOS 7.4/7.5
- Ubuntu 16.04.4/16.04.5
存储配置说明
Multi-Node 模式安装 KubeSphere 可选择配置部署 NFS Server 来提供持久化存储服务,方便初次安装但没有准备存储服务端的场景下进行部署测试。若在正式环境使用需配置 KubeSphere 支持的持久化存储服务,并准备相应的存储服务端。本文档说明安装过程中如何在 Installer 中配置 QingCloud 云平台块存储、企业级分布式存储 NeonSAN、NFS、GlusterFS、Ceph RBD 这类持久化存储的安装参数,详见 存储配置说明。
集群组件配置释义
注意,在 CI/CD 流水线中发送邮件通知需要安装前预先在 Installer 中配置邮件服务器,配置请参考 集群组件配置释义 (下一版本将支持安装后在 UI 统一配置邮件服务器)。
如果需要查看或修改网络、组件版本、可选安装项 (如 GitLab、Harbor)、外部负载均衡器、Jenkins、SonarQube、邮件服务器等配置参数时,可参考以下说明进行修改,集群组件配置释义文档对 installer 中的安装配置文件 conf/vars.yml
进行说明,简单介绍每一个字段的意义,参考 集群组件配置释义。
安装 QingCloud 负载均衡器插件 (可选)
服务或应用路由如果通过 LoadBalancer 的方式暴露到外网访问,则需要安装对应的云平台负载均衡器插件来支持。如果在 QingCloud 云平台安装 KubeSphere,建议在 conf/vars.yml
中配置 QingCloud 负载均衡器插件相关参数,installer 将自动安装 QingCloud 负载均衡器插件,详见 安装 QingCloud 负载均衡器插件。
安装内置 Harbor (可选)
KubeSphere Installer 集成了 Harbor 的 Helm Chart (版本为 harbor-18.11.1),内置的 Harbor 作为可选安装项,需 安装前
在配置文件 conf/vars.yml
中进行配置。用户可以根据团队项目的需求来配置安装,详见 安装内置 Harbor。
安装内置 GitLab (可选)
KubeSphere Installer 集成了 Harbor 的 Helm Chart (版本为 harbor-18.11.1),内置的 Gitlab (版本为 v11.3.4) 作为可选安装项,需 安装前
在配置文件 conf/vars.yml
中进行配置。用户可以根据团队项目的需求来配置安装,详见 安装内置 GitLab。
Master 和 etcd 节点高可用配置
Multi-Node 模式安装 KubeSphere 可以帮助用户顺利地部署环境,由于在实际的生产环境我们还需要考虑 master 节点的高可用问题,本文档以配置负载均衡器 (Load Banlancer) 为例,引导您在安装过程中如何配置高可用的 Master 和 etcd 节点,详见 Master 和 etcd 节点高可用配置。
升级
若您的机器已安装的环境为高级版 1.0.x (或 2.0.0) 版本,我们强烈建议您升级至最新的高级版 2.0.1,最新的 Installer 支持将 KubeSphere 从 1.0.x (或 2.0.0) 环境一键升级至目前最新的 2.0.1,详见 升级指南。
集群节点扩容
安装 KubeSphere 后,在正式环境使用时可能会遇到服务器容量不足的情况,这时就需要添加新的节点 (node),然后将应用系统进行水平扩展来完成对系统的扩容,配置详见 集群节点扩容。
高危操作
KubeSphere 支持管理节点和 etcd 节点高可用,保证集群稳定性,同时基于 kubernetes 底层调度机制,可以保证容器服务的可持续性及稳定性,但并不推荐无理由关闭或者重启节点,因为这类后台操作均属于高危操作,可能会造成相关服务不可用,请谨慎操作。执行高危操作需将风险告知用户,并由用户以及现场运维人员同意之后,由运维人员进行后台操作。比如以下列表包含了高危操作和禁止操作,可能造成节点或集群不可用:
高危操作列表
序列 | 高危操作 |
---|---|
1 | 重启集群节点或重装操作系统。 |
2 | 建议不要在集群节点安装其它软件,可能导致集群节点不可用。 |
禁止操作列表
序列 | 禁止操作 |
---|---|
1 | 删除 /var/lib/etcd/ ,删除 /var/lib/docker ,删除 /etc/kubernetes/ ,删除 /etc/kubesphere/ 。 |
2 | 磁盘格式化、分区。 |
卸载
卸载将从机器中删除 KubeSphere,该操作不可逆,详见 卸载说明。
组件版本信息
KubeSphere Advanced 2.0.2 中的相关组件将默认安装以下版本:
组件 | 版本 |
---|---|
KubeSphere | Advanced Edition 2.0.2 |
Kubernetes | v1.13.5 |
Istio | 1.1.1 |
etcd | 3.2.18 |
OpenPitrix | v0.3.5 |
Elasticsearch | v6.7.0 |
Prometheus | v2.3.1 |
Jenkins | v2.138 |
SonarQube | v7.4 |
GitLab | 11.8.1 |
Harbor | 1.7.5 |