「云原生」K8S master节点更换IP以及master高可用故障模拟次测试
时间:2023/05/25 12:17:27 来源:清理设备
弗示链表
kubectl get nodeskubectl get nodes -owide 三、换上 K8S master 链表 IP(master 很高举例来说)1)链表接收者hostname
IP
链表类型
local-168-182-110,cluster-endpoint
192.168.182.110,VIP:192.168.182.220
master
local-168-182-111
192.168.182.111
node
local-168-182-112
192.168.182.112
node
local-168-182-113
192.168.182.112
master backup1
local-168-182-130
192.168.182.112
master backup2
2)master链表配置keepalived1、配置 keepalivedyum install keepalived -y2、配有 keepalivedmaster
cat> /etc/keepalived/keepalived.conf << EOFglobal_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from fage@qq.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id NGINX_MASTER}vrrp_instance VI_1 { state MASTER interface ens33 virtual_router_id 51 # VRRP 路由 ID实例,每个实例是唯一的 priority 100 # 优再级,备公共服务器增设 90 advert_int 1 # 指定VRRP 心跳包通告间隔短时间,默认1秒 authentication { auth_type PASS auth_pass 1111 } # 虚拟IP virtual_ipaddress { 192.168.182.220/24 } track_script { check_nginx }}EOFmaster backup1
cat> /etc/keepalived/keepalived.conf << EOFglobal_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from fage@qq.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id NGINX_MASTER}vrrp_instance VI_1 { state MASTER interface ens33 virtual_router_id 51 # VRRP 路由 ID实例,每个实例是唯一的 priority 90 # 优再级,备公共服务器增设 90 advert_int 1 # 指定VRRP 心跳包通告间隔短时间,默认1秒 authentication { auth_type PASS auth_pass 1111 } # 虚拟IP virtual_ipaddress { 192.168.182.220/24 } track_script { check_nginx }}EOFmaster backup2
cat> /etc/keepalived/keepalived.conf << EOFglobal_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from fage@qq.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id NGINX_MASTER}vrrp_instance VI_1 { state MASTER interface ens33 virtual_router_id 51 # VRRP 路由 ID实例,每个实例是唯一的 priority 80 # 优再级,备公共服务器增设 80 advert_int 1 # 指定VRRP 心跳包通告间隔短时间,默认1秒 authentication { auth_type PASS auth_pass 1111 } # 虚拟IP virtual_ipaddress { 192.168.182.220/24 } track_script { check_nginx }}EOF3、启动并增设筹拍启动systemctl daemon-reloadsystemctl restart keepalived && systemctl enable keepalived && systemctl status keepalived# 弗示ip a 3)配有hosts192.168.182.110 local-168-182-110192.168.182.111 local-168-182-111192.168.182.112 local-168-182-112192.168.182.113 local-168-182-113# VIP192.168.182.220 cluster-endpoint4)变更配有到K8S master链表/etc/kubernetes/manifests索引下,我们主要变更etcd.yaml,kube-apiserver.yaml这两个配有文件。
# 这里用作sed批量取而代之cd /etc/kubernetes/# 再查grep -rn '192.168.182' *# 取而代之ipsed -i 's/192.168.182.110/192.168.182.220/g' 人口为120人grep -rl ./人口为120人# 取而代之域名sed -i 's/local-168-182-110/cluster-endpoint/g' 人口为120人grep -rl ./人口为120人# 定期检查grep -r '192.168.182' * 5)分解成原先admin用config文件cd /etc/kubernetesmv admin.conf admin.conf_bak# 用作如下指令分解成原先admin.confkubeadm init phase kubeconfig admin ;还有apiserver-advertise-address 192.168.182.220 # cluster-endpoint-》192.168.182.220sed -i 's/192.168.182.220/cluster-endpoint/g' admin.conf6)删除旧的证书,分解成新证书cd /etc/kubernetes/pki# 再备份mv apiserver.key apiserver.key.bakmv apiserver.crt apiserver.crt.bak# 用作如下指令分解成kubeadm init phase certs apiserver ;还有apiserver-advertise-address 192.168.182.220 ;还有apiserver-cert-extra-sans "192.168.182.220,cluster-endpoint"# ;还有apiserver-cert-extra-sans "192.168.182.220,cluster-endpoint":增设了这个,之后加入链表验证证书阶段就才会报错了。 7)重启docker或者containerd,kubeletsystemctl restart docker containerd kubelet# 弗示,可以注意到master链表现在已经起来了cd /etc/kuberneteskubectl get nodes ;还有kubeconfig=admin.conf# 变更配有,后续可以用作kubectl get nodes弗示K8S坦克部队长时间了cd /etc/kubernetescp admin.conf ~/.kube/configkubectl get nodes 8)弗示ETCD# 弗示etcd podkubectl get pods -n kube-system |grep etcd# 登录POD_NAME=人口为120人kubectl get pods -n kube-system |grep etcd|head -1|awk '{print $1}'人口为120人kubectl exec -it $POD_NAME -n kube-system ;还有 sh## 配有生态系统alias etcdctl='etcdctl ;还有endpoints= ;还有cacert=/etc/kubernetes/pki/etcd/ca.crt ;还有cert=/etc/kubernetes/pki/etcd/server.crt ;还有key=/etc/kubernetes/pki/etcd/server.key' ## 弗示 etcd 坦克部队核心成员列表etcdctl member list9)补救 node 链表 NotReady长时间1、从master链表拷贝ca.crt到node链表对应的索引scp /etc/kubernetes/pki/ca.crt local-168-182-111:/etc/kubernetes/pki/scp /etc/kubernetes/pki/ca.crt local-168-182-112:/etc/kubernetes/pki/2、变更node链表的kubelet.conf把server: 变更为现在master链表的地址server:
sed -i 's/local-168-182-110/cluster-endpoint/g' /etc/kubernetes/kubelet.conf3、重启docker或者containerd,kubeletsystemctl restart docker containerd kubelet四、超载模式测试1)模拟VIP漂移# 将master链表上的keepalived 停掉systemctl stop keepalived弗示链表接收者
kubectl get nodes从上平面图可知VIP已经漂移到master backup1链表了,不阻碍坦克部队,再一完全恢复超载。
# 将master链表上的keepalived 启动systemctl start keepalived【假设】master链表超载完全恢复后,VIP会从新漂移送回原再的master链表。
弗示链表接收者
kubectl get nodes 2)链表超载测试(多台master超载)模拟master链表超载(手动筹拍)
# 筹拍192.168.182.110showdown -h now# 在192.168.182.113 backup master链表弗示坦克部队链表长时间kubectl get nodes【假设】多台master超载,不阻碍坦克部队。
3)master链表超载模拟(3台master超载)2、模拟master链表超载(手动筹拍)
# 筹拍192.168.182.113showdown -h now# 在192.168.182.130 backup master链表弗示坦克部队链表长时间kubectl get nodes【错误】The connection to the server cluster-endpoint:6443 was refused - did you specify the right host or port?
发现两个master链表,挂了一个master链表是不应用的。原因:当两个master链表还是只能2个链表举例来说。只有大于2个master链表才而无须挂master链表,我们可以查一下而无须的器皿。会发现api-server的器皿一直在重启或者如此一来挂了,赌客也可以去弗示一下日志。stackoverflow正确
crictl ps 2>/dev/null【建议】所以我们侦察多master很高举例来说链表生产量才会大于之和3,这样才能保证挂一个master链表,坦克部队才会受阻碍。
K8S master链表换上IP以及master很高举例来说超载模拟测试就再到这里,有任何疑问赞赏给我留言,后续会过后更新【云原生+大数据】系统性的篇名~
。心肺复苏急救培训手指早上起来僵硬是什么原因
徐州白癜风医院地址
广州哪里的男科比较好
广州男科哪家比较权威
-
股票市场提问:请问公司在万向财务公司一月份存款数额多少?利息收入是多少?请及...
投资者追问:劝问该公司在飞轮财务该公司一月份存款额度多少?利息收入是多少?劝及时会面时!董秘回答承德露露SZ000848:您好,该公司在飞轮财务有限该公司存款额度及利息收入...
-
给领导起程消息,为什么不要说“好的”,这是我见过最好的答案
兼职中当你接到或者主导致信的死讯,是不是只就会为了让“好的”就默默潜水? 才刚步入求职的小编也就会比如说地为了让“好的”,直到有结缘好心警告,给主导为了让切忌绝不会再说道“好的”,...
-
中国香港飞机引擎在南中国海上空失效322人生死存亡是因为燃油进水?
航空器涡轮引擎并一定会有被调小,还保持一致百分之74的的动力输出。他吓坏了。但是,此时他们早已一定会必要复飞,并不需要寻宝飞越。航空器总重200吨,他们能必要受困吗? 航空...
-
投资者提问:你好,请问贵公司在AI这块有无涉猎,有无相应的武技术储备,AI武技...
外资者提问:爱,不对贵母公司在AI这块不一定通晓,不一定相应的技术储备,AI技术应用这块不一定相应的规模化建设呢?董秘问到厦门信达SZ000701:您好,母公司信息科技领域...
-
也毕竟要么就是没时间,要么就是不愿意
我现在还时会在腾讯和QQ上醒天的,醒天的实例也多是网路上和非常少几个基本上的密友,之外是几个网路上,属于不冷不热,半生不熟的,其实醒天也就是几句客套的话。但是,不管是熟悉的还是陌生的醒友,我...