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- opt]# kubectl label node hdss7-.host.com node-role.kubernetes.io/master=
[root@hdss7- opt]# kubectl label node hdss7-.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
7.kubernetes集群版本升级的更多相关文章
- Kubernetes 集群无损升级实践 转至元数据结尾
一.背景 活跃的社区和广大的用户群,使 Kubernetes 仍然保持3个月一个版本的高频发布节奏.高频的版本发布带来了更多的新功能落地和 bug 及时修复,但是线上环境业务长期运行,任何变更出错都可 ...
- 用8个命令调试Kubernetes集群
如果使用任何系统的时间足够长,那么你肯定必须对其进行调试,Kubernetes也不例外.它是一个分布式系统,有许多运动部件.我们将介绍8个可以运行以调试任何Kubernetes集群的命令. 它将帮助你 ...
- 基于Containerd安装部署高可用Kubernetes集群
转载自:https://blog.weiyigeek.top/2021/7-30-623.html 简述 Kubernetes(后续简称k8s)是 Google(2014年6月) 开源的一个容器编排引 ...
- 基于Python+Django的Kubernetes集群管理平台
➠更多技术干货请戳:听云博客 时至今日,接触kubernetes也有一段时间了,而我们的大部分业务也已经稳定地运行在不同规模的kubernetes集群上,不得不说,无论是从应用部署.迭代,还是从资源调 ...
- Kubernetes集群搭建过程中遇到的问题
1. 创建Nginx Pod过程中报如下错误: #kubectlcreate -f nginx-pod.yaml Error from server: error when creating &quo ...
- Kubernetes集群初探
上文我们在一台虚机上演示了Kubernetes基于redis和docker的guestbook留言簿案例,本文我们将通过配置Kubernetes集群的方式继续深入研究.集群组件安装如下配置. IP N ...
- kubernetes集群部署
鉴于Docker如此火爆,Google推出kubernetes管理docker集群,不少人估计会进行尝试.kubernetes得到了很多大公司的支持,kubernetes集群部署工具也集成了gce,c ...
- 在Openstack上创建并访问Kubernetes集群
第一部分:创建集群 在Openstack部署Kubernetes集群运行Nginx容器的步骤,其中包括: 利用Murano部署Kubernetes集群 配置Openstack的安全性使Kubernet ...
- Centos7上安装Kubernetes集群部署docker
一.安装前准备1.操作系统详情需要三台主机,都最小化安装 centos7.3,并update到最新 [root@master ~]# (Core) 角色 主机名 IPMaster master 192 ...
随机推荐
- 阿里短信回持.net sdk的bug导致生产服务cpu 100%排查
一:背景 1. 讲故事 去年阿里聚石塔上的所有isv短信通道全部对接阿里通信,我们就做了对接改造,使用阿里提供的.net sdk. 网址:https://help.aliyun.com/documen ...
- 【Mac+Wind7】pytest + allure生成定制报告
一.升级Powershell(windows7及以上版本默认自带.其实普通的CMD命令行工具够用了) 我是Win7默认带的pw1.0,太古老了升级一下,地址如下,选择与自己windows版本匹配的连接 ...
- SpringBoot入门系列(十二)统一日志收集
前面介绍了Spring Boot 异常处理,不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/zhangweizhong/category/1657780.html. 今 ...
- Mysql基础(二)
多表连接 #多表查询 /* sql99标准 等值连接 ①多表等值连接的结果为多表的交集部分 ② n个连接至少需要 n-1个连接 ③一般需要为表起别名 ④可以搭配前面介绍的所有子句的使用,比如排序,分组 ...
- 慕零的黑夜-头条-第二期(CSDN)[导读:] CSDN的15个bug&用户意见(很大) 作者:qq3461896724
首先介绍CSDN: 相信"金山词霸,金山打字通"许多人都用过,而金山副总监 创办了 "全球最大中文IT技术平台,成就一亿技术人"的CSDN(Chinese s ...
- CVE-2017-9993 FFMpeg漏洞利用
漏洞原理: 更改连接直接发送请求,造成ssrf 漏洞利用: 脚本地址:https://github.com/neex/ffmpeg-avi-m3u-xbin 用法: 生成一个读取/etc/passwd ...
- Java实现 蓝桥杯算法提高金明的预算方案
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元 ...
- Java实现 蓝桥杯VIP 算法训练 入学考试
问题描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:" ...
- Java实现蓝桥杯VIP 算法训练 P0501
试题 算法训练 P0501 资源限制 时间限制:1.0s 内存限制:256.0MB 输入两个无符号整数x, y, 用位操作实现无符号整数的乘法运算.不用考虑整数的溢出. 输入: 235 657 输出: ...
- java实现排列序数
X星系的某次考古活动发现了史前智能痕迹. 这是一些用来计数的符号,经过分析它的计数规律如下: (为了表示方便,我们把这些奇怪的符号用a~q代替) abcdefghijklmnopq 表示0 abcde ...