KubeSphere 是在 Kubernetes 之上构建的以应用为中心的企业级容器平台,所有供为用户提供简单易用的操作界面以及向导式操作方式。同时,KubeSphere Installer 提供了 快速部署生产级别的 Kubernetes 集群和全栈化容器平台的功能,能够快速帮助企业用户快速搭建一套以应用为中心的 DevOps 平台。
KubeSphere 支持部署和运行在包括公有云、私有云、VM、BM 和 Kubernetes 等任何基础设施之上,可以部署在公有云托管的 Kubernetes 之上(如 GKE、EKS、ACK),也支持部署在私有化的 Kubernetes 之上(如 kubeadm、k3s、RKE 部署的集群)。同时,KubeSphere 支持在线安装与离线安装。
上一篇文章说明了如何在 Kubernetes 集群部署 KubeSphere,本文章将手把手带你 使用 KubeSphere Installer 在 3 台 Linux 机器部署一个多节点的 Kubernetes 集群,并开启 KubeSphere 最小化安装。
Multi-Node
即多节点部署,部署前建议您选择集群中任意一个节点作为一台任务执行机 (taskbox),为准备部署的集群中其他节点执行部署的任务,且 Taskbox 应能够与待部署的其他节点进行 ssh 通信。
前提条件
检查安装机器的网络防火墙是否已关闭,若未关闭防火墙则需要开放相关的指定端口,参考 需开放的端口。
第一步: 准备主机
参考以下节点规格准备至少 3 台符合要求的主机开始 multi-node
模式的部署。为防止软件版本冲突,建议您选择多台干净的机器进行安装。
以下用一个示例介绍 multi-node 模式部署多节点环境,本示例准备了 3
台 CentOS 7.5 的主机并以 root
用户准备安装。登录主机名为 Master 的节点作为任务执行机 Taskbox 来执行安装步骤。
在 安装说明 已经介绍了 KubeSphere 集群架构是由管理节点 (Master) 和工作节点 (Node) 构成的,这 3 台主机分别部署 1 个 Master 节点和 2 个 Node 节点。
假设主机信息如下所示:
集群架构: 单 master 单 etcd 双 node
第二步: 准备安装配置文件
1. 下载 KubeSphere 2.1.0
安装包至待安装机器,进入 conf
目录。
$ curl -L https://kubesphere.io/download/stable/v2.1.0 > installer.tar.gz \
&& tar -zxf installer.tar.gz && cd kubesphere-all-v2.1.0/conf
2. 编辑主机配置文件 conf/hosts.ini
,为了对目标机器及部署流程进行集中化管理配置,集群中各个节点在主机配置文件 hosts.ini
中应参考如下配置,建议使用 root
用户进行安装。
以下示例在 CentOS 7.5 上使用 root
用户安装,每台机器信息占一行,不能分行。
root 配置 hosts.ini 示例:
[all]
master ansible_connection=local ip=192.168.0.1
node1 ansible_host=192.168.0.2 ip=192.168.0.2 ansible_ssh_pass=PASSWORD
node2 ansible_host=192.168.0.3 ip=192.168.0.3 ansible_ssh_pass=PASSWORD
[kube-master]
master
[kube-node]
node1
node2
[etcd]
master
[k8s-cluster:children]
kube-node
kube-master
第三步: 安装 KubeSphere
KubeSphere 多节点部署会自动化地进行环境和文件监测、平台依赖软件的安装、Kubernetes 和 etcd 集群的自动化部署,以及存储的自动化配置。Installer 默认安装的 Kubernetes 版本是 v1.15.5
。
参考以下步骤开始 multi-node 部署。
1. 进入安装目录,建议使用 root 用户执行 install.sh
安装脚本:
$ cd scripts
$ ./install.sh
2. 输入数字 2
选择第二种 Multi-node 模式开始部署,安装程序会提示您的环境是否前提条件,若满足请输入 "yes" 开始安装。
################################################
KubeSphere Installer Menu
################################################
* 1) All-in-one
* 2) Multi-node
* 3) Quit
################################################
https://kubesphere.io/ 2018-10-14
################################################
Please input an option: 2
3. 验证 KubeSphere 集群部署是否成功:
(1) 待安装脚本执行完后,当看到如下 "Successful"
界面,则说明 KubeSphere 安装成功。
successsful!
#####################################################
### Welcome to KubeSphere! ###
#####################################################
Console: http://192.168.0.1:30880
Account: admin
Password: P@88w0rd
NOTE:Please modify the default password after login.
#####################################################
(2) 若需要在外网访问,在云平台需要在端口转发规则中将内网端口 30880 转发到源端口 30880,然后在防火墙开放这个源端口,确保外网流量可以通过该端口。
(3) 安装成功后,浏览器访问对应的 URL,如 http://{$公网IP}:30880
,即可进入 KubeSphere 登录界面,可使用默认的用户名和密码登录 KubeSphere 控制台体验,登录后请立即修改默认密码。参阅 快速入门 帮助您快速上手 KubeSphere。
UI 快览
KubeSphere (https://github.com/kubesphere/kubesphere) 是一个开源的以应用为中心的容器管理平台,支持部署在任何基础设施之上,并提供简单易用的 UI,极大减轻日常开发、测试、运维的复杂度,旨在解决 Kubernetes 本身存在的存储、网络、安全和易用性等痛点,帮助企业轻松应对敏捷开发与自动化监控运维、端到端应用交付、微服务治理、多租户管理、多集群管理、服务与网络管理、镜像仓库、AI 平台、边缘计算等业务场景。