K8S核心技術點

  • Pod,Service和Deployment的關系
  1. Pod:Kubernetes 中最小的部署單元,用于運行容器化應用。

  2. Service:提供服務發現和負載均衡,為 Pod 提供穩定的網絡端點,ClusterIP,NodePort,LoadBalance以及ExternalName。

  3. Deployment:管理Pod的副本,確保應用的高可用性,并支持滾動更新和回滾。

  • K8S的核心組件
  1. 控制平面(Control Plane)

    控制平面負責管理集群的狀態,包括調度、配置和維護。主要組件包括:

    1. API Server:

      • 作用:提供 RESTful API 接口,用于與集群交互。

      • 功能:接收和處理來自用戶的請求,驗證請求并更新 etcd 中的集群狀態。

    2. etcd:

      • 作用:分布式鍵值存儲,用于存儲集群的配置數據和狀態信息。

      • 功能:存儲所有集群配置和狀態信息,確保數據的一致性和高可用性。

    3. Controller Manager:

      • 作用:運行各種控制器進程,負責維護集群的狀態。

      • 功能:確保集群的實際狀態與期望狀態一致,例如管理 Pod 的創建、刪除和健康檢查。

    4. Scheduler:

      • 作用:負責將 Pod 調度到合適的節點上運行。

      • 功能:根據節點的資源使用情況、Pod 的資源需求和策略規則,選擇最佳節點來運行 Pod。

  2. 工作節點

    1. Kubelet:

      • 作用:運行在每個節點上的代理,負責管理節點上的容器。

      • 功能:與 API Server 通信,確保容器按照期望狀態運行,管理容器的生命周期。

    2. Kube-proxy:

      • 作用:運行在每個節點上的網絡代理,負責維護網絡規則。

      • 功能:實現服務發現和負載均衡,管理 Pod 之間的網絡通信。

    3. Container Runtime:

      • 作用:負責運行容器的底層軟件。

      • 功能:支持多種容器運行時,如 Docker、containerd 等。

  • K8S如何進行服務發現
    ????????服務發現是Kubernetes中用于動態識別和訪問集群內服務的機制。它允許服務在集群中動態地發現和通信,而無需硬編碼IP地址或端口。

核心機制

  1. Pod的動態性:Pod是短暫的,可以隨時創建或銷毀,其IP地址會動態變化。
  2. Service的穩定性:Service提供了一個穩定的網絡端點,即使后端的Pod發生變化,Service的端點仍然保持不變。

自動更新

????????Service通過標簽選擇器動態地發現和管理后端的Pod,確保流量始終路由到健康的Pod。

Kubernetes通過Service提供穩定的服務發現機制,使得服務之間的通信變得簡單可靠。Service通過標簽選擇器動態地發現和管理后端的Pod,并提供穩定的網絡端點。通過DNS和環境變量,Pod可以輕松地發現和訪問其他Service,確保系統的高可用性和靈活性。

  • 介紹一下Resource Quato

Resource Quota 是 Kubernetes 中用于限制命名空間內資源使用的一種機制。它通過設置資源使用上限,幫助管理員進行資源管理,確保資源的公平分配和使用,避免資源耗盡和浪費。通過合理配置 Resource Quota,可以優化資源分配,降低成本,并確保系統的穩定運行。

  • HPA和VPA的區別

HPA:調整POD副本數量

VPA:調整CPU和內存

  • K8S的網絡策略

????????Network Policies 是 Kubernetes 中用于定義 Pod 之間網絡訪問規則的機制。通過限制入站和出站流量,可以實現網絡隔離和流量控制,提高集群的安全性和穩定性。通過合理配置 Network Policies,可以保護服務免受未經授權的訪問和惡意流量的影響。

  • K8S如何處理狀態化應用?
  1. 穩定的網絡標識符:每個 Pod 都有一個唯一的、穩定的網絡標識符,POD重啟不變(如 web-0web-1

  2. 持久化存儲:每個 Pod 都有自己的持久化存儲卷(PersistentVolume),確保數據不會丟失,POD重啟不受影響;

  3. 有序的部署和擴展:Pod 按順序創建和刪除,確保數據一致性;

  • 簡述K8S如何將一個POD調度到一個節點上的。

????????調度器的決策基于資源可用性、節點選擇器、親和性規則、污點與容忍等因素。通過合理配置調度策略,可以優化集群的資源利用率和應用性能。

  • K8S的親和性和反親和性
  1. Pod 親和性:確保 Pod 與特定的 Pod 或節點一起運行,用于提高性能或滿足特定部署需求。

  2. Pod 反親和性:確保 Pod 不與特定的 Pod 或節點一起運行,用于提高高可用性和避免資源爭搶。

????????通過合理配置親和性和反親和性規則,可以優化 Pod 的調度策略,滿足不同的部署需求和性能要求。

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

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

相關文章

Spring 核心注解深度解析:@Autowired、@Repository 與它們的協作關系

引言 在 Spring 框架中,?依賴注入(DI)?? 是實現松耦合架構的核心機制。Autowired 和 Repository 作為兩個高頻使用的注解,分別承擔著 ?依賴裝配? 和 ?數據訪問層標識? 的關鍵職責。本文將深入探討它們的功能特性、協作模式…

[Linux]從零開始的ARM Linux交叉編譯與.so文件鏈接教程

一、前言 最近在項目需要將C版本的opencv集成到原本的代碼中從而進行一些簡單的圖像處理。但是在這其中遇到了一些問題,首先就是原本的opencv我們需要在x86的架構上進行編譯然后將其集成到我們的項目中,這里我們到底應該將opencv編譯為x86架構的還是編譯…

svelte+vite+ts+melt-ui從0到1完整框架搭建

框架太“重”了:通常一個小型項目只由少數幾個簡單頁面構成,如果使用 Vue 或者 React 這些框架來研發的話,有點“大材小用”了。構建的產物中包含了不少框架運行時代碼(虛擬 DOM、響應式、狀態管理等),這些代碼對于小型項目而言是…

無法看到新安裝的 JDK 17

在 Linux 系統中使用 update-alternatives --config java 無法看到新安裝的 JDK 17,可能是由于 JDK 未正確注冊到系統備選列表中。 一、原因分析 JDK 未注冊到 update-alternatives update-alternatives 工具需要手動注冊 JDK 路徑后才能識別新版本。如果僅安裝 JDK…

鼎訊信通 便攜式雷達信號干擾模擬器:打造實戰化電磁環境的新利器

在現代戰爭中,電磁環境的復雜性直接影響著雷達裝備的性能和作戰效果。面對敵方日益精進的電子戰手段,如何提升雷達設備的抗干擾能力,確保其在實戰環境中的穩定性和可靠性,已成為各國軍隊和科研機構的重要課題。 為此,…

【AI提示詞】決策專家

提示說明 決策專家可以幫助你進行科學決策,盡可能避免錯誤,提升決策成功的概率。 提示詞 # Role : 決策專家決策,是面對不容易判斷優劣的幾個選項,做出正確的選擇。說白了,決策就是拿個主意。決策專家是基于科學決策…

力扣Hot100題,刷題

力扣HOT100 - 1. 兩數之和 解題思路&#xff1a; 解法一&#xff1a;暴力 class Solution {public int[] twoSum(int[] nums, int target) {int n nums.length;for (int i 0; i < n; i)for (int j i 1; j < n; j) {if (target nums[i] nums[j])return new int[]…

uni-app ucharts自定義換行tooltips

實現效果&#xff1a; 第一步&#xff1a;在uni_modules文件夾下找到config-ucharts.js和u-charts.js文件 第二步&#xff1a;在config-ucharts.js文件中配置換行格式 // 換行格式"wrapTooltip":function(item, category, index, opts){return item.name&#xff1a;…

國標GB28181視頻平臺EasyCVR順應智慧農業自動化趨勢,打造大棚實時視頻監控防線

一、方案背景 近年來&#xff0c;溫室大棚種植技術憑借其顯著的優勢&#xff0c;在提升農作物產量和質量、豐富農產品供應方面發揮了重要的作用&#xff0c;極大改善了人們的生活水平&#xff0c;得到了廣泛的推廣和應用。大棚內的溫度、濕度、光照度和二氧化碳濃度等環境因素…

InternVideo2.5:Empowering Video MLLMs with Long and Rich Context Modeling

一、TL&#xff1b;DR InternVideo2.5通過LRC建模來提升MLLM的性能。層次化token壓縮和任務偏好優化&#xff08;mask時空 head&#xff09;整合到一個框架中&#xff0c;并通過自適應層次化token壓縮來開發緊湊的時空表征MVBench/Perception Test/EgoSchema/MLVU數據benchmar…

【時時三省】(C語言基礎)條件運算符和條件表達式

山不在高&#xff0c;有仙則名。水不在深&#xff0c;有龍則靈。 ----CSDN 時時三省 有一種if語句&#xff0c;當被判別的表達式的值為“真”或“假”時&#xff0c;都執行一個賦值語句且向一個變量賦值。 如&#xff1a; if ( a > b ) max a&#xff1b; else max …

KWDB創作者計劃—邊緣計算:從概念到落地的技術解讀

引言 隨著物聯網&#xff08;IoT&#xff09;和人工智能&#xff08;AI&#xff09;的快速發展&#xff0c;數據量呈爆炸式增長&#xff0c;傳統的云計算架構逐漸暴露出延遲高、帶寬占用大等問題。邊緣計算作為一種新興的分布式計算范式&#xff0c;正在改變數據處理的方式。本…

藍橋杯基礎算法-遞歸

代碼簡潔&#xff0c;但涉及到的運算&#xff0c;會隨著遞歸層數的增加成指數級增長 路分析&#xff1a;第20行20列位于45度這條線上 這條線上的數字是1 5 13 25 41...兩數之差:4 8 12 16 --->每一個都是在前面的基礎上4&#xff0c;可以用遞歸或者循環 public class dem…

通過學習opencv圖像庫編程借助第三方庫函數完成一個綜合程序設計

通過學習opencv圖像庫編程借助第三方庫函數完成一個綜合程序設計 1) 編譯命令解釋&#xff1a; 編譯命令&#xff1a; gcc test1.cpp -o test1 pkg-config --cflags --libs opencv這條命令包含了以下部分&#xff1a; gcc test1.cpp -o test1: gcc 是 GNU 編譯器集合&#…

第十四屆藍橋杯大賽軟件賽國賽C/C++研究生組

研究生C國賽軟件大賽 題一&#xff1a;混乘數字題二&#xff1a;釘板上的正方形題三&#xff1a;整數變換題四&#xff1a;躲炮彈題五&#xff1a;最大區間 題一&#xff1a;混乘數字 有一點像哈希表&#xff1a; 首先定義兩個數組&#xff0c;拆分ab和n 然后令n a*b 查看兩個…

系統與網絡安全------網絡通信原理(2)

資料整理于網絡資料、書本資料、AI&#xff0c;僅供個人學習參考。 物理層解析 物理層概述 物理層是TCP/IP模型的最底層物理層數據傳輸提供穩定的物理連接 物理層功能 定義設備的物理連接的標準和特性&#xff0c;比如接口形狀&#xff0c;大小定義電氣特性&#xff0c;高低…

內容中臺的數字化管理核心是什么?

數字化整合與系統協同 現代企業的內容管理正經歷從分散式架構向數字化整合的范式轉變。通過將內容管理系統與文檔管理技術深度耦合&#xff0c;組織能夠打破數據孤島&#xff0c;實現跨部門、跨平臺的資源互通。例如&#xff0c;基于元數據分類的標準化體系&#xff0c;不僅提…

Python爬蟲第二戰(使用xpath爬取網站數據)

本文是我在學習過程中記錄學習的點點滴滴&#xff0c;目的是為了學完之后鞏固一下順便也和大家分享一下&#xff0c;日后忘記了也可以方便快速的復習。 使用xpath爬取豬八戒網站數據 前言 前言 今天學習的主要是關于Python使用xpath來爬取豬八戒網的網頁知識的理解和應用 #1.獲…

進程同步和進程互斥的區別

如大家所了解的&#xff0c;進程互斥是由互斥資源引起的&#xff0c;即各進程之間共享互斥資源的使用權&#xff0c;這種競爭沒有確定的必然聯系&#xff0c;哪個進程競爭到互斥資源的使用權&#xff0c;則該資源就歸哪個進程使用&#xff0c;從而獲得所需資源的進程就可以獲得…

ArkTS語言基礎之函數

前言 臭寶們終于來到了ArkTS基礎之函數&#xff0c;今天我們來學習一下ArkTS的函數的相關知識&#xff0c;上一節中也有一些函數的基礎知識。 函數聲明 函數聲明引入一個函數&#xff0c;包含其名稱、參數列表、返回類型和函數體,在下面的例子中&#xff0c;我們聲明了一個名…