zoukankan      html  css  js  c++  java
  • k8s node 宕机

    1.查看当前的项目运行

    image.pngimage.png

    image.png

     

    无论是web访问还是看log日志 都能请求到我的这个项目 接下来演示下宿主机挂掉的流程

    2.前提准备

    首先设置副本至少2个

    image.png

    image.png

    image.png

    image.png

    [root@hdss7-21 ~]# kubectl delete node  hdss7-22.host.com 

    这里要删除挂掉的node 如果不删除k8s会认为短暂的不可达 但用户访问可能会出现网络不可达。这块的话可以写脚本进行监控宿主机。

    删除之后k8s 自己会触发自愈机制,然后dashboard 会从21上启动,会将pod 调度到node21上

    image.png

    然后将前端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项目已经正常了

    image.png

    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=

    image.png

    image.png

    去掉前端nginx注释即可

  • 相关阅读:
    HTML学习记录之HTML组成原理 PHP学习铺垫
    最长上升子序列(Longest increasing subsequence)
    进程保护(二)
    进程保护(一)
    屏幕广播的实现(三)
    vs2010 调试快捷键
    [整理]C#.Net的常见面试试题附答案(ZT)
    C# 中处理字符串常用的函数及方法详细说明
    Linux 系统下 /etc/group 档案结构
    C# Thread 多种写法总结
  • 原文地址:https://www.cnblogs.com/sseban/p/13072025.html
Copyright © 2011-2022 走看看