zoukankan      html  css  js  c++  java
  • 7.kubernetes集群版本升级

    1.查看原集群的Node节点的版本号

    [root@hdss7-22 opt]# kubectl get node -o wide
    

    2.将要升级的kubernetes版本上传到node节点上并解压(v1.15.2升至v1.15.4)

    [root@hdss7-22 opt]# mkdir kubernetes-v1.15.4
    [root@hdss7-22 opt]# tar zxvf kubernetes-server-linux-amd64-v1.15.4.tar.gz -C ../kubernetes-v1.15.4
    [root@hdss7-22 opt]# cd kubernetes-v1.15.4/kubernetes
    [root@hdss7-22 kubernetes]#  mv ./* ../
    [root@hdss7-22 kubernetes]#  cd ../ && rm -rf kubernetes
    [root@hdss7-22 kubernetes]#  cd server/bin/
    [root@hdss7-22 bin]# rm -rf  *.tar *_tag *_tar
    [root@hdss7-22 bin]# mkdir certs && cd certs
    [root@hdss7-22 certs]#  cp /opt/kubernetes/server/bin/certs/* .
    [root@hdss7-22 bin]# mkdir conf && cd conf/
    [root@hdss7-22 conf]# cp /opt/kubernetes/server/bin/conf/* .
    [root@hdss7-22 bin]# cp /opt/kubernetes/server/bin/*.sh . 

    3.将四层和七层代理进行注释(删除某台node节点就注释某个对应的IP地址)

    HDSS7-11.host.com上:

    [root@hdss7-11 conf.d]# vim fx.com.conf 
    upstream default_backend_traefik {
        server 10.4.7.21:81    max_fails=3 fail_timeout=10s;
    #    server 10.4.7.22:81    max_fails=3 fail_timeout=10s;
    }
    server {
        server_name *.fx.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]# vim nginx.conf
    }
    stream {
        log_format proxy '$time_local|$remote_addr|$upstream_addr|$protocol|$status|'
                         '$session_time|$upstream_connect_time|$bytes_sent|$bytes_received|'
                         '$upstream_bytes_sent|$upstream_bytes_received' ;
    
        upstream kube-apiserver {
            server 10.4.7.21:6443     max_fails=3 fail_timeout=30s;
    #        server 10.4.7.22:6443     max_fails=3 fail_timeout=30s;
        }
        server {
            listen 7443;
            proxy_connect_timeout 2s;
            proxy_timeout 900s;
            proxy_pass kube-apiserver;
            access_log /var/log/nginx/proxy.log proxy;
        }
    }
    [root@hdss7-11 nginx]# nginx -t
    [root@hdss7-11 nginx]# nginx -s reload

    注:HDSS7-12.host.com nginx也需要修改

    4.将node节点从集群中删除

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

    5.将kubernetes链接指向新版本的kubernetes-v1.15.4

    [root@hdss7-22 opt]# ln -s /opt/kubernetes-v1.15.4  /opt/kubernetes 

    6.将k8s集群重新启动

    [root@hdss7-22 opt]# supervisorctl restart all

    7.查询集群的node节点是否已经升级到最新版(v1.15.4)

    [root@hdss7-22 opt]# kubectl get node 
    NAME                STATUS   ROLES    AGE   VERSION
    hdss7-21.host.com   Ready    <none>   63m   v1.15.4
    hdss7-22.host.com   Ready    <none>   33m   v1.15.4  

    8.对node节点打标签

    [root@hdss7-22 opt]# kubectl label node hdss7-22.host.com node-role.kubernetes.io/master=
    [root@hdss7-22 opt]# kubectl label node hdss7-22.host.com node-role.kubernetes.io/node=

    9.将前面在四层和七层代理注释的内容把注释去掉并重启nginx

    [root@hdss7-11 conf.d]# vim fx.com.conf 
    upstream default_backend_traefik {
        server 10.4.7.21:81    max_fails=3 fail_timeout=10s;
        server 10.4.7.22:81    max_fails=3 fail_timeout=10s;
    }
    server {
        server_name *.fx.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]# vim nginx.conf
    stream {
        log_format proxy '$time_local|$remote_addr|$upstream_addr|$protocol|$status|'
                         '$session_time|$upstream_connect_time|$bytes_sent|$bytes_received|'
                         '$upstream_bytes_sent|$upstream_bytes_received' ;
    
        upstream kube-apiserver {
            server 10.4.7.21:6443     max_fails=3 fail_timeout=30s;
            server 10.4.7.22:6443     max_fails=3 fail_timeout=30s;
        }
        server {
            listen 7443;
            proxy_connect_timeout 2s;
            proxy_timeout 900s;
            proxy_pass kube-apiserver;
            access_log /var/log/nginx/proxy.log proxy;
        }
    }
    [root@hdss7-11 conf.d]# nginx -t
    [root@hdss7-11 conf.d]# nginx -s reload
  • 相关阅读:
    怎样在过滤器中读取配置信息?
    怎样将直接数据库中Json字段,映射到Mybatis中的Map类型?
    spring/boot 打包,资源/配置/业务文件分离
    使用VS Code推送代码到GitHub
    Clion下jni配置
    curl post请求总是返回417错误
    ubuntu 12.10 apt-get 源
    如何让git小乌龟工具TortoiseGit记住你的账号密码
    FastCgi与Cgi
    Libevent核心原理
  • 原文地址:https://www.cnblogs.com/fxxy/p/13093130.html
Copyright © 2011-2022 走看看