中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kubernetes網絡策略是什么

發布時間:2022-02-18 16:57:58 來源:億速云 閱讀:143 作者:iii 欄目:開發技術

這篇文章主要講解了“Kubernetes網絡策略是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Kubernetes網絡策略是什么”吧!


Kubernetes網絡策略是什么
NetworkPolicy 概念


網絡策略NetworkPolicy 取代了你所知道的數據中心環境中的防火墻設備 —— 如吊艙Pod之于計算實例、網絡插件之于路由器和交換機,以及卷之于存儲區域網絡(SAN)。

默認情況下,Kubernetes 網絡策略允許 吊艙Pod 從任何地方接收流量。如果你不擔心吊艙的安全性,那么這可能沒問題。但是,如果你正在運行關鍵工作負載,則需要保護吊艙。控制集群內的流量(包括入口和出口流量),可以通過網絡策略來實現。

要啟用網絡策略,你需要一個支持網絡策略的網絡插件。否則,你應用的任何規則都將變得毫無用處。

Kubernetes.io 上列出了不同的網絡插件:

  • CNI 插件:遵循

    容器網絡接口Container Network Interface

    (CNI)規范,旨在實現互操作性。

    • Kubernetes 遵循 CNI 規范的 v0.4.0 版本。
  • Kubernetes 插件:使用橋接器和主機本地 CNI 插件實現基本的 cbr0

應用網絡策略

要應用網絡策略,你需要一個工作中的 Kubernetes 集群,并有支持網絡策略的網絡插件。

但首先,你需要了解如何在 Kubernetes 的環境使用網絡策略。Kubernetes 網絡策略允許 吊艙 從任何地方接收流量。這并不是理想情況。為了吊艙安全,你必須了解吊艙是可以在 Kubernetes 架構內進行通信的端點。

1、使用 podSelector 進行吊艙間的通信:

 - namespaceSelector:    matchLabels:      project: myproject

2、使用 namespaceSelector 和/或 podSelectornamespaceSelector 的組合進行命名空間之間的通信和命名空間到吊艙的通信。:

 - namespaceSelector:    matchLabels:      project: myproject - podSelector:    matchLabels:      role: frontend

3、對于吊艙的 IP 塊通信,使用 ipBlock 定義哪些 IP CIDR 塊決定源和目的。

 - ipBlock:        cidr: 172.17.0.0/16        except:        - 172.17.1.0/24

注意吊艙、命名空間和基于 IP 的策略之間的區別。對于基于吊艙和命名空間的網絡策略,使用選擇器來控制流量,而對基于 IP 的網絡策略,使用 IP 塊(CIDR 范圍)來定義控制。

把它們放在一起,一個網絡策略應如下所示:

apiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata:  name: test-network-policy  namespace: defaultspec:  podSelector:    matchLabels:      app: backend  policyTypes:  - Ingress  - Egress  ingress:  - from:    - ipBlock:        cidr: 172.17.0.0/16        except:        - 192.168.1.0/24    - namespaceSelector:        matchLabels:          project: myproject    - podSelector:        matchLabels:          role: frontend    ports:    - protocol: TCP      port: 6379  egress:  - to:    - ipBlock:        cidr: 10.0.0.0/24    ports:    - protocol: TCP      port: 5978

參考上面的網絡策略,請注意 spec 部分。在此部分下,帶有標簽 app=backendpodSelector 是我們的網絡策略的目標。簡而言之,網絡策略保護給定命名空間內稱為 backend 的應用程序。

此部分也有 policyTypes 定義。此字段指示給定策略是否適用于選定吊艙的入口流量、選定吊艙的出口流量,或兩者皆有。

spec:  podSelector:    matchLabels:      app: backend  policyTypes:  - Ingress  - Egress

現在,請看 Ingress(入口)和 Egress(出口)部分。該定義規定了網絡策略的控制。

首先,檢查 ingress from 部分。

此實例中,網絡策略允許從以下位置進行吊艙連接:

  • ipBlock
    • 允許 172.17.0.0/16
    • 拒絕 192.168.1.0/24
  • namespaceSelector
    • myproject: 允許來自此命名空間并具有相同標簽 project=myproject 的所有吊艙。
  • podSelector
    • frontend: 允許與標簽 role=frontend 匹配的吊艙。
ingress: - from:  - ipBlock:      cidr: 172.17.0.0/16      except:      - 192.168.1.0/24  - namespaceSelector:      matchLabels:        project: myproject  - podSelector:      matchLabels:        role: frontend

現在,檢查 egress to 部分。這決定了從吊艙出去的連接:

  • ipBlock
    • 10.0.0.0/24: 允許連接到此 CIDR
    • Ports: 允許使用 TCP 和端口 5978 進行連接
egress: - to:  - ipBlock:      cidr: 10.0.0.0/24  ports:  - protocol: TCP    port: 5978

網絡策略的限制

僅靠網絡策略無法完全保護你的 Kubernetes 集群。你可以使用操作系統組件或 7 層網絡技術來克服已知限制。你需要記住,網絡策略只能解決 IP 地址和端口級別的安全問題 —— 即開放系統互聯(OSI)中的第 3 層或第 4 層。

為了解決網絡策略無法處理的安全要求,你需要使用其它安全解決方案。以下是你需要知道的一些 用例,在這些用例中,網絡策略需要其他技術的增強。

感謝各位的閱讀,以上就是“Kubernetes網絡策略是什么”的內容了,經過本文的學習后,相信大家對Kubernetes網絡策略是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

登封市| 津市市| 香港| 且末县| 长丰县| 宽城| 彝良县| 永兴县| 伊川县| 滦平县| 勐海县| 南靖县| 九台市| 金川县| 齐河县| 宜君县| 东山县| 雅江县| 通道| 额尔古纳市| 白河县| 嵊州市| 扶沟县| 施甸县| 承德市| 榆树市| 长海县| 宜阳县| 石狮市| 安新县| 磴口县| 永清县| 尼木县| 永顺县| 宁城县| 英超| 遵义县| 利川市| 疏勒县| 定安县| 滕州市|