栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

kubernetes之sealos搭建高可用集群

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

kubernetes之sealos搭建高可用集群

kubernetes之sealos搭建高可用集群


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

注意事项
  1. 必须同步所有服务器时间
  2. 所有服务器主机名不能重复
  3. 系统支持:centos7.6以上(其中centos8不支持) ubuntu16.04以上
  4. 内核推荐4.14以上, 系统推荐:centos7.7
部署
角色ip系统
master01192.168.234.136CentOS Linux release 7.7.1908 (Core)
master02192.168.234.137CentOS Linux release 7.7.1908 (Core)
master03192.168.234.138CentOS Linux release 7.7.1908 (Core)
node01192.168.234.139CentOS Linux release 7.7.1908 (Core)
升级系统内核

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

调整系统时区(如正确可忽略)
#设置系统时区
$ timedatectl set-timezone Asia/Shanghai
#将当前时间写入硬件时钟
$ timedatectl set-local-rtc 0
#重启服务
$ systemctl restart rsyslog.service
$ systemctl restart crond.service
设置主机名并配置hosts配置文件
$ hostnamectl set-hostname master01
$ hostnamectl set-hostname master02
$ hostnamectl set-hostname master03
$ hostnamectl set-hostname node01
$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.234.136 master01
192.168.234.137 master01
192.168.234.136 master01
192.168.234.138 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 < 

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

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.20.0.tar.gz 
    --version v1.22.0

节点查看

#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
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/885135.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号