k8s 1.23升級1.24

0、簡介

這里只用3臺服務器來做一個簡單的集群,當前版本是1.23.17目標升級到1.24.17

地址主機名
192.168.160.40kuber-master-1
192.168.160.41kuber-master-2
192.168.160.42kuber-node-1

我這里設置的master2可調度pod,將master2的污點去掉

kubectl describe nodes node | grep Taint

kubectl taint nodes kuber-master-2 node-role.kubernetes.io/master:NoSchedule-

版本對應關系

containerd對應

ingress對應

https://github.com/kubernetes/ingress-nginx

當前ingress1.4.0,先升級集群到1.25

升級ingress到1.9.6,升級集群到1.30

升級ingress到1.12.1?

calico對應

System requirements | Calico Documentation

升級calico到3.24

1、升級calico

這里舊版本的calico是3.20,先升級到3.24版本。

curl https://raw.githubusercontent.com/projectcalico/calico/v3.24.5/manifests/calico.yaml -o calico.yaml

下載3.24版本,直接進行apply操作,會對舊版本覆蓋。

kubectl apply -f calico.yam

2、升級k8s版本--master執行

(1)升級kubeadm

yum install -y kubeadm-1.24.17-0 --disableexcludes=kubernetes

kubeadm version 查看當前kubeadm的版本

(2)查看執行計劃

kubeadm upgrade plan

(3)修改runtime

kubectl edit nodes kuber-master-1

kubeadm.alpha.kubernetes.io/cri-socket: /var/run/dockershim.sock

修改為

kubeadm.alpha.kubernetes.io/cri-socket: unix:///var/run/containerd/containerd.sock

(4)配置containerd修改默認Cgroup驅動

containerd config default > /etc/containerd/config.toml

sed -i 's#SystemdCgroup = false#SystemdCgroup = true#g' /etc/containerd/config.toml

vim /var/lib/kubelet/kubeadm-flags.env

KUBELET_KUBEADM_ARGS="--network-plugin=cni --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.6"

修改為

KUBELET_KUBEADM_ARGS="--pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.6 --container-runtime=remote --container-runtime-endpoint=unix:///run/containerd/containerd.sock"

systemctl daemon-reload

systemctl restart containerd?#重啟containerd

systemctl restart kubelet #重啟kubelet

(5)定義 crictl 如何連接到容器運行時

cat >/etc/crictl.yaml<<EOF
runtime-endpoint: unix:///run/containerd/containerd.sock
image-endpoint: unix:///run/containerd/containerd.sock
timeout: 10
debug: false
EOF

# 加載
systemctl daemon-reload
systemctl restart containerd

(6)開始升級

kubeadm upgrade apply v1.24.17

(7)升級kubelet和kubectl

kubectl drain k8s-master01 --ignore-daemonsets

yum -y install kubelet-1.24.17 kubectl-1.24.17

systemctl daemon-reload

systemctl restart kubelet

kubectl uncordon k8s-master01

(8)升級其他控制節點

不需要執行kubeadm upgrade plan
kubeadm upgrade node

替換 kubeadm upgrade apply
其他流程一樣。

3、升級k8s版本--node執行

yum -y install kubeadm-1.24.17

驅逐node上的pod

kubectl drain? k8s-node-01 ?--ignore-daemonsets

同master一樣修改運行時和配置

做完1-5步就行

kubeadm upgrade node

升級kubelet和kubectl

kubectl drain k8s-node-01 --ignore-daemonsets

yum -y install kubelet-1.24.17 kubectl-1.24.17

systemctl daemon-reload

systemctl restart kubelet

kubectl uncordon k8s-node-01

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/900251.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/900251.shtml
英文地址,請注明出處:http://en.pswp.cn/news/900251.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

# 實時人臉識別系統:基于 OpenCV 和 Python 的實現

實時人臉識別系統&#xff1a;基于 OpenCV 和 Python 的實現 在當今數字化時代&#xff0c;人臉識別技術已經廣泛應用于各種場景&#xff0c;從手機解鎖到安防監控&#xff0c;再到智能門禁系統。今天&#xff0c;我將通過一個完整的代碼示例&#xff0c;詳細講解如何使用 Pyt…

Linux:(五種IO模型)

目錄 一、對IO的重新認識 二、IO的五種模型 1.阻塞IO 2.非阻塞IO 3.信號驅動IO 4.IO多路轉接 5.異步IO 6.一些概念的解釋 三、非阻塞IO的代碼實現 1.fcntl 2.實現主程序 一、對IO的重新認識 如果有人問你IO是什么&#xff0c;你該怎么回答呢&#xff1f; 你可能會說…

將電腦控制手機編寫為MCP server

文章目錄 電腦控制手機后,截屏代碼復習MCP server構建修改MCP的config文件測試效果困惑電腦控制手機后,截屏代碼復習 def capture_window(hwnd: int, filename: str = None) -> dict:""&

[ctfshow web入門] web6

前置知識 入口點(目錄)爆破 還記得之前說過網站的入口的嗎&#xff0c;我們輸入url/xxx&#xff0c;其中如果url/xxx存在&#xff0c;那么訪問成功&#xff0c;證明存在這樣一個入口點&#xff1b;如果訪問失敗則證明不存在此入口點。所以我們可以通過遍歷url/xxx&#xff0c;…

【計算機網絡】Linux配置SNAT策略

什么是NAT&#xff1f; NAT 全稱是 Network Address Translation&#xff08;網絡地址轉換&#xff09;&#xff0c;是一個用來在多個設備共享一個公網 IP上網的技術。 NAT 的核心作用&#xff1a;將一個網絡中的私有 IP 地址&#xff0c;轉換為公網 IP 地址&#xff0c;從而…

Mathematics | Branch

注&#xff1a;本文為“遇見數學”翻譯的 “數學分支概覽” 兩篇文章合輯。 數學世界的版圖&#xff1a;主要分支概覽&#xff08;上&#xff09; 原創 遇見數學 2025 年 04 月 03 日 12:02 河南 數學的分支&#xff08;Areas of Mathematics&#xff09; 在文藝復興之前&am…

Ubuntu(CentOS、Rockylinux等)快速進入深度學習pytorch環境

這里寫自定義目錄標題 安裝進入系統&#xff08;如Ubuntu22.04&#xff09;安裝anacondapip、conda換源pip換源conda換源 安裝nvidia安裝pytorch環境針對于wsl的優化 安裝進入系統&#xff08;如Ubuntu22.04&#xff09; docker 、 wsl 、 雙系統 、服務器系統 推薦 Ubuntu 20…

什么是混雜模式?為什么 macvlan 依賴它

在 macvlan 場景中&#xff0c;物理網絡是否支持混雜模式&#xff08;Promiscuous Mode&#xff09; 直接影響 macvlan 虛擬接口的通信能力。以下是詳細解釋和操作指南&#xff1a; 一、什么是混雜模式&#xff1f;為什么 macvlan 依賴它&#xff1f; 混雜模式的定義 當物理網絡…

物理數據流圖

物理數據流圖&#xff08;Physical Data Flow Diagram, PDFD&#xff09;詳解 物理數據流圖是結構化系統分析中的一種建模工具&#xff0c;用于描述系統在物理環境下的具體實現方式&#xff0c;包括硬件、軟件、人工操作和物理文件等實際組成部分。它與**邏輯數據流圖&#xf…

Linux開發工具——vim

&#x1f4dd;前言&#xff1a; 上篇文章我們講了Linux開發工具——apt&#xff0c;這篇文章我們來講講Linux開發工具——vim &#x1f3ac;個人簡介&#xff1a;努力學習ing &#x1f4cb;個人專欄&#xff1a;Linux &#x1f380;CSDN主頁 愚潤求學 &#x1f304;其他專欄&a…

在 Langflow 中構建靈活的自定義組件:從基礎到高級實踐

本文深入探討了如何在 Langflow 平臺中創建功能豐富的自定義組件。通過詳細的目錄結構解析、分步實現指南和多個實戰案例&#xff0c;幫助開發者掌握利用 Python 生態擴展低代碼平臺的方法&#xff0c;打造高效的數據處理流程。 理解組件架構設計 自定義組件是在 Langflow 中創…

stm32+LTR-390UV使用教程含源碼

stm32LTR-390UV使用教程含源碼 &#xff08;csdn首發源碼&#xff09;&#xff0c;本人大四學生&#xff0c;考研已上岸&#xff0c;畢設做的全向輪小車&#xff0c;這個是環境檢測部分LTR-390UV使用教程 文章目錄 目錄 文章目錄 前言 一、硬件準備與連接 二、數據手冊 1.…

【嵌入式系統設計師】知識點:第2章 嵌入式系統硬件基礎知識

提示:“軟考通關秘籍” 專欄圍繞軟考展開,全面涵蓋了如嵌入式系統設計師、數據庫系統工程師、信息系統管理工程師等多個軟考方向的知識點。從計算機體系結構、存儲系統等基礎知識,到程序語言概述、算法、數據庫技術(包括關系數據庫、非關系型數據庫、SQL 語言、數據倉庫等)…

Java 項目灰度發布的詳細實現與實踐

前言 灰度發布是一種通過逐步將新功能或更新推向一部分用戶來降低上線風險的技術。本文將詳細介紹如何在 Java 項目中實現灰度發布&#xff0c;并提供相關的配置參數、代碼示例以及 uml 圖&#xff0c;幫助您更好地理解和應用這一技術。 一、灰度發布的核心思想 灰度發布的核…

使用 Swift 實現 LRU 緩存淘汰策略

&#x1f4cc; 實現思路 一、核心目標 我們要實現一個緩存類&#xff1a; 支持通過 get(key) 獲取緩存的值&#xff1b;支持通過 put(key, value) 寫入緩存&#xff1b;緩存容量有限&#xff0c;當超過容量時要淘汰最久未使用的元素。 二、為什么用「哈希表 雙向鏈表」 功…

C#中為自定義控件設置工具箱圖標

在C#中為自定義控件設置工具箱圖標&#xff0c;可通過以下步驟實現&#xff1a; ### 步驟說明&#xff1a; 1. **準備圖標文件** - 創建或選擇一個16x16像素的位圖&#xff08;.bmp&#xff09;文件&#xff0c;建議使用透明背景以確保清晰顯示。 2. **添加位圖到項目** -…

Linux數據庫:【數據庫基礎】【庫的操作】【表的操作】

目錄 一.數據庫基礎 1.1什么是數據庫 1.2基本使用 1.2.1連接服務器 1.2.2服務器&#xff0c;數據庫&#xff0c;表關系 1.2.3使用案例 1.2.4數據存儲結構 ?編輯 1.3MySQL架構 1.4SQL分類 1.5存儲引擎 1.5.1什么是存儲引擎 1.5.2查看存儲引擎 ?編輯 1.5.3存儲引擎…

CKPT文件是什么?

檢查點&#xff08;Checkpoint&#xff0c;簡稱ckpt&#xff09;是一種用于記錄系統狀態或數據變化的技術&#xff0c;廣泛應用于數據庫管理、機器學習模型訓練、并行計算以及網絡安全等領域。以下將詳細介紹不同領域中ckpt檢查點的定義、功能和應用場景。 數據庫中的ckpt檢查點…

Redis的公共操作命令

目錄 1.Key操作命令1.1 keys *1.2 exists <key]>1.3 type <key>1.4 del <key>1.5 unlink <key>1.6 ttl <key>1.7 expire <key> <秒數>1.8 move <key> <index> 2.庫操作命令2.1 select <index>2.2 dbsize2.3 flush…

【LLM】使用MySQL MCP Server讓大模型輕松操作本地數據庫

隨著MCP協議&#xff08;Model Context Protocol&#xff09;的出現&#xff0c;使得 LLM 應用與外部數據源和工具之間的無縫集成成為可能&#xff0c;本章就介紹如何通過MCP Server讓LLM能夠直接與本地的MySQL數據庫進行交互&#xff0c;例如新增、修改、刪除數據&#xff0c;…