kubernetes 之 sealos 搭建高可用集群

143次阅读
13条评论

共计 2879 个字符,预计需要花费 8 分钟才能阅读完成。

kubernetes 之 sealos 搭建高可用集群

kubernetes 之 sealos 搭建高可用集群

如图所示,kuernetes组件组件主要可分为APISERVICE、replication CrontrollerManger、Scheduler、ETCD、Kubelet、Kube_proxy等。部署高可用,实际就是这些组件的高可用。
由于ETCD使用raft算法,所以当部署多个master节点时,会自动组成高可用;CrontrollerManger与Scheduler在设计时也自动组成了高可用。所以搭建kubernetes的高可用就是搭建apiserver的高可用

kubernetes 之 sealos 搭建高可用集群

注意事项

  1. 必须同步所有服务器时间
  2. 所有服务器主机名不能重复
  3. 系统支持:centos7.6以上(其中centos8不支持) ubuntu16.04以上
  4. 内核推荐4.14以上, 系统推荐:centos7.7

部署

角色 ip 系统
master01 192.168.234.136 CentOS Linux release 7.7.1908 (Core)
master02 192.168.234.137 CentOS Linux release 7.7.1908 (Core)
master03 192.168.234.138 CentOS Linux release 7.7.1908 (Core)
node01 192.168.234.139 CentOS Linux release 7.7.1908 (Core)

升级系统内核

参考站内博客Linux系统内核升级

设置时间同步

yum -y install ntpdate && \
systemctl start ntpdate && systemctl enable ntpdate && \
ntpdate ntp.aliyun.com

设置主机名并配置hosts配置文件

192.168.234.136 master01
192.168.234.137 master02
192.168.234.138 master03
192.168.234.139 node01

关闭防火墙、selinux、以及swap分区

systemctl stop firewalld && systemctl disable firewalld
setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
swapoff -a && sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

调整内核参数

cat > /etc/sysctl.d/kubernetes.conf<<EOF
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
net.ipv4.ip_forward=1
net.ipv4.tcp_tw_recycle=0
vm.swappiness=0
vm.overcommit_memory=1
vm.panic_on_oom=0
fs.inotify.max_user_instances=8192
fs.inotify.max_user_watches=1048576
fs.file-max=52706963
fs.nr_open=52706963
net.ipv6.conf.all.disable_ipv6=1
net.netfilter.nf_conntrack_max=2310720
EOF

sysctl -p /etc/sysctl.d/kubernetes.conf

开启ipvs

modprobe br_netfilter  #用于向内核中加载模块
cat > /etc/sysconfig/modules/ipvs.modules<<EOF
#!/bin/bash
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack
EOF
chmod 755 /etc/sysconfig/modules/ipvs.modules
bash /etc/sysconfig/modules/ipvs.modules

以上步骤所有集群机器需要全部执行。

Sealos 部署高可用

Sealos 相关操作只要放入其中一个节点即可,他会自动发送到其他节点

# 下载并安装sealos, sealos是个golang的二进制工具,直接下载拷贝到bin目录即可, release页面也可下载
wget -c https://sealyun-home.oss-cn-beijing.aliyuncs.com/sealos/latest/sealos && \
chmod +x sealos && mv sealos /usr/bin

# 下载离线资源包
wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/05a3db657821277f5f3b92d834bbaf98-v1.22.0/kube1.22.0.tar.gz

#安装集群
sealos init --passwd '12344' \
    --master 192.168.234.136  --master 192.168.234.137  --master 192.168.234.138 \
    --node 192.168.234.139 \
    --pkg-url /opt/kube1.22.0.tar.gz \
    --version v1.22.0 | tee /opt/sealosinit.log

节点查看

#kube-scheduler 状态查看
kubectl  get endpoints kube-scheduler -n kube-system -o yaml
#kube-controller-manager 状态查看
kubectl  get endpoints kube-controller-manager -n kube-system -o yaml

Sealos 相关命令

增加 Master 节点

sealos join --master 192.168.0.6 --master 192.168.0.7

# 或者多个连续 IP
sealos join --master 192.168.0.6-192.168.0.9

增加 node

sealos join --node 192.168.0.6 --node 192.168.0.7

# 或者多个连续 IP
sealos join --node 192.168.0.6-192.168.0.9

删除指定 Master 节点

sealos clean --master 192.168.0.6 --master 192.168.0.7

# 或者多个连续 IP
sealos clean --master 192.168.0.6-192.168.0.9

删除指定 node 节点

sealos clean --node 192.168.0.6 --node 192.168.0.7

# 或者多个连续 IP
sealos clean --node 192.168.0.6-192.168.0.9

清理集群

sealos clean --all

备份集群

sealos etcd save

提醒:本文发布于580天前,文中所关联的信息可能已发生改变,请知悉!

AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完
 
阿蛮君
版权声明:本站原创文章,由 阿蛮君 2022-08-25发表,共计2879字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(13条评论)
hzddd 评论达人 LV.4
2022-08-26 10:56:15 回复

这个工具确实挺方便

 Windows  Edge  中国江西省南昌市电信
shaun 评论达人 LV.1
2022-08-29 16:00:46 回复

不行的,有些明明已经登陆了还是显示登陆才可评论

 Windows  Chrome  中国江西省南昌市电信
    hausen1012 博主
    2022-08-29 16:02:48 回复

    @shaun 可能是缓存有点问题哈,就是登陆了浏览器状态没有更新,所以才会提示

     Windows  Edge  中国湖南省长沙市电信
      shaun 评论达人 LV.1
      2022-08-29 16:07:06 回复

      @hausen1012 有可能,你是在上班摸鱼吗,哈哈哈 回复好快啊

       Windows  Chrome  中国江西省南昌市电信
        hausen1012 博主
        2022-08-29 16:08:08 回复

        @shaun 哈哈哈,主要是有邮件提醒

         Windows  Edge  中国湖南省长沙市电信
          shaun 评论达人 LV.1
          2022-08-29 16:09:36 回复

          @hausen1012 我也是上班忙完了没事干,在逛网站,搜着搜着到你这来了

           Windows  Chrome  中国江西省南昌市电信
    hausen1012 博主
    2022-08-29 16:06:29 回复

    @shaun 晚点我看看情况

     Windows  Edge  中国湖南省长沙市电信
    hausen1012 博主
    2022-08-29 16:11:28 回复

    @shaun 知乎吗,理论上来说我这才刚搭建不久,好像百度没有收录哈哈哈

     Windows  Edge  中国湖南省长沙市电信
      shaun 评论达人 LV.1
      2022-08-29 16:15:42 回复

      @hausen1012 对,我想着去海外的网站逛逛,又想着要翻墙,翻墙又要买节点,又想到怎么才能搭一个海外的服务器,然后...就来了

       Windows  Chrome  中国江西省南昌市电信
        hausen1012 博主
        2022-08-29 16:20:46 回复

        @shaun 那这很巧,欢迎光临,嘻嘻

         Windows  Edge  中国湖南省长沙市电信
          shaun 评论达人 LV.1
          2022-08-29 16:22:29 回复

          @hausen1012 都是缘分,那实际搭一个自己的海外服务器成本高吗

           Windows  Chrome  中国江西省南昌市电信
        hausen1012 博主
        2022-08-29 16:23:56 回复

        @shaun 不高的,邮箱是你qq吗?加你了哈

         Windows  Edge  中国湖南省长沙市电信
hausen1012 博主
2022-10-28 10:19:30 回复

文章可能已经过时,更多信息参考github

 Windows  Edge  中国湖南省长沙市电信
Copyright © 2022-2024 阿蛮君博客 湘ICP备2023001393号
本网站由 亿信互联 提供云计算服务 | 无忧云 提供安全防护和加速服务