小版本更新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普遍被推崇 ...
随机推荐
- python Unitest和pytest 介绍和安装
前言 目前有两种纯测试的测试框架,pytest和unittest,这系列文章主要介绍pytest为主 UnitTest测试框架理论 python 自带的单元测试框架,常用在单元测试 在自动化测试中提供 ...
- 在 CentOS 上搭建 Mumble 服务器
Mumble 服务器搭建 前言 Mumble 是一个开源.低延迟.高质量的语音通话平台.可以在多个平台搭建,并且有多个开源的客户端(Windows.Linux.Android.MacOS).这是 官网 ...
- 2022-08-01:以下go语言代码输出什么?A:panic;B:5;C:6;D:编译错误。 package main import ( “fmt“ ) func main() {
2022-08-01:以下go语言代码输出什么?A:panic:B:5:C:6:D:编译错误. package main import ( "fmt" ) func main() ...
- 2021-01-01:https加解密机制,你了解多少?
福哥答案2021-01-01:这道题是我被大厂面试的题,但网上的答案太多了,故直接引用. HTTPS(全称:Hyper Text Transfer Protocol over Secure Socke ...
- Django报错No module named django.core.urlresolvers
当需要测试django能否解析网站根路径的URL,并将其对应到我们编写的某个视图函数上时,使用下面的语句 from django.core.urlresolvers import resolve 执行 ...
- 避坑版-OpenSSH 用户名枚举漏洞(CVE-2018-15473)
介绍: OpenSSH 7.7前存在一个用户名枚举漏洞,通过该漏洞,攻击者可以判断某个用户名是否存在于目标主机中,在复现过程中遇到了很多坑,这里我就把遇到坑和解决方法告诉大家!!! 漏洞环境: 靶机: ...
- ODOO页面使用css和js的流程
1 首先定义页面 <data> <record id="myquality_iqcbasesetup_form" model="ir.ui.view&q ...
- python 学习 ---函数(带参数)
函数式编程最重要的是增强代码的重用性和可读性 1 def 函数名(参数): 2 3 ... 4 函数体 5 ... 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函 ...
- 手摸手带你 在Windows系统中安装Istio
Istio简介 通过负载均衡.服务间的身份验证.监控等方法,Istio 可以轻松地创建一个已经部署了服务的网络,而服务的代码只需很少更改甚至无需更改. 通过在整个环境中部署一个特殊的 sidecar ...
- uni-app简单通用Request网络请求 支持请求成功 失败回调
uni-app简单通用Request网络请求 支持请求成功 失败回调; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12794 ...