亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

Kubernetes Pod 多網卡解決方案 Multus 中文入門攻略

2024-07-26 00:27:14
字體:
來源:轉載
供稿:網友
  這些規范被許多 CNI 插件(例如 WeaveNet,Flannel,Calico 等)遵守。這些插件中任何一個都可以在集群上使用和部署以提供網絡解決方案。該網絡稱為集群的默認網絡。此默認網絡使 Pods 不僅可以在同一節點上而且可以在群集中的各個節點之間相互通信。
 
  隨著發展,Kubernetes 缺乏支持 VNF 中多個網絡接口的所需功能。傳統上,網絡功能使用多個網絡接口分離控制,管理和控制用戶/數據的網絡平面。他們還用于支持不同的協議,滿足不同的調整和配置要求。
 
  為了解決這個需求,英特爾實現了 MULTUS 的 CNI 插件,其中提供了將多個接口添加到 Pod 的功能。這允許 POD 通過不同的接口連接到多個網絡,并且每個接口都將使用其自己的 CNI 插件。
 
  下面是 Multus CNI 提供的連接到 Pod 的網絡接口的圖示。該圖顯示了具有三個接口的容器:eth0,net0和net1。eth0連接 Kubernetes 集群網絡以連接kubernetes服務器/服務(例如 Kubernetes api-server,kubelet 等)。net0和net1是其他網絡附件,并通過使用其他 CNI 插件(例如vlan / vxlan / ptp)連接到其他網絡。
 
  MULTUS 工作原理
  Kubernetes 當前沒有提供為POD添加額外的接口選項的規定,或支持多個 CNI 插件同時工作的規定,但是它確實提供了一種由 API 服務器擴展受支持的API的機制。使用 "自定義資源定義" 可以做到這一點。MULTUS依賴于 "自定義資源定義" 來存儲其他接口和CNI插件所需的信息。
 
  我們首先需要確保將 MULTUS 二進制文件放置在 /opt/cni/bin 位置的所有節點上,并在/etc/cni/net.d位置創建一個新的配置文件。與 MULTUS 使用的 kubeconfig 文件一起使用。
 
  在/etc/cni/net.d中創建的新配置文件基于集群中已經存在的默認網絡配置。
 
  在此之后,CRD 用于定義新的種類名稱 "NetworkAttachmentDefinition",以及服務帳戶和 MULTUS 的集群角色以及相應的綁定。這個新的集群角色將提供對隨 CRD 添加的新 API 組以及默認 API 組中 Pod 資源的訪問權限。
 
  然后創建類型為 "NetworkAttachmentDefinition" 的客戶資源實例,該實例稍后將在創建具有多個接口的 Pod 時使用。
 
  部署示例
  在本文中,我們將多次提及兩件事:
 
  "默認網絡" - 這是您的Pod到Pod網絡。這就是集群中 Pod 之間相互通信的方式,以及它們之間的連通性。一般而言,這被稱為名為 eth0 的接口。此接口始終連接到您的 Pod,以便它們之間可以相互連接。除此之外,我們還將添加接口。
  “ CRD”    - 自定義資源定義。自定義資源是擴展 Kubernetes API 的一種方式。我們在這里使用這些存儲 Multus 可以讀取的一些信息。首先,我們使用它們來存儲附加到您的 Pod 的每個其他接口的配置。
  目前支持 Kubernetes 1.16+ 版本。
 
  安裝
  我們建議的用于部署 Multus 的快速入門方法是使用 Daemonset(在群集中的每個節點上運行 Pod 的方法)進行部署,該 Pod 會安裝 Multus 二進制文件并配置 Multus 以供使用。
 
  首先,克隆此 GitHub 存儲庫。
 
  復制
  $ git clone https://github.com/intel/multus-cni.git && cd multus-cni
  1.
  我們將在此存儲庫中使用帶有kubectl的YAML文件。
 
  復制
  $ cat ./images/multus-daemonset.yml | kubectl apply -f -
  1.
  Multus daemonset 完成了那些工作?
  啟動 Multus 守護程序集,這會在每個節點上運行一個pod,從而在/opt/cni/bin中的每個節點上放置一個 Multus 二進制文件
  按照字母順序讀取/etc/cni/net.d中的第一個配置文件,并為 Multus 創建一個新的配置文件,即/etc/cni/net.d/00-multus.conf,此配置是自動生成并基于默認網絡配置(假定是按字母順序排列的第一個配置)
  在每個節點上創建一個/etc/cni/net.d/multus.d目錄,其中包含用于 Multus 訪問 Kubernetes API 的身份驗證信息。
  創建其他接口
  我們要做的第一件事是為我們附加到Pod的每個其他接口創建配置。我們將通過創建自定義資源來做到這一點??焖偃腴T安裝的一部分會創建一個 "CRD" (自定義資源定義,它是我們保留這些自定義資源的位置),我們將在其中存儲每個接口的配置。
 
  CNI 配置
  我們將添加的每個配置都是CNI配置。如果您不熟悉它們,讓我們快速分解它們。這是一個示例CNI配置:
 
  復制
  {
   "cniVersion": "0.3.0",
   "type": "loopback",
   "additional": "information"
  }
  1.
  2.
  3.
  4.
  5.
  CNI配置是 JSON,我們這里有一個結構,其中包含一些我們感興趣的東西:
 
  cniVersion:告訴每個 CNI 插件正在使用哪個版本,如果使用的版本太晚(或太早),則可以提供插件信息。
  type:告訴 CNI 在磁盤上調用哪個二進制文件。每個 CNI 插件都是一個二進制文件。通常,這些二進制文件存儲在每個節點上的/opt/cni/bin中,并且 CNI 執行此二進制文件。在這種情況下,我們指定了loopback二進制文件(它將創建一個loopback類型的網絡接口)。如果這是您首次安裝 Multus,則可能需要驗證 "type" 字段中的插件是否確實在/opt/cni/bin目錄中。
  additional:此字段以此處為例,每個 CNI 插件都可以在JSON中指定所需的任何配置參數。這些特定于您在 "type" 字段中調用的二進制文件。
  當 CNI 配置更改時,您不需要重新加載或刷新 Kubelets。每次創建和刪除 Pod 時都會讀取這些內容。因此,如果您更改配置,它將在下一次創建 Pod 時應用。如果現有 Pod 需要新配置,則可能需要重新啟動。
 
  將配置存儲為自定義資源
  因此,我們要創建一個附加接口。讓我們創建一個 macvlan 接口供 Pod 使用。我們將創建一個自定義資源,該資源定義接口的 CNI 配置。
 
  請注意,在以下命令中有一種:NetworkAttachmentDefinition。這是我們配置的名字-它是 Kubernetes 的自定義擴展,定義了我們如何將網絡連接到 Pod。
 
  其次,注意配置字段。您將看到這是一個 CNI 配置,就像我們前面解釋的那樣。
 
  最后但非常重要的一點是,在元數據下注意 name 字段-在這里我們為該配置指定名稱,這是我們告訴 pod 使用此配置的方式。這里的名稱是macvlan-conf-我們正在為 macvlan 創建配置。
 
  這是創建此示例配置的命令:
 
  復制
  apiVersion: "k8s.cni.cncf.io/v1"
  kind: NetworkAttachmentDefinition
  metadata:
   name: macvlan-conf
  spec:
   config: '{
       "cniVersion": "0.3.0",
       "type": "macvlan",
       "master": "eth0",
       "mode": "bridge",
       "ipam": {
         "type": "host-local",
         "subnet": "192.168.1.0/24",
         "rangeStart": "192.168.1.200",
         "rangeEnd": "192.168.1.216",
         "routes": [
           { "dst": "0.0.0.0/0" }
         ],
         "gateway": "192.168.1.1"
       }
     }'
  1.
  2.
  3.
  4.
  5.
  6.
  7.
  8.
  9.
  10.
  11.
  12.
  13.
  14.
  15.
  16.
  17.
  18.
  19.
  20.
  21.
  本示例使用 eth0 作為主參數,此主參數應與集群中主機上的接口名稱匹配。
  您可以查看使用 kubectl 創建的配置,方法如下:
 
  復制
  $ kubectl get network-attachment-definitions
  1.
  您可以通過描述它們來獲得更多詳細信息:
 
  復制
  $ kubectl describe network-attachment-definitions macvlan-conf
  1.
  創建一個附加附加接口的Pod
  我們將創建一個 pod。就像您之前可能創建的任何pod一樣,它看起來都很熟悉,但是,我們將有一個特殊的注釋字段-在這種情況下,我們將有一個名為k8s.v1.cni.cncf.io/networks的注釋。如上創建的,該字段以逗號分隔的列表列出了 NetworkAttachmentDefinitions 的名稱。請注意,在下面的命令中,我們具有 k8s.v1.cni.cncf.io/networks 的注釋:macvlan-conf其中macvlan-conf是我們在創建配置時使用的名稱。
 
  讓我們繼續使用以下命令創建一個 pod:
 
  復制
  apiVersion: v1
  kind: Pod
  metadata:
   name: samplepod
   annotations:
     k8s.v1.cni.cncf.io/networks: macvlan-conf
  spec:
   containers:
   - name: samplepod
     command: ["/bin/ash", "-c", "trap : TERM INT; sleep infinity & wait"]
     image: alpine
  1.
  2.
  3.
  4.
  5.
  6.
  7.
  8.
  9.
  10.
  11.
  您現在可以檢查Pod并查看連接了哪些接口,如下所示:
 
  復制
  $ kubectl exec -it samplepod -- ip a
  1.
  您應該看到,有 3 個接口:
 
  lo環回接口
  eth0我們的默認網絡
  net1是我們使用macvlan配置創建的新接口
  網絡狀態 Annotations
  為了確認,請使用kubectl describe pod pod samplepod,然后會有一個注釋部分,類似于以下內容:
 
  復制
  Annotations:        k8s.v1.cni.cncf.io/networks: macvlan-conf
                     k8s.v1.cni.cncf.io/networks-status:
                       [{
                           "name": "cbr0",
                           "ips": [
                               "10.244.1.73"
                           ],
                           "default": true,
                           "dns": {}
                       },{
                           "name": "macvlan-conf",
                           "interface": "net1",
                           "ips": [
                               "192.168.1.205"
                           ],
                           "mac": "86:1d:96:ff:55:0d",
                           "dns": {}
                       }]
  1.
  2.
  3.
  4.
  5.
  6.
  7.
  8.
  9.
  10.
  11.
  12.
  13.
  14.
  15.
  16.
  17.
  18.
  該元數據告訴我們,我們有兩個成功運行的 CNI 插件。
 
  如果我想要更多接口怎么辦?
  您可以通過創建更多的自定義資源,然后在pod的注釋中引用它們,來向pod添加更多接口。您還可以重復使用配置,例如,要將兩個 macvlan 接口附加到 Pod,可以創建如下 Pod:
 
  復制
  apiVersion: v1
  kind: Pod
  metadata:
   name: samplepod
   annotations:
     k8s.v1.cni.cncf.io/networks: macvlan-conf,macvlan-conf
  spec:
   containers:
   - name: samplepod
     command: ["/bin/ash", "-c", "trap : TERM INT; sleep infinity & wait"]
     image: alpine
  1.
  2.
  3.
  4.
  5.
  6.
  7.
  8.
  9.
  10.
  11.
  請注意,注釋現在讀取為k8s.v1.cni.cncf.io/networks:macvlan-conf,macvlan-conf。如果我們有兩次使用相同的配置,并用逗號分隔。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性猛交xxxx免费看久久久| 久久精品电影一区二区| 97超级碰碰人国产在线观看| 日韩美女中文字幕| 久久久久久这里只有精品| 亚洲理论片在线观看| 欧美一区二三区| 国产做受高潮69| 91久久国产精品91久久性色| 久久久久久久激情视频| 国产97免费视| 在线免费看av不卡| 一本一本久久a久久精品牛牛影视| 欧美激情xxxxx| 久久久久国产视频| 成人动漫网站在线观看| 欧美理论电影网| 日韩风俗一区 二区| 成人看片人aa| 久久久久久国产精品美女| 黄色成人在线免费| www.欧美三级电影.com| 久久色免费在线视频| 亚洲电影免费观看高清完整版在线观看| 国产精品网站视频| 久久久免费在线观看| 97激碰免费视频| 色系列之999| 日韩免费在线看| 欧美日韩亚洲一区二区| 91在线直播亚洲| 久久6精品影院| 日韩在线欧美在线国产在线| 一区二区三区四区视频| 久久精品国产69国产精品亚洲| 91超碰中文字幕久久精品| 欧美高清自拍一区| 综合网日日天干夜夜久久| 久久久这里只有精品视频| 日韩视频在线免费| 欧美午夜视频一区二区| 国产精品永久在线| 色综合久久天天综线观看| 亚洲女人天堂色在线7777| 国产精品视频自拍| 国产精品露脸av在线| 一本大道香蕉久在线播放29| 在线精品高清中文字幕| www高清在线视频日韩欧美| 国产精品成人国产乱一区| 久久影视电视剧免费网站清宫辞电视| 日韩欧美国产中文字幕| 国产精品久久久久久久久久尿| 欧美激情aaaa| 2020欧美日韩在线视频| 国产精品日韩专区| 成人免费直播live| 亚洲福利在线观看| 欧美高清不卡在线| 日韩欧美一区二区三区久久| 97久久超碰福利国产精品…| 欧美激情成人在线视频| 成人性生交大片免费看小说| 2025国产精品视频| 日韩福利伦理影院免费| 尤物精品国产第一福利三区| 精品中文字幕在线2019| 日韩中文字幕在线观看| 中文字幕亚洲欧美一区二区三区| 91午夜在线播放| 在线视频欧美性高潮| 国产亚洲视频在线| 福利一区视频在线观看| 欧美激情xxxxx| 欧美人与性动交| 欧美日韩国产第一页| 日韩免费在线视频| 久久综合伊人77777尤物| 欧美在线性视频| 国色天香2019中文字幕在线观看| 日韩欧美极品在线观看| 亚洲国产中文字幕在线观看| 97色在线观看免费视频| 欧美精品videosex牲欧美| 影音先锋欧美精品| 久久成年人视频| 国产噜噜噜噜久久久久久久久| 色噜噜久久综合伊人一本| 欧洲成人在线视频| 国产精品jizz在线观看麻豆| 日韩中文视频免费在线观看| 欧洲美女7788成人免费视频| 欧美高跟鞋交xxxxxhd| 日韩精品在线视频观看| 欧美性猛交xxxx黑人| 亚洲国产精品久久久| 色噜噜狠狠狠综合曰曰曰88av| 日韩精品有码在线观看| 久久99国产精品自在自在app| 欧美电影电视剧在线观看| 国产综合色香蕉精品| 夜夜嗨av色综合久久久综合网| 国产精品久久综合av爱欲tv| 亚洲自拍偷拍一区| 久久久久久亚洲精品| 精品香蕉在线观看视频一| 亚洲第一色在线| 欧洲精品在线视频| 日韩精品高清视频| 亚洲3p在线观看| 国产精品久久久久久久久久久久| 国产精品视频区1| 成人激情视频在线播放| 日韩欧美国产黄色| 黑人巨大精品欧美一区二区三区| 欧美国产一区二区三区| 日韩欧美综合在线视频| 国产精品久久久久久久久久久久| 国产精品手机播放| 国产欧美精品在线播放| 91a在线视频| 久久av在线播放| 亚洲图片欧洲图片av| 久久精品一本久久99精品| 日韩精品免费视频| 欧美最顶级丰满的aⅴ艳星| 国产精品jvid在线观看蜜臀| 亚洲美女av黄| 17婷婷久久www| 亚洲精品资源美女情侣酒店| 2019亚洲男人天堂| 97在线观看视频国产| 国产综合在线观看视频| 日韩美女视频在线观看| 精品五月天久久| 欧美大片欧美激情性色a∨久久| 亚洲色图18p| 国产精品美女视频网站| 亚洲男人天堂古典| 日韩av中文字幕在线播放| 日韩av免费一区| 欧美成人精品在线| 日韩动漫免费观看电视剧高清| 夜夜狂射影院欧美极品| 国产精品91久久久| 亚洲美女喷白浆| 亚洲一区二区日本| 91精品国产综合久久香蕉| 欧美中文字幕在线观看| 国产精品欧美久久久| 成人黄色午夜影院| 国产精品自产拍在线观| 一区国产精品视频| 亚洲人成伊人成综合网久久久| 91精品国产色综合久久不卡98口| 国产精品丝袜高跟| 亚洲第一区第二区| 欧美色图在线视频| 亚洲a∨日韩av高清在线观看| 91沈先生作品| 一个人看的www欧美| 国产精品欧美一区二区| 亚洲国产精品热久久| 国产精品扒开腿做爽爽爽视频|