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

 

posted @ 2020-06-11 14:39  XingFang  阅读(370)  评论(0编辑  收藏  举报