前一段时间发现一个安装k8s集群的工具sealos,看帮助文档发现安装极其简单,不由想起几年前使用二进制安装,那叫一个麻烦。sealos官网说是能在生产环境下使用,不过本人没有在生产环境下使用sealos安装过,不敢妄说。下文是在测试环境使用sealos安装过程。

实验环境

IP HOSTNAME ROLES
192.168.0.200 master k8s master
192.168.0.201 node1 k8s worker node
192.168.0.202 node2 k8s worker node
  • 操作系统:Centos 7.4
  • Docker: 19.03.0
  • Kubernetes: v1.16.0
  • sealos:v3.1.0

注:Centos OS内核推荐4.14以上

系统配置

  1. 所有服务器密码统一/或使用私钥验证

  2. 同步服务器时间

yum install ntp -y
# 在master上操作:
vim /etc/ntp.conf
    # 注意这里的restirct网段生产环境需修改为实际网段
    restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
    server 127.127.1.0
systemctl start ntpd
systemctl enable ntpd

# 在node上操作:
# 注意这里的ip生产环境需修改成ntp master的ip
ntpdate 192.168.100.200
vim /etc/ntp.conf
    server 192.168.100.200
systemctl start ntpd
systemctl enable ntpd

安装k8s集群

在其中一台master节点运行以下命令:

chmod +x sealos
mv sealos /usr/bin
sealos init --master 192.168.100.200 \
--node 192.168.100.201 \
--node 192.168.100.202 \
--user root --passwd root-test \
--pkg-url kube1.16.0.tar.gz \
--version v1.16.0

官网介绍生产环境需要三个master,初始化命令可添加--master,如:

sealos init --master <MASTER1-IP> \
--master <MASTER2-IP> \
--master <MASTER3-IP> \
--node <NODE1-IP> \
--node <NODE2-IP> \
--user root --passwd <YOURPASSWD> \
--pkg-url kube1.16.0.tar.gz \
--version v1.16.0

安装过程如下:

安装完成后,使用kubectl get node 和 kubectl get pods --all-namespaces检查:

如没有报错,那么k8s集群部署完成。