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

溫馨提示×

溫馨提示×

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

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

k83 calico 網絡策略

發布時間:2020-08-06 07:35:43 來源:網絡 閱讀:181 作者:wx5a98a78793203 欄目:系統運維

常見的CNI網絡插件包含以下幾種:

Flannel:為Kubernetes提供疊加網絡的網絡插件,基于TUN/TAP隧道技術,使用UDP封裝IP報文進行創建疊 加網絡,借助etcd維護網絡的分配情況,缺點:無法支持網絡策略訪問控制。
Calico:基于BGP的三層網絡插件,也支持網絡策略進而實現網絡的訪問控制;它在每臺主機上都運行一個虛擬路由,利用Linux內核轉發網絡數據包,并借助iptables實現防火墻功能。實際上Calico最后的實現就是將每臺主機都變成了一臺路由器,將各個網絡進行連接起來,實現跨主機通信的功能。
Canal:由Flannel和Calico聯合發布的一個統一網絡插件,提供CNI網絡插件,并支持網絡策略實現。
其他的還包括Weave Net、Contiv、OpenContrail、Romana、NSX-T、kube-router等等。而Flannel和Calico是目前最流行的選擇方案。

1.全部拒絕

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: deny-all-egress
  namespace: cs1
  #應用于cs1 名稱空間,不寫名稱空間對default應用
spec:
  podSelector: {}
  ingress:
  egress:
  #定義出站規則,這里沒有寫任何策略,表示全部拒絕。
  policyTypes:
  - Egress
  - Ingress
  #這里面有Egress就表示要定義出站規則,不寫Egress就是默認通行,Ingress是入站原理一樣
  #建議大家把兩個都寫上去 然后使用"podSelector:" 來控制是否能通行

2.全部允許

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: allow-all-egress
  namespace: cs1
spec:
  podSelector: {}
  ingress:
  - {}
  #這樣表示"ingress"方向的全部允許通行
  egress:
  - {}
  #這樣表示"egress"方向的全部允許通行
  policyTypes:
  - Egress
  - Ingress

這個網絡策略只對名稱空間起效,宿主機依然可以訪問

3.作用范圍

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name:  deny-all
  namespace: default
  #只作用于 default 名稱空間
spec:
  podSelector:
  #匹配pod 范圍 如果匹配該名稱空間的所有POD 輸入"{}" 即可
    matchLabels:
      access: "true"
      #匹配POD中有 access=true的標簽
  policyTypes:
  - Ingress
  - Egress
  ingress:
  egress:

4.限制IP策略

k83 calico 網絡策略
#上圖每個cs容器的IP

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name:  deny-all
spec:
  podSelector: {}
  policyTypes:
  - Egress
  - Ingress
  ingress:
  egress:
    - to:
    #注意:egress用to,ingress用from
      - ipBlock:
          cidr: 192.168.0.0/16
          #放行192.168.0.0/16網絡
          except:
          - 192.168.94.134/32
          #但不包括這個ip

k83 calico 網絡策略
exec進入pod 能看見ping192.168.94.134 這個IP是不通的

5.基于名稱空間label限制

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: namespace-allow
  namespace: default
spec:
  policyTypes: ["Ingress"]
  podSelector: {}
  ingress:
   - from:
     - namespaceSelector:
        matchLabels:
          name: cs1
                    #表示只有打了"name=cs1"的名稱空間才允許進

6.基于名稱空間label限制滿足多個條件

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: namespace-allow
  namespace: default
spec:
  policyTypes: ["Ingress","Egress"]
  podSelector: {}
  ingress:
  - from:
    - namespaceSelector:
        matchExpressions:
        - key: name
          operator: In
          values: ["cs1","cs2"]
          #中括號里面的可以 與default名稱空間 ingress通信
                    #表示,名稱空間有標簽name=cs1,name=cs2 的 可以與default名稱空間通信

7基于pod label

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: namespace-allow
  namespace: default
spec:
  policyTypes: ["Ingress"]
  podSelector: {}
  ingress:
  - from:
    - podSelector:
        matchLabels:
          access: "true"
   #允許pod 便簽有 access=true的通行

#基于pod label 實驗沒成功不知道啥問題

向AI問一下細節

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

AI

米泉市| 嘉善县| 阿拉善右旗| 锡林郭勒盟| 宜兰县| 阆中市| 永平县| 东至县| 耿马| 彭阳县| 龙胜| 兴国县| 开封县| 涞水县| 沁阳市| 钟祥市| 宁阳县| 金昌市| 互助| 丽江市| 蓝山县| 奉新县| 柳江县| 皮山县| 黄冈市| 平果县| 连江县| 武山县| 安仁县| 沛县| 龙口市| 迭部县| 凤阳县| 宁陕县| 咸丰县| 抚宁县| 承德县| 怀集县| 叙永县| 岐山县| 华阴市|