k83calico網(wǎng)絡(luò)策略

常見的CNI網(wǎng)絡(luò)插件包含以下幾種:

公司主營業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出徐水免費(fèi)做網(wǎng)站回饋大家。

Flannel:為Kubernetes提供疊加網(wǎng)絡(luò)的網(wǎng)絡(luò)插件,基于TUN/TAP隧道技術(shù),使用UDP封裝IP報(bào)文進(jìn)行創(chuàng)建疊 加網(wǎng)絡(luò),借助etcd維護(hù)網(wǎng)絡(luò)的分配情況,缺點(diǎn):無法支持網(wǎng)絡(luò)策略訪問控制。
Calico:基于BGP的三層網(wǎng)絡(luò)插件,也支持網(wǎng)絡(luò)策略進(jìn)而實(shí)現(xiàn)網(wǎng)絡(luò)的訪問控制;它在每臺主機(jī)上都運(yùn)行一個(gè)虛擬路由,利用Linux內(nèi)核轉(zhuǎn)發(fā)網(wǎng)絡(luò)數(shù)據(jù)包,并借助iptables實(shí)現(xiàn)防火墻功能。實(shí)際上Calico最后的實(shí)現(xiàn)就是將每臺主機(jī)都變成了一臺路由器,將各個(gè)網(wǎng)絡(luò)進(jìn)行連接起來,實(shí)現(xiàn)跨主機(jī)通信的功能。
Canal:由Flannel和Calico聯(lián)合發(fā)布的一個(gè)統(tǒng)一網(wǎng)絡(luò)插件,提供CNI網(wǎng)絡(luò)插件,并支持網(wǎng)絡(luò)策略實(shí)現(xiàn)。
其他的還包括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
  #應(yīng)用于cs1 名稱空間,不寫名稱空間對default應(yīng)用
spec:
  podSelector: {}
  ingress:
  egress:
  #定義出站規(guī)則,這里沒有寫任何策略,表示全部拒絕。
  policyTypes:
  - Egress
  - Ingress
  #這里面有Egress就表示要定義出站規(guī)則,不寫Egress就是默認(rèn)通行,Ingress是入站原理一樣
  #建議大家把兩個(gè)都寫上去 然后使用"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

這個(gè)網(wǎng)絡(luò)策略只對名稱空間起效,宿主機(jī)依然可以訪問

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的標(biāo)簽
  policyTypes:
  - Ingress
  - Egress
  ingress:
  egress:

4.限制IP策略

k83 calico 網(wǎng)絡(luò)策略
#上圖每個(gè)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網(wǎng)絡(luò)
          except:
          - 192.168.94.134/32
          #但不包括這個(gè)ip

k83 calico 網(wǎng)絡(luò)策略
exec進(jìn)入pod 能看見ping192.168.94.134 這個(gè)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"的名稱空間才允許進(jìn)

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

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通信
                    #表示,名稱空間有標(biāo)簽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 實(shí)驗(yàn)沒成功不知道啥問題

當(dāng)前題目:k83calico網(wǎng)絡(luò)策略
網(wǎng)頁鏈接:http://muchs.cn/article22/johocc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、電子商務(wù)、外貿(mào)網(wǎng)站建設(shè)軟件開發(fā)、面包屑導(dǎo)航、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化