前言
这次双十一之前撸了一个甲骨云,里面400新加币不知道咋花,刚好无意中接触了国人开发的kubeSphere
集群操作系统,基于K8S,其颜值,让我这个云计算毕业生又心动了起来,所以简简单单的用三台机器加上官方给的命令搭建了起来,看主页感觉还不错哦
由于总所周知的原因,甲骨云搭建的服务在国内访问真的是一种问题,所以趁着这次双十一,用两个新号买了两台2H4G腾讯云国内的服务器来搭建这个服务,但是KubeSphere
与k8S加起来的资源问题,最后我用了k8s的发行版K3S
来做这个集群!
系统区别与介绍
K3S与K8S都是Kubernetes
,它两之间的关系就相当于Ubuntu
与Debian
之间的关系,不严谨的说就相当于儿子与父亲的关系,k3s
完全兼容k8s
,k3s
在源代码就将很多组件编译到其二进制当中,所以它比K8S
更加的轻量化,适用于一些小机型或者ARM
系列的开发板做集群与边缘云计算,本次轻量化的主机使用k3s
也就更加的节省资源
关于其用途,我这里举两个简单的实例:
k3s
能够将我们的博客部署到集群里面,里面具有高可用机制,在配置好的情况下,我们任何一个节点宕机之后,都不能影响其功能的正常性- 我们搭建一个集群,其中一台国内服务器,一台国外服务器,在配置好的情况下,同一个项目容器,国外的流量走国外的服务器,国内的流量走国内的服务器,实现更好更快的访问
准备
我们准备两台及以上的腾讯云轻量服务器,如果你是和我一样弄了两台不同账号的轻量机子,那我们就只能走公网IP的方式建立集群,在准备阶段,我们需要:
- 将其中一台作为主节点,并安装腾讯提供的
K3S
应用镜像
- 另外一台机子安装任意
Linux
系统,务必纯净版 - 使用任意ssh链接工具连接上服务器,使用
root
用户
配置脚本
由于是公网链接,再加上国内访问Github
的那堵墙,我们需要配置相应的脚本以支持
配置master
的k3s.service
vim /etc/systemd/system/k3s.service
ExecStart=/usr/local/bin/k3s server --advertise-address=master的公网ip --write-kubeconfig-mode=644 --service-node-port-range=30000-42767
配置master
的k3s-add-node
,直接将ip固定为外网IP
vim /usr/local/bin/k3s-add-node
由于国内访问Github
太难,我们为下载脚本添加代理
vim /usr/local/lighthouse/softwares/k3s/get_k3s.sh
按照图片中所示,我们在响应链接添加https://ghproxy.com/
为其加速,此处链接有斜杠
加入节点并查看
腾讯云提供的K3S
应用镜像本身带有可视化管理面板http://1.15.39.73:9090/
,初次登录需要获取Token
,我们登录主节点系统,在shell
中输入下面的命令获取值,打不开的请前往腾讯云服务器管理面板中放开9090
端口
dashboard-token
准备就绪之后,我们执行加入节点指令
k3s-add-node 你的公网ip
这里需要输入加入节点的系统密码,如果是密钥登陆的,请确保服务器互通,详细教程可以上网搜索服务器互通关键字
打开k3s
可视化面板,在Cluster
组中的Nodes
选项中可以看到我们的全部节点,比如:
部署typecho应用
本次实例当中使用的是typecho
官方提供的镜像joyqi/typecho:nightly-php8.0-apache
,点击右上角+
,根据图示添加Service
选项中Internal
代表的是内部访问,External
代表外部访问,我们使用External
选项,下方端口选择映射TCP 80
,没问题之后点击Deploy
开始部署
在Service
组中选择Services
选项进入应用列表,我们可以看到刚才创建的Typecho
应用,第四项参数即是分配的外网端口,需要记住.我们点击进去查看详细信息
可以看到此应用是在我的第二个节点上部署的,此时我们只需要使用第二个节点的IP地址+刚才看到的端口
即可访问应用,访问前请在腾讯云轻量控制面板中放行此端口