小版本更新kubernetes
小版本更新kubernetes
背景
最近一段时间躺平了没有更新我的博客文档。感谢各位小伙伴一直以来的支持。
此脚本基于 https://github.com/cby-chen/Kubernetes/ 仓库内的安装部署文档。
此脚本仅会升级k8s相关组件其他组件不进行升级。
使用此脚本 务必是使用 该文档进行部署的集群。
脚本放在我的GitHub仓库中:
https://github.com/cby-chen/Kubernetes/blob/main/shell/update_k8s.sh
注意事项
更新时集群会进行重启!!!
#!/bin/bash
###
# 作者:陈步云
# 微信:15648907522
# 更新k8s集群,目前脚本支持小版本之间的更新
#
#
# 注意!!!!
# 更新时候服务会重启
# https://github.com/cby-chen/Kubernetes/blob/main/shell/update_k8s.sh
# 升级小版本
export k8s='1.27.4'
# 服务器地址
export All="192.168.0.31 192.168.0.32 192.168.0.33 192.168.0.34 192.168.0.35"
export Master='192.168.0.31 192.168.0.32 192.168.0.33'
export Work='192.168.0.34 192.168.0.35'
# 服务器的密码
export SSHPASS=123123
echo '开始安装免密工具'
# 判断系统类型并进行安装
os=$(cat /etc/os-release 2>/dev/null | grep ^ID= | awk -F= '{print $2}')
if [ "$os" = "\"centos\"" ]; then
yum update -y ; yum install -y sshpass
fi
if [ "$os" = "ubuntu" ]; then
apt update -y ; apt install -y sshpass
fi
# 配置免密登录
ssh-keygen -f /root/.ssh/id_rsa -P '' -y
for HOST in ${All};do
sshpass -f -e ssh-copy-id -o StrictHostKeyChecking=no $HOST
done
echo '开始下载所需包'
# 创建工作目录
mkdir -p update_k8s && cd update_k8s
# 下载所需版本
if [ -e "kubernetes-server-linux-amd64.tar.gz" ]; then
echo "文件存在"
else
echo "文件不存在"
wget https://dl.k8s.io/v${k8s}/kubernetes-server-linux-amd64.tar.gz && tar xf kubernetes-server-linux-amd64.tar.gz
fi
echo '开始更新集群'
# 拷贝所需安装包并重启
for master in ${Master}; do
# 停止服务...
ssh ${master} "systemctl stop kube-apiserver kube-controller-manager kube-scheduler kubelet kube-proxy"
# 分发安装包...
scp kubernetes/server/bin/kube{let,ctl,-apiserver,-controller-manager,-scheduler,-proxy} ${master}:/usr/local/bin/
# 启动服务...
ssh ${master} "systemctl restart kube-apiserver kube-controller-manager kube-scheduler kubelet kube-proxy"
done
# 拷贝所需安装包并重启
for work in ${Work}; do
# 停止服务...
ssh ${work} "systemctl stop kubelet kube-proxy"
# 分发安装包...
scp kubernetes/server/bin/kube{let,-proxy} ${work}:/usr/local/bin/
# 启动服务...
ssh ${work} "systemctl restart kubelet kube-proxy"
done
echo '更新完成,`kubectl get node`看一下结果吧!'
关于
https://www.oiox.cn/index.php/start-page.html
CSDN、GitHub、51CTO、知乎、开源中国、思否、博客园、掘金、简书、华为云、阿里云、腾讯云、哔哩哔哩、今日头条、新浪微博、个人博客
全网可搜《小陈运维》
文章主要发布于微信公众号
小版本更新kubernetes的更多相关文章
- 《ServerSuperIO Designer IDE使用教程》- 5.树形结构管理设备驱动,小版本更新。发布:v4.2.3.1版本
v4.2.3.1 更新内容:1.选择和管理设备驱动,增加树状结构显示.2.优化ide代码,核心代码没有改动.下载地址:官方下载 5. 树形结构管理设备驱动,小版本更新 5.1 概述 此次升级主要 ...
- FineUIPro v6.0.1 小版本更新!
这次修正了 v6.0.0版本的几个问题,建议所有用户升级到此版本: +修正调用F.addMainTab时可能出现JS错误的问题(34484135,1450561644). -仅在未调用F.ini ...
- 升级二进制kubernetes集群
升级二进制kubernetes集群 背景介绍 最近由于时间不足,暂时无法对小版本更新第一时间出新的文档.若需要升级集群版本,可以参考此文档进行操作,每个节点一个一个地更新.大版本更新请各位持续关注我的 ...
- [转帖]Kubernetes及容器编排的总体介绍【译】
Kubernetes及容器编排的总体介绍[译] 翻译自The New Stack<Kubernetes 生态环境>作者:JANAKIRAM MSV和 KRISHNAN SUBRAMANIA ...
- Kubernetes(k8s)密码管理:Secret
目录 一.系统环境 二.前言 三.Secret概览 四.Secret 的类型 五.各种类型的secret使用实例 5.1 创建kubernetes.io/service-account-token类型 ...
- 基础设施即代码(IAC),Zalando Postgres Operator 简介
Postgres Operator 在由 Patroni 提供支持的 Kubernetes (K8s) 上提供易于运行的高可用性 PostgreSQL 集群.它仅通过 Postgres 清单 (CRD ...
- 分布式应用运行时 Dapr 1.7 发布
Dapr 是一个开源.可移植的.事件驱动的运行时,可以帮助开发人员构建在云和边缘上运行的弹性的.微服务的.无状态和有状态应用程序,并且关注于业务逻辑而不用考虑分布式相关的问题. 分布式相关的问题交给D ...
- Dapr v1.8 正式发布
Dapr是一套开源.可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性.微服务.无状态以及有状态等应用程序类型.Dapr能够确保开发人员专注于编写业务逻辑,而不必分神于解决分布式系统 ...
- Unix及类Unix系统文本编辑器的介绍
概述 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是纯粹的自由软件. Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Em ...
- vim深入研究
About VIM--Unix及类Unix系统文本编辑器 Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是纯粹的自由软件. Vim普遍被推崇 ...
随机推荐
- Xposed框架关于无法在模拟器中下载和激活的问题
开头 最近xposed不知道出了什么问题,导致安装的时候一直在失败,所以记录下网上参考到的并用于实践中 安装软件 1.模拟器 逍遥游模拟器 安卓7.1 版本.下载地址为: https://www.52 ...
- 2022-10-29:go语言中的defer能非常方便地处理资源释放问题,rust语言里如何实现defer功能呢?
2022-10-29:go语言中的defer能非常方便地处理资源释放问题,rust语言里如何实现defer功能呢? 答案2022-10-29: rust里有时候你也必须用defer,别说是设计上的问题 ...
- vue全家桶进阶之路40:Vue3父件传值给子件
在Vue3中,可以通过props将父组件的数据传递给子组件.具体步骤如下: 在父组件中定义要传递给子组件的数据,可以是data属性中的数据或者是计算属性computed中的数据. 在子组件中通过pro ...
- HDU - 7125 Master of Shuangpin
D. Master of Shuangpin time limit per test 1 second memory limit per test 256 megabytes input standa ...
- dockder 学习第一篇
1 docker安装 1 yum包的更新到最新 yum update 2 安装需要软件包,yum-util [root@localhost ~]# yum install -y yum-utils d ...
- 2023-06-06:给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列。 对位于 (row, col) 的每个结点而言, 其左右子结点分别位于 (row + 1, col -
2023-06-06:给你二叉树的根结点 root ,请你设计算法计算二叉树的 垂序遍历 序列. 对位于 (row, col) 的每个结点而言, 其左右子结点分别位于 (row + 1, col - ...
- How to build a OR condition in Elasticsearch Query DSL
How to build a OR condition in Elasticsearch Query DSL 参考 Query Example Query DSL 表达方
- uni-app简单通用Request网络请求 支持请求成功 失败回调
uni-app简单通用Request网络请求 支持请求成功 失败回调; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12794 ...
- 如何使用libavcodec将.h264码流文件解码为.yuv图像序列?
一.打开和关闭输入文件和输出文件 //io_data.cpp static FILE* input_file= nullptr; static FILE* output_file= nullptr; ...
- 大批量插入数据(sql insert)
1.批量录入(方法一:mybiats foreach标签) 所述的MySQL和Oracle的批量插入区别可以看出可能有兼容性问题(使用Oracle 的同学重点参考下) 而且jdbc链接Url要加上 a ...