瑪卡巴卡的k8s知識點問答題(七)

25. 說明 Job 與 CronJob 的功能

Job

功能

  • 用于運行一次性任務(批處理任務),確保一個或多個 Pod 成功完成任務后退出。

  • 適用于數據處理、備份、測試等場景,任務完成后 Pod 不會自動重啟。

特點

  1. 任務完成機制

    • 當 Pod 成功完成任務(容器退出碼為 0),Job 標記為完成。

    • 如果 Pod 失敗(非 0 退出碼),Job 會根據配置重試(通過 spec.backoffLimit 控制重試次數)。

  2. 并行控制

    • 支持并行運行多個 Pod(通過 spec.parallelism 設置并發數)。

    • 可通過 spec.completions 指定需要成功完成的 Pod 總數。

示例

apiVersion: batch/v1
kind: Job
metadata:name: pi-calculation
spec:completions: 1template:spec:containers:- name: piimage: perlcommand: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]restartPolicy: Never

CronJob

功能

  • 基于時間計劃(Cron 表達式)周期性運行 Job,類似于 Linux 的 crontab

  • 適用于定時任務(如每日日志清理、定期數據同步)。

特點

  1. 調度語法

    • 使用標準 Cron 表達式(如 "0 * * * *" 表示每小時運行一次)。

  2. 任務歷史記錄

    • 保留最近成功或失敗的 Job 記錄(通過 spec.successfulJobsHistoryLimitspec.failedJobsHistoryLimit 控制)。

  3. 并發策略

    • 如果前一個 Job 未完成,可以配置是否允許并發運行(spec.concurrencyPolicy 可選 AllowForbidReplace)。

示例

apiVersion: batch/v1
kind: CronJob
metadata:name: daily-cleanup
spec:schedule: "0 0 * * *"  # 每天午夜執行jobTemplate:spec:template:spec:containers:- name: cleanupimage: busyboxcommand: ["/bin/sh", "-c", "rm -rf /tmp/old-files"]restartPolicy: OnFailure

26. Kubernetes 如何在集群的 Pod 之間提供網絡服務?

Kubernetes 通過以下機制實現 Pod 間網絡通信:

1. 網絡模型要求
  • 每個 Pod 擁有唯一 IP

    • 所有 Pod 直接通過 IP 地址通信,無需 NAT。

    • IP 分配給 Pod 而非節點,確保跨節點通信透明化。

  • Flat 網絡空間:所有 Pod 無論位于哪個節點,都在同一邏輯網絡中。

2. 核心組件
  • CNI(Container Network Interface)插件

    • 負責為 Pod 分配 IP 并配置網絡規則(如 Calico、Flannel、Cilium)。

    • 實現跨節點網絡互通(通常基于 Overlay 網絡或 BGP 路由)。

  • kube-proxy

    • 維護節點上的網絡規則(如 iptables/IPVS),將 Service 的虛擬 IP(ClusterIP)映射到后端 Pod。

3. 通信流程
  1. Pod-to-Pod 直接通信

    • 通過 CNI 插件實現的網絡方案(如 VXLAN、主機路由)直接路由流量。

  2. 通過 Service 通信

    • Service 提供穩定的虛擬 IP 和 DNS 名稱,流量由 kube-proxy 負載均衡到后端 Pod。

4. DNS 服務
  • CoreDNS:為 Service 和 Pod 提供集群內 DNS 解析(如 my-svc.default.svc.cluster.local)。


27. 解釋 iptables 和 IPVS 代理模式 Service 的區別

iptables 代理模式的 Service:
- kube-proxy 會監視 K8s 控制節點對 Service 對象和 Endpoints 對象的添加和移除。對每個
Service,它會配置 iptables 規則,從而捕獲到達該 Service 的 clusterIP 和端口的請求,
進而將請求重定向到 Service 的一組后端中的某個 Pod 上面。對于每個 Endpoints 對象,它也
會配置 iptables 規則,這個規則會選擇一個后端組合。默認的策略是,kube-proxy 在
iptables 模式下隨機選擇一個后端。
使用 iptables 處理流量具有較低的系統開銷,因為流量由 Linux netfilter 處理,而無需在
用戶空間和內核空間之間切換。
IPVS 代理模式的 Service:

- 在 IPVS (IP Virtual Server)模式下,kube-proxy 監視 K8s 服務和端點,并調用 netlink
接口創建相應的 IPVS 規則,并定期將 IPVS 規則與 K8s 服務和端點同步。該控制循環可確保
IPVS 狀態與所需狀態匹配。訪問服務時,IPVS 將流量定向到其中之一的后端 Pod。
IPVS 代理模式基于類似于 iptables 模式的 netfilter 掛鉤函數,但是使用哈希表作為基礎
數據結構,并且在內核空間中工作,這意味著,與 iptables 模式下的 kube-proxy 相比,IPVS
模式下的 kube-proxy 重定向通信的延遲要短,并且在同步代理規則時具有更好的性能。與其他
代理模式相比,IPVS 模式還支持更高的網絡流量吞吐量。


對比總結
特性iptablesIPVS
實現基礎iptables 規則鏈內核 IPVS 模塊
性能隨規則數量線性下降恒定時間復雜度(O(1))
負載均衡算法僅隨機輪詢、最少連接、目標哈希等
適用規模中小集群(<1000 Service)大規模集群
會話保持不支持支持

配置示例
在 kube-proxy 中指定模式:

apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: "ipvs"  # 默認為 "iptables"

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

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

相關文章

【NLP 51、一些LLM模型結構上的變化】

目錄 一、multi-head 共享 二、attention結構 1.傳統的Tranformer結構 2.GPTJ —— 平行放置的Transformer結構 三、歸一化層位置的選擇 1.Post LN&#xff1a; 2.Pre-LN【目前主流】&#xff1a; 3.Sandwich-LN&#xff1a; 四、歸一化函數選擇 1.傳統的歸一化函數 LayerNorm …

VS+Qt配置QtXlsx庫實現execl文件導入導出(全教程)

一、配置QtXlsx 1.1 下載解壓QtXlsxWriter&#xff08;在github下載即可&#xff09; 網址&#xff1a;https://github.com/dbzhang800/QtXlsxWriter 1.2 使用qt運行 點擊qtxlsx.pro運行QtXlsxWriter 選擇DesktopQt51211MSVC201564bit編譯器&#xff08;選擇自己本地電腦qt…

Golang的文件處理優化策略

Golang的文件處理優化策略 一、Golang的文件處理優化策略概述 是一門效率高、易于編程的編程語言&#xff0c;它的文件處理能力也非常強大。 在實際開發中&#xff0c;需要注意一些優化策略&#xff0c;以提高文件處理的效率和性能。 本文將介紹Golang中的文件處理優化策略&…

自學-C語言-基礎-數組、函數、指針、結構體和共同體、文件

這里寫自定義目錄標題 代碼環境&#xff1a;&#xff1f;問題思考&#xff1a;一、數組二、函數三、指針四、結構體和共同體五、文件問題答案&#xff1a; 代碼環境&#xff1a; Dev C &#xff1f;問題思考&#xff1a; 把上門的字母與下面相同的字母相連&#xff0c;線不能…

VMware+Ubuntu+VScode+ROS一站式教學+常見問題解決

目錄 一.VMware的安裝 二.Ubuntu下載 1.前言 2.Ubuntu版本選擇 三.VMware中Ubuntu的安裝 四.Ubuntu系統基本設置 1.中文更改 2.中文輸入法更改 3. 輔助工具 vmware tools 五.VScode的安裝ros基本插件 1.安裝 2.ros輔助插件下載 六.ROS安裝 1.安裝ros 2.配置ROS…

PostgreSQL pg_repack 重新組織表并釋放表空間

pg_repack pg_repack是 PostgreSQL 的一個擴展&#xff0c;它允許您從表和索引中刪除膨脹&#xff0c;并可選擇恢復聚集索引的物理順序。與CLUSTER和VACUUM FULL不同&#xff0c;它可以在線工作&#xff0c;在處理過程中無需對已處理的表保持獨占鎖定。pg_repack 啟動效率高&a…

5G_WiFi_CE_射頻輸出功率、發射功率控制(TPC)和功率密度測試

目錄 一、規范要求 1、法規目錄&#xff1a; &#xff08;1&#xff09;RF Output Power (2)Transmit Power Control (TPC) &#xff08;3&#xff09;Power Density 2、限值&#xff1a; 二、EIRP測試方法 &#xff08;1&#xff09;測試條件 &#xff08;2&#xff…

掃描線離散化線段樹解決矩形面積并-洛谷P5490

https://www.luogu.com.cn/problem/P5490 題目描述 求 n n n 個四邊平行于坐標軸的矩形的面積并。 輸入格式 第一行一個正整數 n n n。 接下來 n n n 行每行四個非負整數 x 1 , y 1 , x 2 , y 2 x_1, y_1, x_2, y_2 x1?,y1?,x2?,y2?&#xff0c;表示一個矩形的四個…

Java項目之基于ssm的簡易版營業廳寬帶系統(源碼+文檔)

項目簡介 簡易版營業廳寬帶系統實現了以下功能&#xff1a; 此營業廳寬帶系統利用當下成熟完善的SSM框架&#xff0c;使用跨平臺的可開發大型商業網站的Java語言&#xff0c;以及最受歡迎的RDBMS應用軟件之一的Mysql數據庫進行程序開發。實現了營業廳寬帶系統基礎數據的管理&…

從入門到入土,SQLServer 2022慢查詢問題總結

列為,由于公司原因,作者接觸了一個SQLServer 2022作為數據存儲到項目,可能是上一任的哥們兒離開的時候帶有情緒,所以現在項目的主要問題就是,所有功能都實現了,但是就是慢,列表頁3s打底,客戶很生氣,經過幾周摸爬滾打,作以下總結,作為自己的成長記錄。 一、索引問題…

PDF處理控件Aspose.PDF教程:在Python、Java 和 C# 中旋轉 PDF 文檔

您是否希望快速輕松地在線旋轉PDF文檔&#xff1f;無論您需要修復文檔的方向還是只想重新排列頁面&#xff0c;本指南都能滿足您的需求。有簡單的方法可以解決此問題 - 無論您喜歡在線工具還是編程解決方案。 在本指南中&#xff0c;我們將向您展示如何免費在線旋轉 PDF&#…

編譯原理:first集和follow

一、First 集&#xff08;首符號集&#xff09; 定義&#xff1a; 對于符號&#xff08;非終結符或終結符&#xff09;或符號串&#xff0c;First 集是該符號串能夠推導出的所有可能開頭的終結符的集合。若符號串可以推導出空串&#xff08;ε&#xff09;&#xff0c;則 ε 也…

python實現簡單fast-cgi服務,對接到nginx

python代碼 import socket import struct import threading# FastCGI 頭格式&#xff08;8 字節&#xff09; FCGI_HEADER_FORMAT "!BBHHBx" FCGI_VERSION 1 FCGI_TYPE_BEGIN_REQUEST 1 FCGI_TYPE_PARAMS 4 FCGI_TYPE_STDIN 5 FCGI_TYPE_STDOUT 6 FCGI_TYPE_E…

vue開始時間小于等于結束時間,且開始時間小于等于系統時間,時間格式:年月日時分

// 日期配置 export const DATA_CONFIGS [{itemKey: "startDate",startDateKey: "startDate",endDateKey: "endDate",isStart: true,},{itemKey: "endDate",startDateKey: "startDate",endDateKey: "endDate",is…

PyCharm 下載與安裝教程:從零開始搭建你的 Python 開發環境

PyCharm 是一款專為 Python 開發設計的集成開發環境&#xff08;IDE&#xff09;&#xff0c;它提供了強大的代碼編輯、調試、版本控制等功能&#xff0c;是 Python 開發者的必備工具之一。如果你是初學者&#xff0c;或者正在尋找一款高效的開發工具&#xff0c;這篇文章將幫助…

Qt線程等待條件QWaitCondition

Qt 線程等待條件 概念 Qt提供了QWaitCondition類實現“等待條件”式的線程控制方法&#xff0c;它讓線程阻塞在等待條件的地方&#xff0c;直到條件滿足后才繼續執行下去。也就是說&#xff0c;QWaitCondition可以使一個線程在滿足一定條件時通知其他多個線程&#xff0c;使它…

RAG 和 RAGFlow 學習筆記

一、RAG&#xff08;檢索增強生成&#xff09; 1. RAG 的定義與核心思想 RAG&#xff08;Retrieval-Augmented Generation&#xff0c;檢索增強生成&#xff09; 是一種結合 信息檢索&#xff08;Retrieval&#xff09; 和 文本生成&#xff08;Generation&#xff09; 的技術…

Windows連接服務器Ubuntu_MobaXterm

通過 SSH 遠程連接&#xff08;命令行方式&#xff09; &#x1f527; 所需工具&#xff1a; Windows&#xff1a;MobaXterm&#xff08;強烈推薦&#xff09;或 PuTTY Ubuntu&#xff1a;已開啟 SSH 服務 Ubuntu 開啟 SSH 服務&#xff08;僅需一次&#xff09; 在 Ubuntu …

Rust 中的高效視頻處理:利用硬件加速應對高分辨率視頻

引言 在視頻處理領域&#xff0c;隨著4K、8K甚至更高分辨率內容的普及&#xff0c;傳統的CPU計算方式逐漸顯得力不從心。無論是視頻剪輯、直播流處理還是格式轉換&#xff0c;高負載場景下CPU占用過高的問題常常讓開發者頭疼。硬件加速技術通過利用GPU等專用硬件分擔編解碼任務…

大模型提示工程中,提示、補全、指令、上下文和樣本這幾個概念的區別是什么?

提示 (Prompt) 定義&#xff1a;輸入給大模型的完整文本刺激&#xff0c;是與模型交互的主要方式。 特點&#xff1a; 是最廣義的概念&#xff0c;包含其他幾個元素整體輸入的總和&#xff0c;包括指令、上下文和樣本等內容決定模型如何理解和處理請求 示例&#xff1a; 分…