• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

小版本更新kubernetes

武飞扬头像
小陈运维
帮助1

小版本更新kubernetes

背景

最近一段时间躺平了没有更新我的博客文档。感谢各位小伙伴一直以来的支持。

此脚本基于 github.com/cby-chen/Ku… 仓库内的安装部署文档。 此脚本仅会升级k8s相关组件其他组件不进行升级。 使用此脚本 务必是使用 该文档进行部署的集群。

脚本放在我的GitHub仓库中: github.com/cby-chen/Ku…

注意事项

更新时集群会进行重启!!!

#!/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`看一下结果吧!'

关于

www.oiox.cn/

www.oiox.cn/index.php/s…

全网可搜《小陈运维》

文章主要发布于微信公众号

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbbcfh
系列文章
更多 icon
同类精品
更多 icon
继续加载