成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Kubernetes 網絡策略基礎

云計算
在你通過 Kubernetes 部署一個應用之前,了解 Kubernetes 的網絡策略是一個基本的要求。

[[436076]]

在你通過 Kubernetes 部署一個應用之前,了解 Kubernetes 的網絡策略是一個基本的要求。

隨著越來越多的云原生應用程序通過 Kubernetes 部署到生產環境,安全性是你必須在早期就需要考慮的一個重要檢查項。在設計云原生應用程序時,預先嵌入安全策略非常重要。不這樣做會導致后續的安全問題,從而導致項目延遲,并最終給你帶來不必要的壓力和金錢投入。

這么多年來,人們總是把安全留到最后,直到他們的部署即將發布到生產環境時才考慮安全。這種做法會導致項目交付的延遲,因為每個組織都有要遵守的安全標準,這些規定被繞過或不遵守,并承受大量的風險才得以實現可交付成果。

對于剛開始學習 Kubernetes 實施的人來說,理解 Kubernetes 網絡策略NetworkPolicy 可能會令人生畏。但這是在將應用程序部署到 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 進行吊艙間的通信:

  1. - namespaceSelector:
  2.     matchLabels:
  3.       project: myproject

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

  1. - namespaceSelector:
  2.     matchLabels:
  3.       project: myproject
  4. - podSelector:
  5.     matchLabels:
  6.       role: frontend

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

  1. - ipBlock:
  2.         cidr: 172.17.0.0/16
  3.         except:
  4.         - 172.17.1.0/24

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

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

  1. apiVersion: networking.k8s.io/v1
  2. kind: NetworkPolicy
  3. metadata:
  4.   name: test-network-policy
  5.   namespace: default
  6. spec:
  7.   podSelector:
  8.     matchLabels:
  9.       app: backend
  10.   policyTypes:
  11.   - Ingress
  12.   - Egress
  13.   ingress:
  14.   - from:
  15.     - ipBlock:
  16.         cidr: 172.17.0.0/16
  17.         except:
  18.         - 192.168.1.0/24
  19.     - namespaceSelector:
  20.         matchLabels:
  21.           project: myproject
  22.     - podSelector:
  23.         matchLabels:
  24.           role: frontend
  25.     ports:
  26.     - protocol: TCP
  27.       port: 6379
  28.   egress:
  29.   - to:
  30.     - ipBlock:
  31.         cidr: 10.0.0.0/24
  32.     ports:
  33.     - protocol: TCP
  34.       port: 5978

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

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

  1. spec:
  2.   podSelector:
  3.     matchLabels:
  4.       app: backend
  5.   policyTypes:
  6.   - Ingress
  7.   - Egress

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

首先,檢查 ingress from 部分。

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

  • ipBlock
    • 允許 172.17.0.0/16
    • 拒絕 192.168.1.0/24
  • namespaceSelector
    • myproject: 允許來自此命名空間并具有相同標簽 project=myproject 的所有吊艙。
  • podSelector
    • frontend: 允許與標簽 role=frontend 匹配的吊艙。
  1. ingress:
  2. - from:
  3.   - ipBlock:
  4.       cidr: 172.17.0.0/16
  5.       except:
  6.       - 192.168.1.0/24
  7.   - namespaceSelector:
  8.       matchLabels:
  9.         project: myproject
  10.   - podSelector:
  11.       matchLabels:
  12.         role: frontend
  13.  

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

  • ipBlock
    • 10.0.0.0/24: 允許連接到此 CIDR
    • Ports: 允許使用 TCP 和端口 5978 進行連接
  1. egress:
  2. - to:
  3.   - ipBlock:
  4.       cidr: 10.0.0.0/24
  5.   ports:
  6.   - protocol: TCP
  7.     port: 5978
  8.  

網絡策略的限制

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

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

總結

了解 Kubernetes 的網絡策略很重要,因為它是實現(但不是替代)你通常在數據中心設置中使用的防火墻角色的一種方式,但適用于 Kubernetes。將此視為容器安全的第一層,僅僅依靠網絡策略并不是一個完整的安全解決方案。

網絡策略使用選擇器和標簽在吊艙和命名空間上實現安全性。此外,網絡策略還可以通過 IP 范圍實施安全性。

充分理解網絡策略是在 Kubernetes 環境中安全采用容器化的一項重要技能。 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2022-05-02 18:45:33

Kubernetes網絡模型

2022-09-01 06:59:56

Kubernete云原生

2020-05-14 16:35:21

Kubernetes網絡策略DNS

2019-10-24 11:10:06

Kubernetes網絡運維

2024-04-18 07:21:41

KyvernoKubernetes策略引擎

2016-06-15 10:35:59

云計算

2023-04-12 07:31:55

KyvernoKubernetes

2019-10-24 10:25:32

Kubernetes網絡集群

2019-06-03 09:00:25

Kubernetes部署金絲雀版本

2022-03-30 07:45:41

KyvernoAPI開源項目

2022-02-23 09:00:00

Kubernetes集群容器

2024-01-19 18:02:25

Kubernetes網絡流量

2020-09-15 10:28:42

Kubernetes容器

2024-01-03 08:54:17

Kubernetes策略工具

2020-07-08 09:36:03

Kubernetes容器開發

2020-09-23 14:20:07

Kubernetes容器網絡模型

2020-04-12 22:23:45

Kubernetes容器網絡

2021-04-14 09:33:58

Kubernetes通信網絡模型

2013-11-04 09:23:06

策略路由基礎命令

2022-01-03 07:49:04

Kubernetes集群容器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费观看一级毛片 | 性视频一区 | 一区二区三区在线看 | 国产精品高潮呻吟久久 | 色综合一区二区 | 亚洲精品国产电影 | 一区二区三区欧美在线观看 | 免费a级毛片在线播放 | 欧美一级三级 | 日日欧美 | 免费成人高清在线视频 | 久久蜜桃av | 在线国产视频 | 欧美黑人一区 | av天天干 | 日韩精品一区二区三区久久 | 亚洲天堂二区 | 天堂在线91| 日韩欧美国产精品一区 | 国产在线观看免费 | 福利影院在线看 | 羞羞的视频在线观看 | 日韩一区二区三区视频 | 亚洲一区二区欧美 | 国产久| 一区二区国产精品 | xnxx 日本免费 | 亚洲国产精品第一区二区 | 久久久久无码国产精品一区 | 水蜜桃亚洲一二三四在线 | 超碰精品在线 | 成人免费小视频 | 国产一级视频在线播放 | 亚av在线| www.久久99| 在线免费小视频 | 夜夜草av| 久久亚洲天堂 | 成人午夜视频在线观看 | 国产乱码精品一区二区三区中文 | 精品一区二区电影 |