Kubernetes(k8s) 增量更新 po

文章目錄

  • 前言
    • k8s 增量更新 po
      • 1. 導出要新建po 的控制器配置
      • 2. 配置詳解
      • 3. 重新生效

前言

??如果您覺得有用的話,記得給博主點個贊,評論,收藏一鍵三連啊,寫作不易啊^ _ ^。
??而且聽說點贊的人每天的運氣都不會太差,實在白嫖的話,那歡迎常來啊!!!


k8s 增量更新 po

1. 導出要新建po 的控制器配置

為了方便,直接導出現有的控制器配置。
查詢配置:

kubectl get deploy -n <命名空間> | grep <過濾字符串>

在這里插入圖片描述
導出 干凈的“可 apply”版本命令:

kubectl get deploy <my-deploy> -n <命名空間> -o yaml \| sed -e '/^  uid:/d' \-e '/^  resourceVersion:/d' \-e '/^  creationTimestamp:/d' \-e '/^  generation:/d' \-e '/^status:$/,/^[^ ]/d' \> deploy_20250905.yaml

額外清理:

  • 刪掉 managedFields 整塊(這是冗余的操作記錄,API 會自己維護)。
  • 刪掉 fieldsType / fieldsV1 / manager / operation / time(都屬于 managedFields 的子字段)。

2. 配置詳解

在這里插入圖片描述
脫敏詳細配置:

apiVersion: apps/v1
kind: Deployment
metadata:annotations:deployment.kubernetes.io/revision: "7"meta.helm.sh/release-name:demo-service-bjmeta.helm.sh/release-namespace: demo-bjlabels:app:demo-service-bj-taskapp.kubernetes.io/instance:demo-service-bjapp.kubernetes.io/managed-by: Helmapp.kubernetes.io/name: demo-serviceapp.kubernetes.io/version: "2.0"helm.sh/chart: demo-service-0.1.1name:demo-service-bj-tasknamespace: magic2-bj
spec:progressDeadlineSeconds: 600replicas: 1revisionHistoryLimit: 10selector:matchLabels:app:demo-service-bj-taskstrategy:rollingUpdate:maxSurge: 50%maxUnavailable: 50%type: RollingUpdatetemplate:metadata:annotations:kubectl.kubernetes.io/restartedAt: "2025-05-22T09:58:54+08:00"creationTimestamp: nulllabels:app:demo-service-bj-taskspec:containers:- command:- /bin/sh- -c- 'java -Xms1024M -Xmx2024M demo.jar 'env:- name: NACOSURLvalue: yzy:8848image: 鏡像imagePullPolicy: IfNotPresentlivenessProbe:exec:command:- /bin/sh- -c- /usr/bin/curl -X GET -s '存活接口(存活探針,檢查容器是否健康運行,不健康會被重啟)'| grep instanceIdfailureThreshold: 5initialDelaySeconds: 60periodSeconds: 20successThreshold: 1timeoutSeconds: 3name: appports:- containerPort: 8080protocol: TCPreadinessProbe:exec:command:- /bin/sh- -c- /usr/bin/curl -X GET -s '請求接口(就緒探針,檢查容器是否可對外服務)'| grep instanceIdfailureThreshold: 3periodSeconds: 10successThreshold: 1timeoutSeconds: 1resources:limits:cpu: "2"memory: 4000Mirequests:cpu: 100mmemory: 500MiterminationMessagePath: /dev/termination-logterminationMessagePolicy: FilevolumeMounts:- mountPath: /etc/localtimename: host-timereadOnly: true- mountPath: /home/app/jarsname: yzydnsPolicy: ClusterFirstnodeSelector:kubernetes.io/hostname: <ip>restartPolicy: AlwaysschedulerName: default-schedulersecurityContext: {}serviceAccount:demo-service-bjserviceAccountName:demo-service-bjterminationGracePeriodSeconds: 30volumes:- hostPath:path: /etc/localtimetype: ""name: host-time- hostPath:path: /data/demo/jarstype: Directoryname: yzy
配置塊說明(通用講解)
apiVersion / kind定義資源類型,這里是 Deployment。
metadata元數據:名稱、命名空間、標簽、注解(一般用于標識應用、Helm 信息、運維追蹤)。
spec.replicas副本數量,決定 Pod 的數量。
spec.selector選擇器,Deployment 根據標簽找到自己要管理的 Pod。
spec.strategy更新策略,常見是 RollingUpdate(滾動更新),可配置 maxSurge / maxUnavailable。
template.metadata.labelsPod 模板里的標簽,要和 selector 匹配。
containers.image容器鏡像地址,定義運行環境和應用內容。
containers.command容器啟動命令,一般用來啟動主程序(如 java -jar xxx.jar)。
containers.env環境變量:可以是固定值(配置中心地址),也可以是動態值(如 Pod 名稱)。
containers.ports容器對外暴露的端口。
livenessProbe存活探針,檢查容器是否健康運行,不健康會被重啟。
readinessProbe就緒探針,檢查容器是否可對外服務,失敗則不會接收流量。
resources.requests最低資源需求(CPU/內存)。
resources.limits資源上限,防止容器無限占用。
volumeMounts容器內掛載點,通常用于掛載配置文件、日志目錄、本地時間等。
volumesPod 使用的存儲卷定義(如宿主機目錄、ConfigMap、Secret)。
nodeSelector節點選擇器,強制 Pod 調度到某些節點上。
serviceAccountNamePod 使用的 ServiceAccount,用于 RBAC 權限控制。
restartPolicy重啟策略,Deployment 下通常是 Always。
terminationGracePeriodSeconds優雅關閉等待時間,默認 30 秒。

3. 重新生效

kubectl apply -f deploy_20250905.yaml -n <命名空間>

注:對象存在就 增量更新,不存在就 新建;Deployment 更新會 觸發滾動發布。

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

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

相關文章

基于stm32的車輛安全駕駛預警系統

若該文為原創文章&#xff0c;轉載請注明原文出處。一、 項目背景與引言(一) 研究背景及意義道路交通安全是全球性的重大公共安全問題。據統計&#xff0c;絕大多數交通事故源于駕駛員的危險狀態&#xff08;疲勞、分心、健康突發狀況&#xff09;和危險駕駛行為&#xff08;超…

React學習教程,從入門到精通, React 新創建組件語法知識點及案例代碼(11)

React 新創建組件語法知識點及案例代碼 React 是由 Facebook 開發的一個用于構建用戶界面的 JavaScript 庫。隨著 React 的不斷發展&#xff0c;創建組件的方式也在不斷演進。本文將詳細介紹 React 中創建組件的最新語法&#xff0c;包括函數組件&#xff08;Functional Compo…

SQL Server全鏈路安全防護

SQL Server 的安全性是一個多層次、綜合性的體系&#xff0c;旨在保護數據免受未授權訪問、篡改和泄露。其核心安全機制可概括為以下幾個方面&#xff1a;1. 身份驗證&#xff08;Authentication&#xff09; Windows 身份驗證&#xff1a; 使用 Windows 賬戶&#xff08;域/本…

如何利用Web3提升企業競爭力

在這個信息爆炸的時代&#xff0c;Web3技術以其獨特的去中心化、透明性和用戶主權特性&#xff0c;成為企業提升競爭力的新戰場。本文將深入探討企業如何把握Web3的浪潮&#xff0c;實現業務的飛躍。 1. 把握Web3的核心價值 Web3的核心在于去中心化、透明性和用戶主權。這種模式…

HOW - 在瀏覽器下載一個 Excel 表格文件

文章目錄一、技術方案二、前端具體實現代碼分析轉換邏輯注意事項一、技術方案 后臺返回 base64 數據 {code: 0,data: "base64;...", }前端進行數據格式轉化并下載成 Excel 文件 這篇文章主要介紹第二個步驟的實現。 二、前端具體實現 代碼 src/utils/transform…

【Android】Room數據庫的使用

三三要成為安卓糕手 引入 Room是一個抽象層&#xff0c;對SQLite進行了封裝&#xff0c;簡化了SQLite數據庫的操作&#xff0c;讓開發者能以更加對象化的方式進行數據庫操作&#xff1b;Room解決了SQLite操作繁瑣&#xff0c;容易產生錯誤的問題&#xff0c;讓開發者能以更加對…

Next.js 介紹:為什么選擇它來構建你的下一個 Web 應用?

Next.js 介紹&#xff1a;為什么選擇它來構建你的下一個 Web 應用&#xff1f; 作者&#xff1a;碼力無邊你好&#xff0c;歡迎來到我們的 Next.js 專欄&#xff01;在接下來的 30 篇文章中&#xff0c;我們將一起踏上一段從入門到精通的旅程&#xff0c;深入探索這個強大而優雅…

開發環境 之 編輯器、編譯器、IDE梳理

小生第一次學習編程時&#xff0c;懵懵搞不懂編輯器、編譯器、IDE區別&#xff0c;雖然這對前期學習編程語言語法的影響不是很大&#xff0c;但是現在梳理一下&#xff0c;總歸心里踏實些。 一、概念及區別 IDE是前面幾者的集成&#xff0c;前面幾個分別是IDE的子集。對比維度編…

高級RAG策略學習(六)——Contextual Chunk Headers(CCH)技術

Contextual Chunk Headers&#xff08;CCH&#xff09;技術深度解析 第一部分&#xff1a;理論基礎與核心原理 一、核心定義&#xff1a;給 “文本塊” 加 “上下文標簽” Contextual Chunk Headers&#xff08;上下文塊標題&#xff0c;簡稱 CCH&#xff09;本質是為文檔拆分后…

人形機器人控制系統核心芯片從SoC到ASIC的進化路徑

目錄&#xff1a; 0 前言 1 人形機器人控制系統核心芯片選擇ASIC而非SoC的理由 1.1 SoC的架構特征 1.2 ASIC的架構特征 1.3 SoC的優勢&#xff08;繼承軟件生態&#xff09; 1.4 ASIC的優勢&#xff08;硬件底層算法就是應用層算法&#xff09; 1.5 人形機器人控制系統核…

linux thread 線程一

thread線程是linux的重要概念。線程不能獨立存在&#xff0c;必須在進程中存在。一個進程必須有一個線程&#xff0c;如果進程中沒有創建新線程&#xff0c;進程啟動后本身就有一個線程。使用getpid、getppid獲取進程的進程ID和父進程ID。使用pthread_self獲取到當前線程的ID。…

Arduino Nano33 BLESense Rev2【室內空氣質量檢測語音識別藍牙調光臺燈】

一、硬件介紹 1、產品特點 Arduino Nano 33 BLE Rev2&#xff0c;利用了nRF52840微控制器的先進功能。這款32位Arm Cortex-M4 CPU 64 MHz與MicroPython的兼容性增強了板子的靈活性&#xff0c;該開發板的突出特點是其藍牙低功耗&#xff08;BLE&#xff09;功能&#xff0c;使…

【問題解決】mac筆記本遇到鼠標無法點擊鍵盤可響應處理辦法?(Command+Option+P+R)

背景 如題。鼠標無法點擊&#xff0c;但可以移動。觸控板能夠波動&#xff0c;鼠標翻頁能夠work&#xff0c;但是點擊后無法響應。 根因 電腦緩存問題 解決辦法 重置PRAM&#xff1a; 確保電腦關機狀態&#xff08;可以先sudo shutdown -t now)&#xff08;一定要確保&#xff…

23ai數據庫通過SQLcl生成AWR報告

?1. 查看現有快照SQL> awr list snap;SNAP_ID DBID BEGIN_INTERVAL_TIME END_INTERVAL_TIME FLUSH_LEVEL __________ _____________ __________________________________ __________________________________ ______________793 …

基于Django+Vue3+YOLO的智能氣象檢測系統

基于DjangoVue3YOLO的智能氣象檢測系統 項目簡介 本項目是一個集成了人工智能深度學習技術的現代化氣象檢測系統&#xff0c;采用前后端分離架構&#xff0c;結合YOLO目標檢測算法&#xff0c;實現了對氣象現象的智能識別與分析。系統提供了完整的用戶管理、實時檢測、歷史記錄…

(4)什么時候引入Seata‘‘

非常好的問題&#xff01;這兩個問題正是技術選型時需要重點考慮的。什么時候需要引入 Seata&#xff1f;需要引入 Seata 的場景&#xff1a;跨數據庫的分布式事務// 訂單服務&#xff08;MySQL&#xff09; 庫存服務&#xff08;PostgreSQL&#xff09; 賬戶服務&#xff08…

蘋果內部 AI聊天機器人“Asa”曝光,為零售員工打造專屬A

MacRumors網站的亞倫佩里斯&#xff08;Aaron Perris&#xff09;透露&#xff0c;蘋果正在內部測試一款名為“Asa”的AI聊天機器人。這款工具旨在賦能Apple Store零售員工&#xff0c;幫助他們快速掌握iPhone等產品的特色和差異化使用場景&#xff0c;從而提升與顧客互動時的解…

MySQL常見報錯分析及解決方案總結(12)---slave_net_timeout

關于超時報錯&#xff0c;一共有五種超時參數&#xff0c;詳見&#xff1a;MySQL常見報錯分析及解決方案總結(7)---超時參數connect_timeout、interactive_timeout/wait_timeout、lock_wait_timeout、net等-CSDN博客 以下是當前報錯的排查方法和解決方案&#xff1a; 在 Wind…

云計算學習筆記——日志、SELinux、FTP、systemd篇

《云計算學習日記Day15》—— 從零開始的云計算之旅 今天是系統學習云計算的第十五天&#xff0c;記錄了關于我的云計算學習&#xff0c;后續將每日更新我的筆記。歡迎大家一起來學習&#xff0c;如果內容有遺漏和錯誤&#xff0c;還請大家多多指正和包涵&#xff0c;謝謝大家 …

3Ds Max Gamma值完全指南:問題識別與正確設置解析

當渲染圖像與本地圖片相比亮度偏黑或偏白時&#xff0c;很可能是因為Gamma輸入輸出設置不一致。需要注意的是&#xff0c;Gamma問題通常表現為整體亮度偏差&#xff0c;而非大面積曝光或全黑狀況。Gamma設置教程問題一&#xff1a;Gamma校正未開啟如果使用VR幀緩沖窗口渲染但未…