k8s的部署真的是非常操蛋,就算是一步步按照文档来操作,都很难部署成功,网上找的各种教程也千奇百怪,各种各样的操作,但是唯一一致的就是,按照这些教程操作基本最终都只能失败,博主经过多日摸索,终于找到了一个最靠谱的部署方式,而且还是离线安装的方式,非常适用于无外网的机器部署。
准备工作
-
先了解一下KuboardSpray这个开源项目
KuboardSpray
是基于kubespray
提供图形化的K8S
集群离线安装、维护工具。
简而言之,安装好KuboardSpray
之后,就能 在图形化界面上配置和安装k8s集群了,非常简便。
KuboardSpray
提供了很多制作好的各版本的k8s离线安装包,把k8s二进制文件、其他所需依赖全部打包在一起了,并且预先设置了了安装脚本,一步一步的按照作者预先定义好的流程来部署安装,极大地减少了出错的可能。 -
需要准备至少两台linux机器
安装KuboardSpray
服务的机器是不能部署k8s节点的,所以就算你只部署一个单节点的k8s集群,那也要准备两台机器。
并且你需要保障这几台机器之间网络是可联通的,最好是同一个内网的机器。
特别需要注意的是,系统版本是有要求的,centos系统只支持7.6、7.8、7.9、8.x, ubuntu系统只支持20.04及以上版本。 -
在准备部署
KuboardSpray
服务的机器上提前安装好docker
因为KuboardSpray
是docker来部署和启动的。
至于docker怎么安装就不写了,这个很简单。
部署安装KuboardSpray
该服务的github地址是:
https://github.com/eip-work/kuboard-spray
部署安装很简单,一条命令搞定
docker run -d \
--restart=unless-stopped \
--name=kuboard-spray \
-p 80:80/tcp \
-e TZ=Asia/Shanghai \
-v /var/run/docker.sock:/var/run/docker.sock \
-v ~/kuboard-spray-data:/data \
eipwork/kuboard-spray:latest-amd64
其中 -p 80:80/tcp
是用于指定服务端口,如果你不想启动为80端口,可以自行修改,比如修改为 -p 9998:80/tcp
就是将访问端口替换为9998
安装成功之后,可以通过部署机器的ip和自己指定的访问端口访问KuboardSpray平台,比如 http://127.0.0.1:9998
默认用户名 admin
,默认密码 Kuboard123
加载资源包
KuboardSpray 有一个资源包管理
的模块,在这里可以下载导入一些预先制作好的k8s部署资源包。每个资源包都包括了k8s部署所需的所有离线文件、二进制安装文件,插件等等。我们所需要做的就是按照自己的需求,选择一个合适的版本的资源包,然后在我们部署的KuboardSpray平台导入。
-
KuboardSpray所部署的机器,如果有网络的话,那就简单了,直接点击对应资源包的导入按钮,然后一步步执行就ok了。
-
无网络的情况下,只能离线导入资源包,离线资源包下载地址 https://www.kuboard-spray.cn/support/
下载和导入的方法官网也有详细教程,打开链接后,只需要点击对应资源包右边的离线导入
按钮,就能打开离线导入界面,之后再点击离线导入
tab标签,就能看到对应资源包的离线导入详细教程,一步步照着操作即可。
开始创建部署k8s集群
- 点击
集群管理
->添加集群安装计划
, 集群名称随便写,资源包选择上一步导入的资源包,点击确定按钮创建。
-
创建好进入集群管理之后,点击编辑,点击右侧标签页的
Kubernetes
标签,往下翻,找到DNS
配置,将nodelocaldns_ip项的值由169.254.25.10
修改为10.233.0.10
。(不要问我为什么,我也不知道,但是这玩意就是得改,不改后面节点安装不上) -
点击
添加节点
按钮,名称随便你自己写,节点角色按情况勾选,如果你只部署单节点,那么务必三个都勾选上,点击确定创建。
- 填写节点相关信息, ip、ssh端口、账号、密码等等信息。
- 点击左上角的
安装/设置集群
按钮,选择我们创建好的节点,然后就可以开始部署了。开始部署之后,会打开一个新网页,显示执行日志,整个部署过程大概需要5到15分钟之间,耐心等待部署成功即可。如果失败,按照报错信息自行解决。
其他
部署成功之后界面如图,可以按需追加节点。
通过KuboardSpray部署的k8s,会自动安装上Kuboard管理平台,如下图位置可以看到访问地址。
评论区