如何部署k8s高可用架构
发表于:2025-02-19 作者:千家信息网编辑
千家信息网最后更新 2025年02月19日,本篇内容主要讲解"如何部署k8s高可用架构",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何部署k8s高可用架构"吧!概述地址sealos, 让kuber
千家信息网最后更新 2025年02月19日如何部署k8s高可用架构
本篇内容主要讲解"如何部署k8s高可用架构",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何部署k8s高可用架构"吧!
概述
地址sealos, 让kubernetes高可用不再需要keepalived haproxy和ansible,sealyun定制超级版kubeadm通过ipvs代理多个master,优雅解决k8s高可用问题。

环境介绍
ip role10.103.97.200 master010.103.97.201 master010.103.97.202 master010.103.97.2 virtulIP
apiserver.cluster.local apiserver解析名
下载kubernetes1.14.0+离线包
在每个节点上初始化
tar zxvf kube1.14.0.tar.gz && cd kube/shell && sh init.sh
用下载的kubeadm替换掉包内的kubeadm:
cp kubeadm /usr/bin/kubeadm
kubeadm配置文件
cat kubeadm-config.yaml :
apiVersion: kubeadm.k8s.io/v1beta1kind: ClusterConfigurationkubernetesVersion: v1.14.0controlPlaneEndpoint: "apiserver.cluster.local:6443" # 使用解析名去访问APIserverapiServer: certSANs: - 127.0.0.1 - apiserver.cluster.local - 172.20.241.205 - 172.20.241.206 - 172.20.241.207 - 172.20.241.208 - 10.103.97.2 # 虚拟IP等都加入到证书中---apiVersion: kubeproxy.config.k8s.io/v1alpha1kind: KubeProxyConfigurationmode: "ipvs"ipvs: excludeCIDRs: - "10.103.97.2/32" # 如果不加这个k8s会定时清理用户创建的IPVS规则,导致代理失败
在 master0 10.103.97.200 上
echo "10.103.97.200 apiserver.cluster.local" >> /etc/hostskubeadm init --config=kubeadm-config.yaml --experimental-upload-certs mkdir ~/.kube && cp /etc/kubernetes/admin.conf ~/.kube/configkubectl apply -f https://docs.projectcalico.org/v3.6/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml # 安装calico
执行完会输出一些日志,里面包含join需要用的命令
在 master1 10.103.97.201 上
# 注意,在安装之前解析到master0, 安装成功后解析改成自己,因为kubelet kube-proxy配置的都是这个解析名,如果不改解析master0宕机整个集群就不可用了echo "10.103.97.200 apiserver.cluster.local" >> /etc/hostskubeadm join 10.103.97.200:6443 --token 9vr73a.a8uxyaju799qwdjv \ --discovery-token-ca-cert-hash sha256:7c2e69131a36ae2a042a339b33381c6d0d43887e2de83720eff5359e26aec866 \ --experimental-control-plane \ --certificate-key f8902e114ef118304e561c3ecd4d0b543adc226b7a07f675f56564185ffe0c07sed "s/10.103.97.200/10.103.97.201/g" -i /etc/hosts # 解析改也自己本机地址
在 master2 10.103.97.202 上,同master1
echo "10.103.97.200 apiserver.cluster.local" >> /etc/hostskubeadm join 10.103.97.200:6443 --token 9vr73a.a8uxyaju799qwdjv \ --discovery-token-ca-cert-hash sha256:7c2e69131a36ae2a042a339b33381c6d0d43887e2de83720eff5359e26aec866 \ --experimental-control-plane \ --certificate-key f8902e114ef118304e561c3ecd4d0b543adc226b7a07f675f56564185ffe0c07 sed "s/10.103.97.200/10.103.97.201/g" -i /etc/hosts
在Node节点上
通过虚拟IP join到master上, 这个命令会在node节点上创建一条ipvs规则,virturl server就是虚拟IP, realserver就是三个master。 然后再以一个static pod起一个守护进程守护这些规则,一旦哪个apiserver不可访问了就清除realserver, apiserver通了之后再次添加回来
echo "10.103.97.2 apiserver.cluster.local" >> /etc/hosts # using vipkubeadm join 10.103.97.2:6443 --token 9vr73a.a8uxyaju799qwdjv \ --master 10.103.97.200:6443 \ --master 10.103.97.201:6443 \ --master 10.103.97.202:6443 \ --discovery-token-ca-cert-hash sha256:7c2e69131a36ae2a042a339b33381c6d0d43887e2de83720eff5359e26aec866Architecture +----------+ +---------------+ virturl server: 10.103.97.2:6443 | mater0 |
集群每个node节点都会创建一条ipvs规则用于代理所有的master节点。类似kube-proxy的ipvs实现。
然后起一个守护进程就健康检查
apiservers /etc/kubernetes/manifests/sealyun-lvscare.yaml
到此,相信大家对"如何部署k8s高可用架构"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
节点
规则
架构
代理
内容
命令
地址
就是
进程
集群
建一
学习
配置
实用
更深
优雅
健康
成功
三个
会创
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全游戏卡片标语
互联网科技公司怎么做账
数据库ybd
iq数据库查询命令
中国移动网络技术发展
如果服务器不行的话怎么办
啥叫软件开发任务书
申银万国应用服务器
微信服务器存储压力
网路和服务器维护管理
移动互联网应用软件开发源码
网络安全 国家倡导
网吧cfhd对局服务器连接失败
picc软件开发
数据库最重要的结构
蓝鸽无盘服务器配置
从数据库中调取书籍价格
修改数据库使用sql语句6
网络安全员是什么单位
数据库排序规则到底是什么东西
新展公司5g网络技术
网络安全和ui设计哪个好
电脑数据库丢失
数据库开发软件的作用
网络技术的演变
广州运维服务软件开发
中学生护苗网络安全教育
tcp ip网络安全测试
《网络安全法》是什么
软件开发需求哪里找