• 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
  • 相关阅读:
    java中关于AtomicInteger的使用
    什么是程序的原子性
    ReadWriteLock ReentrantReadWriteLock
    InputStream转换为String, byte[] data = new byte[1024]详解
    Invalid argument during startup: unknown conf file parameter : requirepass
    ArrayBlockingQueue 阻塞队列和 Semaphore 信号灯的应用
    java并发之同步辅助类CyclicBarrier和CountDownLatch
    CSS学习摘要-定位
    CSS学习摘要-布局
    CSS学习摘要-浮动与清除浮动
  • 原文地址:https://www.cnblogs.com/fxxy/p/13093130.html
Copyright © 2020-2023  润新知