1.查看當前的項目運行



無論是web訪問還是看log日志 都能請求到我的這個項目 接下來演示下宿主機掛掉的流程
2.前提准備
首先設置副本至少2個




[root@hdss7-21 ~]# kubectl delete node hdss7-22.host.com
這里要刪除掛掉的node 如果不刪除k8s會認為短暫的不可達 但用戶訪問可能會出現網絡不可達。這塊的話可以寫腳本進行監控宿主機。
刪除之后k8s 自己會觸發自愈機制,然后dashboard 會從21上啟動,會將pod 調度到node21上

然后將前端nignx負載注釋掉
[root@hdss7-11 ~]# vim /etc/nginx/nginx.conf
stream {
upstream kube-apiserver {
server 192.168.40.21:6443 max_fails=3 fail_timeout=30s;
# server 192.168.40.22:6443 max_fails=3 fail_timeout=30s;
}
server {
listen 7443;
proxy_connect_timeout 2s;
proxy_timeout 900s;
proxy_pass kube-apiserver;
include proxy_params;
}
}
[root@hdss7-11 ~]# cat /etc/nginx/conf.d/od.com.conf
upstream default_backend_traefik {
server 192.168.40.21:81 max_fails=3 fail_timeout=10s;
#server 192.168.40.22:81 max_fails=3 fail_timeout=10s;
}
server {
server_name *.od.com;
location / {
proxy_pass http://default_backend_traefik;
proxy_set_header Host $http_host;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
}
}
[root@hdss7-11 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@hdss7-11 ~]# nginx -s reload
再次訪問dubbo項目已經正常了

3.節點恢復
22節點恢復 他會自動啟動自身的服務加入到集群內部
[root@hdss7-22 ~]# supervisorctl status
etcd-server-7-22 STARTING
flanneld-7-22 STARTING
kube-apiserver-7-22 STARTING
kube-controller-manager-7-22 STARTING
kube-kubelet-7-22 STARTING
kube-proxy-7-22 STARTING
kube-scheduler-7-22 STARTING
[root@hdss7-22 ~]# kubectl label node hdss7-22.host.com node-role.kubernetes.io/master=
[root@hdss7-22 ~]# kubectl label node hdss7-22.host.com node-role.kubernetes.io/node=


去掉前端nginx注釋即可
