作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與新應用遞送方案的介紹與推廣。
通常一個新產品我們簡述了功能,討論了架構,接下來也應該和大家說明一下安裝。但Antrea的安裝就是很直接很簡單。如果大家是自行建立 Native Kubernetes,在做完kubeadm init,然後用kubeadm join把各台worker nodes加入到這個K8S Cluster的步驟後,在有Internet的狀況下,只要一行指令就可以安裝Antrea完成。下面的動畫來自Antrea官網 ( https://antrea.io/docs/v1.8.0/docs/getting-started/ ),使用了下面的指令直接進行Antrea安裝:
# kubectl apply -f https://github.com/antrea- io/antrea/releases/download/<TAG>/antrea.yml |
上述指令內的<TAG>可以指定要安裝的社群版本號。而如果確定就是要安裝最新穩定版本,也可以直接用下列指令:
# kubectl apply -f https://raw.githubusercontent.com/antrea- io/antrea/main/build/yamls/antrea.yml |
很簡單吧。上面就是對應到原生的Kubernetes與社群版本的Antrea的手動安裝方式。這邊特別要說明一下,由於Antrea底層要使用到Open vSwitch,務必要確認Linux Kernel內是否已經包含,或是需要特別手動安裝OVS。如果各位採用的Linux Kernel已經在4.6版以上,那預設就有包含OVS功能。如果低於此版,請預先查詢相關的文件,安裝OVS到2.6.0版以上
但如果我們要裝的是Antrea商業版本像是運作在vSphere with Tanzu或是Tanzu Kubernetes Grid,環境內也可能沒有Internet連線,此時是不是就很麻煩了呢?反過來,其實更單純。在Tanzu各方案內管理者產出的Kubernetes叢集 (TKC, Tanzu Kubernetes Cluster),預設內建就是使用 Antrea的商用版本 ( VMware Container Networking with Antrea )。比如說在 vSphere with Tanzu 內要建立一個新的 TKC,下面是我用來裝 NAPP (NSX Application Platform) 的一個配置檔:
apiVersion: run.tanzu.vmware.com/v1alpha1 kind: TanzuKubernetesCluster metadata: name: tkgs-napp-cluster namespace: tkgs-napp spec: distribution: version: v1.21 topology: controlPlane: count: 1 class: best-effort-medium storageClass: tkgs-storage volumes: – name: etcd mountPath: /var/lib/etcd capacity: storage: 64Gi workers: count: 3 class: best-effort-4xlarge storageClass: tkgs-storage volumes: – name: containerd mountPath: /var/lib/containerd capacity: storage: 64Gi settings: network: cni: name: antrea pods: cidrBlocks: – 10.243.0.0/16 serviceDomain: cluster.local services: cidrBlocks: – 10.244.0.0/16 |
上面配置檔內的紅字部分就是網路相關配置,可以看到Container Network Interface選擇是Antrea(預設值)並且配置了Pod使用的網路範圍。此時使用這個配置檔來建立新的Tanzu Kubernetes Cluster時,Antrea會自動安裝在內直接可使用,不需要大家進一步進行任何動作。下圖內是我用前面的配置檔產出的TKC,建立完成後可以在kube-system namespaces內看到Antrea相關構件已經配置完成:
同時以 kubectl describe pod 指令看antrea-controller的內容,可以看到對應到這個TKC版本(安裝的是v1.21.6),Antrea是0.13.5版(這是社群功能版本,對應到的是VMware Container Networking with Antrea的1.2.0-0.13.1企業版本)
安裝的說明就這樣,大家可以看到非常簡單。總結一下,如果是在原生Kubernetes內安裝,只需要手動配置一行指令。如果是在Tanzu內,不需要安裝,Tanzu Kubernetes Cluster配置完成時就自動建好了。但我相信大家在前面的敘述看到『版本』二字,有些談到的是社群版本,有時談到的是VMware支持的商用版本,彼此間又有對應,看起來很混亂。下一篇我們專門來討論這個議題:Antrea的社群版本與商用版本對應與差異。
Comments
0 Comments have been added so far