KubeSphere 是在 Kubernetes 之上构建的以应用为中心的多租户容器平台,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。
KubeSphere 愿景是打造一个以 Kubernetes 为内核的云原生分布式操作系统,它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用(plug-and-play)的集成,支持云原生应用在多云与多集群的统一分发和运维管理。
官方网址:https://kubesphere.com.cn/
官方提供了2种安装的方式,1是在k8s上安装KubeSphere ,2是基于Liunx操作系统(比如centos)直接安装。
今天就来讲解下第2种,也就是在几台Linux裸机上安装一个KubeSphere集群环境。
官方教程:https://kubesphere.com.cn/docs/installing-on-linux/introduction/multioverview/
一、准备 Linux 主机
我的几台主机配置如下:
序号 | 主机名 | IP | 说明 |
1 | ks-201 | 192.168.157.201 | 主节点 |
2 | ks-202 | 192.168.157.202 | 从节点 |
3 | ks-203 | 192.168.157.203 | 从节点 |
二、安装nfs-client
需要安装一个存储的文件系统,我们使用NFS。步骤如下:
1、安装nfs服务,我们一般在主节点上安装NFS服务端
(1)在3台机器安装:
yum install -y nfs-utils
(2)在主节点执行以下命令 ,也就是在/etc/exports里添加一行记录。 (ks-201)
echo "/nfs/data/ *(insecure,rw,sync,no_root_squash)" > /etc/exports
*星号表示可以由任意的客户端挂载共享目录。
/nfs/data/作为共享目录。
(3)在master节点创建共享目录
mkdir -p /nfs/data
(4)master节点启动nfs
exportfs -arv
service nfs start
#设置成开机自启动
systemctl enable nfs
#查看 nfs 是否启动成功
systemctl status nfs
说明nfs服务成功了。
或者 检查配置是否生效的命令:
exportfs
2、安装 NFS Client
创建一个配置文件nfs-client.yaml
mkdir myyaml
cd myyaml
vi nfs-client.yaml
内容如下:
nfs: server: "192.168.157.201" # This is the server IP address. Replace it with your own. path: "/nfs/data" # Replace the exported directory with your own. storageClass: defaultClass: true
这里是nfs服务端的配置信息,
server为nfs服务端的IP,
path为nfs的共享目录,
defaultClass 是否为默认的文件存储,我们这里设置为true。
记住这个nfs-client.yaml文件的目录地址即可。
三、开始安装KubeSphere
1、下载 KubeKey
在主节点上执行如下命令
export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | VERSION=v1.2.1 sh -
2、创建示例配置文件
./kk create config --with-kubernetes v1.21.5 --with-kubesphere v3.2.1
这里选择是的k8s为 1.21.5,kubesphere为3.2.1 。执行完毕后,会有一个config-sample.yaml文件。
3、修改配置文件 config-sample.yaml
我们只需要修改3个地方,
(1)、将我们的3台主机信息填写完整,主机名,ip,账号和密码,记得格式一定要正确。
(2)、etcd,master和worker的信息。
(3)、nfs的配置,内容如下:
addons: - name: nfs-client namespace: kube-system sources: chart: name: nfs-client-provisioner repo: 'https://charts.kubesphere.io/main' valuesFile: /root/myyaml/nfs-client.yaml
其他东西都不需要动。网上说要安装一些插件啥的,我们一般在将kubesphere安装完毕后再安装。这样的好处是尽量保证主程序安装正确,并且能在短时间完成。
4. 使用配置文件创建集群
./kk create cluster -f config-sample.yaml
若这里有提示缺少组件,比如 conntrack,则用yum好后,在执行一次即可。
点击yes后,就自动安装kubesphere了。大概要等10-20分钟,看网络情况。
到这个界面,说明已经安装成功了。有网址,账号,密码。
还可以执行命令,看下安装日志:
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
我们再看下所有Pods是否已经全部执行成功。
kubectl get pods -A
都成功了。说明安装没有问题。
然后我们就可以登录后台了。
http://192.168.157.201:30880/login