相对于个人开发者,腾讯云 Lighthouse 服务器综合性价比还是不错的,趁着双十一的时候屯了3台服务器。最近刚好需要一个 k8s 集群,主要是学习测试使用,就用这3台服务器搭建了一个 k8s 集群,这里记录一下整个搭建过程。
准备工作
建议使用纯净版的系统安装 k8s 集群,若 Lighthouse 服务器上没有重要的数据,可以先重装系统,进入 Lighthouse 服务器详情,右上角「更多操作」-「重装系统」,使用「官方镜像」-「应用镜像」-「宝塔Linux面板」或「系统镜像」-「CentOS 7.6」,宝塔 Linux 面板是基于 Centos 7.9,也可以直接使用。
准备2台以上的 Lighthouse 服务器,本文部署示例是基于3台2c2g的服务器。
-
Lighthouse 服务器绑定相同的 SSH 密钥
-
Lighthouse 服务器防火墙开通所有内网网段
安装 Sealos
sealos是一个极简kubernetes集群部署工具,一条命令就可实现kubernetes集群构建,无论是单节点还是集群,单master还是多master,生产还是测试都能很好支持,详细介绍参考官网:docs.sealos.io/zh-Hans/doc…
wget https://github.com/labring/sealos/releases/download/v4.1.3/sealos_4.1.3_linux_amd64.tar.gz \
&& tar zxvf sealos_4.1.3_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin
安装 Kubernetes 集群
修改 hostname
分别登录每台服务器,修改 hostname,命令如下:
hostnamectl set-hostname master
hostnamectl set-hostname node01
hostnamectl set-hostname node02
修改 hosts
分别登录每台服务器,修改 hosts,命令如下:
$ vim /etc/hosts
10.0.8.2 master
10.0.8.4 node01
10.0.8.13 node02
修改 resolv.conf
Lighthouse 服务器默认 DNS 服务器为内网服务器,需修改为公用 DNS 服务器,否则 k8s 集群会无法访问公网。
$ vim /etc/resolv.conf
nameserver 114.114.114.114
nameserver 8.8.8.8
开始部署
只需要 Sealos 一条命令即可完成部署:
- masters:master 节点 IP
- nodes:node 节点 IP
- pk:SSH 密钥文件路径
sealos run labring/kubernetes:v1.24.0 labring/calico:v3.22.1 \
--masters 10.0.8.2 \
--nodes 10.0.8.4,10.0.8.13 \
--pk /root/secret
若部署过程失败,使用以下命令清除集群再重新部署。
sealos reset
部署完成后,执行以下命令,等待所有节点状态 READY 就可以了。
kubectl get no
关于作者
Harlon,大厂多年监控系统开发经验,目前专注于云原生可观测性领域,欢迎关注交流~