隨著業務邏輯的復雜化,越來越多的應用需要大量模塊之間的網絡調用。傳統的單一外部防火墻,或依照應用分層的防火墻已漸漸無法滿足需求。在一個大的集群里面,各模塊、業務邏輯層,或各職能團隊之間的網絡策略需求越來越強。
CCE基于Kubernetes的網絡策略功能進行了加強,通過配置網絡策略,允許在同個集群內實現網絡的隔離,也就是可以在某些實例(Pod)之間架起防火墻。
使用場景例如:某個用戶有支付系統,且嚴格要求只能某幾個組件能訪問該支付系統,否則有被攻破的安全風險,通過配置網絡策略可免除該風險。
- VPC網絡模型暫不支持網絡策略(NetworkPolicy)。
- 網絡策略(NetworkPolicy)暫不支持設置egress路由規則。
若工作負載(例如名稱為workload1)未配置網絡策略,那“當前集群內的其它工作負載”都可以訪問“名為workload1的工作負載”。
步驟 1 登錄CCE控制臺,在左側導航欄中選擇“資源管理 > 網絡管理”。在NetworkPolicy頁簽,單擊“添加NetworkPolicy”。
- NetworkPolicy名稱:自定義輸入NetworkPolicy名稱。
- 集群名稱:選擇網絡策略所在集群。
- 命名空間:選擇網絡策略所在命名空間。
- 關聯工作負載:
單擊“選擇工作負載”,選擇“需要設置網絡策略的工作負載”,例如工作負載名稱為workload-1,單擊“確定”。
- 規則:單擊“添加規則”,參數設置請參見下表
表-NetworkPolicy添加規則
參數 | 參數說明 |
方向 | 當前僅支持入方向。即“其它工作負載”訪問“當前的工作負載(即當前案例中的workload-1)”。 |
協議 | 請選擇對應的協議類型,目前支持TCP和UDP協議,不支持ICMP協議。 |
目的容器端口 | 容器鏡像中應用程序實際監聽端口,需用戶確定。nginx程序實際監聽的端口為80。 若不填寫容器端口,默認所有端口都可被訪問。 |
遠端 | 選擇可訪問“當前工作負載”的“其它工作負載”。通過目的容器端口來訪問。 命名空間:若選擇某個命名空間,則該命名空間下的所有工作負載都會加入白名單,即都可訪問workload-1。 工作負載:若選擇某個工作負載,即該工作負載可以訪問workload-1。僅支持選擇與workload-1同個命名空間下的“其它工作負載”。 |
步驟 2 設置完成后,單擊“創建”。
步驟 3 若需要為當前工作負載添加更多網絡策略,例如其它端口需要被某個工作負載訪問,可單擊“添加NetworkPolicy”,繼續添加更多策略。
創建成功后,“僅遠端中配置好的命名空間或工作負載”可以訪問“當前工作負載”。