已经讨论了很久这套组合,这次动手验证一遍。流程还是非常顺利。从0开始,到部署完成kubesphere,基本2个小时可以搞定,主要是考验带宽。后续再慢慢研究离线安装。
青云设置
青云新的Dashboard改动很多,功能也真的比以前增加了很多很多。我也是需要花时间熟悉一下。其实我以前在青云上测试,基本上一个虚拟机来测试,这次至少要用3个虚拟机,需要vpc来玩,整理一下这个过程
- 创建一个项目,kubeOperOperator and KubeSphere。青云引入了项目的概念,有点类似Azure的资源组,你可以在项目里看到所用到的资源。
- 创建一个安全组,安全组有一个选项,组内互通,这个我打开的,应该是比较方便。为了方便,我打开所有的端口。
- 创建vpc,指定网段,192.168.0.0/16, 创建子网,网段 192.168.10.0/16
- 公网的ip,绑定在vpc上
- 创建一个。4core,8g内存,60G存储的虚拟机,CentOS 7.9,用来部署kubeoperator。ip地址,指定 192.168.10.10
- vpc上,进行端口映射,22,80,映射到192.168.10.10 这台虚拟机上。后续还需要映射30880端口到master节点到内网ip,这里是192.168.10.30
- NFS Server 也部署在kubeoperator机器上。
- 创建3台机器,master配置:4core,8G,60G存储,work节点,2core,4G,20G存储。
KubeOperator
安装
对于kubeOperator安装,倒是比较简单,一条命令就搞定。
curl -sSL https://github.com/KubeOperator/KubeOperator/releases/latest/download/quick_start.sh | sh
4M带宽,大概需要20分钟下载。组件都是部署在Dcoker里,通过compose来实现部署到机器上。
地址: http://<ko服务器_ip>:80
用户名: admin
密码: kubeoperator@admin123
相关命令
koctl status
koctl --help
设置
如果你是通过手动的方式来安装的话,倒是比较简单。这里就不截图,只是记录一个过程
- 设置仓库地址,就是kubeoperator的地址
- 创建凭证,就是节点root的密码
- 创建项目
- 添加主机,一台是master,一台是work节点,这两台机器,提前在青云平台创建。
- 项目把主机添加到项目里
- 项目里创建集群:这就是一个K8S集群。
- k8s部署完毕,进入集群,设置存储:NFS
- 需要通过kubectl,把NFS存储设置成默认存储,这样就可以顺利进行KubeSphere的安装
你可以在访问创建的集群里玩玩k8s。
安装NFS server
mkdir /data/nfs -p
yum install -y nfs-utils
vim /etc/exports
/data/nfs *(rw,sync,no_root_squash)
systemctl enable --now rpcbind.service
systemctl enable --now nfs-server.service
在部署的cluster里,配置nfs存储,查看存储的sc。你需要设置default 的存储。
> kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
mynfs (default) nas Delete Immediate false 28m
kubectl patch storageclass mynfs -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
KubeSphere
安装
KubeSphere的安装,也很简单。因为KubeOperator 提供web的kubectl,直接就可以进行kubesphere的安装
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.1.0/kubesphere-installer.yaml
kubectl apply -f https://github.com/kubesphere/ks-installer/releases/download/v3.1.0/cluster-configuration.yaml
等着就可以,可以通过命令,查看安装的进度。
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
安装过程,如果看到出现错误,例如我没设置默认存储,你配置完成默认存储后,你需要重启pod,继续安装
kubectl -n kubesphere-system rollout restart deploy
查看登陆地址
kubectl get svc/ks-console -n kubesphere-system
kubesphere web 端口是 30880,并通过 NodePort (IP:30880) 使用默认帐户和密码 (admin/P@88w0rd) 访问 Web 控制台。记得去vpc上做30880的端口映射。
配置
默认的安装,是没有包括devops的相关组件,这个可以通过web方式启用,也可以通过修改配置文件搞定。