k8s 網絡概念與策略控制

一、Kubernetes 基本網絡模型

Kubernetes 的容器網絡模型可以把它歸結為約法三章和四大目標。

1、約法三章

約法三章確保了Kubernetes容器網絡模型的基本特性:

任意兩個 pod 之間可以直接通信:在Kubernetes中,每個 Pod 都被分配了一個唯一的IP地址,這使得任意兩個Pod之間可以直接通信。

跨主機通信:在Kubernetes集群中,節點(node)與 Pod 之間可以直接通信,不需要進行明顯的地址轉換。

③ Pod 的 IP 地址不會變化:Pod 內部使用的 IP 地址與外部看到的 IP 地址是一致的,中間不會經過地址轉換。

2、四大目標

當設計一個Kubernetes系統以向外部世界提供服務時,需要考慮如何實現以下四個目標:

外部世界和 service 之間怎么通信:Service 作為一種抽象,代表了一組提供相同功能的 Pod 的訪問入口,外部流量通過 Service 來連接到容器內部的應用。

② service 如何與它后端的 pod 通信:Service 與后端的 Pod 之間的通信是通過Kubernetes 的內部 DNS 解析和負載均衡實現的。

③ pod 和 pod 之間通信的:每個 Pod 擁有自己的 IP 地址,因此 Pod 可以直接使用對方的 IP 地址進行通信。

④ pod 內部容器與容器之間的通信:Pod 內部容器之間的通信是通過 localhost 進行的,就像在同一臺主機上的多個進程之間通信一樣。

3、基本約束

基本約束是指在設計容器網絡時,需要遵循的一些基本規則或限制,以確保網絡的正常運行和安全性。分為 Underlay/Overlay 兩大派別:

Underlay網絡:通常采用與主機網絡相同的網段,將容器網絡直接映射到主機網絡的一種方案。

Overlay網絡:是在底層網絡之上構建的虛擬網絡,容器在此虛擬層面上進行通信,不直接與主機網絡交互。

Underlay 網絡更加與主機網絡直接集成,但可能受主機網絡的限制 ;而 Overlay 網絡更加獨立,但需要額外的虛擬化層支持。

二、Network Namespace

1、介紹

網絡命名空間(Network Namespace)用于創建和管理網絡虛擬化環境。每個網絡命名空間都擁有獨立的網絡棧,包括獨立的附屬網絡設備(如 lo、eth0 等虛擬設備或者物理網卡)、獨立的協議棧、IP地址和路由表、iptables規則等。這樣的隔離性使得不同網絡命名空間中的網絡資源相互獨立,從而實現了網絡虛擬化。

2Pod 與 Netns 的關系

(1) Pod中的Netns關系:

每個Pod都有自己獨立的網絡命名空間(Netns),Pod中的每個容器(container)都共享同一個網絡命名空間。

(2) Pod的網絡模型:

在Pod中,容器之間通常通過 Loopback 接口(127.0.0.1)進行通信 ;對外服務時,所有容器通過Pod的IP地址對外提供服務,不需要對外暴露各自的IP地址。

(3) 宿主機上的 Root Netns:

宿主機上也存在一個特殊的網絡命名空間,稱為 Root Netns。Root Netns 的進程 ID(PID)是1,因為它是整個系統的網絡命名空間根節點。

三、Network Policy

1、介紹:

Network Policy 提供了基于策略的網絡控制,用于隔離應用并減少攻擊面。它使用標簽選擇器模擬傳統的分段網絡,并通過策略控制它們之間的流量以及來自外部的流量。

2、實例:

允許 default namespace 中帶有 role=frontend 標簽的Pod 訪問 default namespace 中帶有 role=db 標簽 Pod的6379 端口。

允許帶有 project=myprojects 標簽的 namespace 中所有 Pod 訪問 default namespace 中帶有 role=db 標簽Pod 的6379 端口。

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

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

相關文章

題記(47)--連續因子

目錄 一、題目內容 二、輸入描述 三、輸出描述 四、輸入輸出示例 五、完整C語言代碼 一、題目內容 一個正整數 N 的因子中可能存在若干連續的數字。例如 630 可以分解為 3567,其中 5、6、7 就是 3 個連續的數字。給定任一正整數 N,要求編寫程序求出…

React-router的創建和第一個組件

需要先學react框架 首先:找到一個文件夾,在文件夾出打開cmd窗口,輸入如下圖的口令 npx create-react-app demo 然后等待安裝 安裝完成 接下來進入創建的demo實例 cd demo 然后可以用如下方式打開vscode code . 注意:不要忽略點號與…

Vue--》打造簡易直播應用平臺項目實戰

今天開始使用 vue3 + ts 搭建一個簡易直播應用平臺項目,因為文章會將項目的每一個地方代碼的書寫都會講解到,所以本項目會分成好幾篇文章進行講解,我會在最后一篇文章中會將項目代碼開源到我的github上,大家可以自行去進行下載運行,希望本文章對有幫助的朋友們能多多關注本…

AWS對文本進行語言識別

AWS提供了名為Amazon Comprehend 的服務,它支持對文本進行語言識別。Amazon Comprehend 是一項自然語言處理(NLP)服務,它可以用于分析文本并提取有關文本內容的信息。 我們可以通過使用 Amazon Comprehend API 輕松地集成這些功能…

機械臂與tftp

機械臂&#xff1a; #include<myhead.h> #define SER_IP "192.168.126.2" #define SER_PORT 8888#define CLI_IP "192.168.252.165" #define CLI_PORT 9999int main(int argc, const char *argv[]) {int cfdsocket(AF_INET,SOCK_STREAM,0);if(cfd-…

支持向量機 SVM | 線性可分:公式推導

目錄 一. SVM的優越性二. SVM算法推導小節概念 在開始講述SVM算法之前&#xff0c;我們先來看一段定義&#xff1a; 支持向量機(Support VecorMachine, SVM)本身是一個二元分類算法&#xff0c;支持線性分類和非線性分類的分類應用&#xff0c;同時通過OvR或者OvO的方式可以應用…

安裝Docker及DockerCompose

0.安裝Docker Docker 分為 CE 和 EE 兩大版本。CE 即社區版&#xff08;免費&#xff0c;支持周期 7 個月&#xff09;&#xff0c;EE 即企業版&#xff0c;強調安全&#xff0c;付費使用&#xff0c;支持周期 24 個月。 Docker CE 分為 stable test 和 nightly 三個更新頻道…

10.輪廓系數-機器學習模型性能的常用的評估指標

輪廓系數&#xff08;Silhouette Coefficient&#xff09;是評估聚類算法效果的常用指標之一。它結合了聚類的凝聚度&#xff08;Cohesion&#xff09;和分離度&#xff08;Separation&#xff09;&#xff0c;能夠量化聚類結果的緊密度和分離度。 背景 1.聚類分析的背景 在…

NDK介紹

NDK&#xff08;Native Development Kit&#xff09;是一個用于在Android平臺上開發C和C代碼的工具集。它允許開發人員使用C和C編寫部分代碼&#xff0c;并將其編譯為本機代碼庫&#xff08;.so文件&#xff09;&#xff0c;然后通過JNI在Java應用程序中調用這些本地代碼。 ND…

CUDA學習筆記01:vs2019環境配置

為了在window11 vs2019下使用CUDA編程&#xff0c;配置了一下環境&#xff0c;但是我電腦一開始自帶CUDA&#xff0c;然后再安裝的vs2019&#xff0c;這樣安裝順序上是不對的&#xff0c;vs2019找不到CUDA配置項&#xff0c;網上找了很多辦法貌似都不好使而且很復雜。 那么最快…

c++之拷貝構造和賦值

如果一個構造函數中的第一個參數是類本身的引用&#xff0c;或者是其他的參數都有默認值&#xff0c;則該構造函數為拷貝構造函數。 那么什么是拷貝構造呢&#xff1f;利用同類對象構造一個新對象。 1&#xff0c;函數名和類必須同名。 2&#xff0c;沒有返回值。 3&#x…

Linux多線程控制:深入理解與應用(萬字詳解!)

&#x1f3ac;慕斯主頁&#xff1a;修仙—別有洞天 ??今日夜電波&#xff1a;どうして (feat. 野田愛実) 0:44━━━━━━?&#x1f49f;──────── 3:01 &#x1f504; ?? ? ?? …

6.2 指標的應用與設計(12%)

1、指標的作用 用簡約的匯總數據量化業務強弱。 2、指標的理解 特點&#xff1a; &#xff08;1&#xff09;指標是游離態的&#xff0c;無法單獨實現數據統計 eg&#xff1a;總銷售額、總銷售量 &#xff08;2&#xff09;需與統計維度結合&#xff0c;明確統計指標的對…

帕累托優化基本概念,如何系統學習?

帕累托優化&#xff0c;也稱為帕累托改善或帕累托改進&#xff0c;是以意大利經濟學家帕累托&#xff08;Vilfredo Pareto&#xff09;命名的。它的基本概念是在沒有使任何人境況變壞的前提下&#xff0c;使得至少一個人變得更好。帕累托最優是指沒有進行帕累托改進余地的狀態&…

047 內部類

成員內部類用法 /*** 成員內部類** author Admin*/ public class OuterClass {public void say(){System.out.println("這是類的方法");}class InnerClass{public void say(){System.out.println("這是成員內部類的方法");}}public static void main(Stri…

(二)邏輯回歸與交叉熵--九五小龐

什么是邏輯回歸 線性回歸預測的是一個連續值&#xff0c;邏輯回歸給出的“是”和“否”的回答 Singmoid sigmoid函數是一個概率分布函數&#xff0c;給定某個輸入&#xff0c;它將輸出為一個概率值 邏輯回歸損失函數 平方差所懲罰的是與損失為同一數量級的情形&#xff0…

Springboot企業級開發--1.開發入門

目錄 目錄 一.Spring Boot的主要特點和優勢包括&#xff1a; 二.Spring Boot的核心功能可以歸納為以下幾點&#xff1a; 三.Springboot是如何解決問題&#xff1f; Spring Boot 是一個開源的Java框架&#xff0c;其設計目標是為了簡化新Spring應用的初始搭建以及開發過程。…

SandBox中的JavaAgent技術

8.1 JavaAgent Java Agent 是一種強大的技術&#xff0c;在運行時動態修改已加載類的字節碼&#xff0c;為應用程序注入額外的功能和行為。 JDK 1.5 支持靜態 Instrumentation&#xff0c;基本的思路是在 JVM 啟動的時候添加一個代理&#xff08;javaagent&#xff09;&#…

基于阿里云OSS上傳圖片實戰案例

一、案例描述 基于Springboot框架實現一個上傳圖片到阿里云服務端保存的小案例。 二、準備工作 基于Springboot免費搭載輕量級阿里云OSS數據存儲庫&#xff08;將本地文本、照片、視頻、音頻等上傳云服務保存&#xff09;-CSDN博客 三、代碼 新建這兩個類&#xff1a;一個…

Golang函數make介紹和用法

1.介紹 golang分配內存主要有內置函數new和make 相同點: 他們的第一個參數都是一個類型而不是一個值 不同點: new可分配任意類型的數據make只能為slice, map, channel分配內存new返回的是指針make返回類型的是引用而不是指針,并且返回的值也依賴于具體傳入的類型, 這種不同點的…