作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與新應用遞送方案的介紹與推廣。
接續前篇討論Antrea與NSX Manager整合的手動安裝第一個流程,接下來要繼續後面的步驟。整個流程圖如下,本篇內要由流程二:建立自簽安全憑證開始。也同樣提醒大家,相關的步驟於官方文件https://docs.vmware.com/en/VMware-NSX-T-Data-Center/3.2/administration/GUID-DFD8033B-22E2-4D7A-BD58-F68814ECDEB1.html , ” Registering an Antrea Container Cluster to NSX-T Data Center” 內有正式的說明。
流程二:建立自簽安全憑證
流程二內我們要使用Linux內的openssl工具,建立一個在Kubernetes Cluster與NSX Manager間使用,可相互信任的自簽公私鑰。找一台已經安裝了openssl工具的機器,在上面執行下列指令:
# openssl genrsa -out tkgs-122-cluster-private.key 2048 # openssl req -new -key tkgs-122-cluster-private.key -out tkgs-122- cluster.csr -subj “/C=US/ST=CA/L=Palo Alto/O=VMware/OU=Antrea Cluster/CN=tkgs-122-cluster” # openssl x509 -req -days 3650 -in tkgs-122-cluster.csr -signkey tkgs-122-cluster-private.key -out tkgs-122-cluster.crt |
簡單解釋一下上面的指令。假設這邊我們用vSphere with Tanzu建立了一個新的Kubernetes Cluster,名稱叫做tkgs-122-cluster。接著:
- 第一行指令內,先建立一個長度為2048 bits的私鑰,檔名為tkgs-122-cluster-private.key。
- 第二行指令內,我們利用前面建立的私鑰,建立一個名稱叫tkgs-122- cluster.csr的憑證簽署要求檔 (Certificate Signing Request)。這步驟內非常重要的是在Subject內填入的CN (Common Name) 值,此處我們填入的就是kubernetes cluster名稱叫tkgs-122-cluster。這個名稱務必與流程三內,在NSX Manager內建立Principal Identity User時填入的Node-ID要完全一致。
- 第三行指令內,使用第一行指令產生的私鑰,以及第二行指令產生的CSR檔,產出對應的憑證檔案tkgs-122-cluster.crt,簽署期可以自行調整,這裡是10年。
由上述指令產出的私鑰tkgs-122-cluster-private.key與憑證tkgs-122-cluster.crt,在後續流程三與流程四都會繼續用到。
流程三:在 NSX 內建立 Principal Identity User 並加入憑證
流程三內我們需要在NSX管理介面內建立一個對應這個Kubernetes Cluster的Principal Identity User。Principal Identity User是NSX內的特殊帳戶,專門用來給外部服務連接NSX使用,觀念就等同於比如說AWS的Service Account,是給外部服務使用,不是給人用的。在Antrea與NSX註冊時,每個Kubernetes Cluster都需要有一個自己的Principal Identity User。比如說在下圖內,我建了三個Principal Identity User,分別對應到三個不同的Kubernetes Cluster要註冊到NSX內來使用。
進入NSX管理介面後,選擇System – Settings – User Management就可以進入上述介面,在ADD內選擇要建立一個Principal Identity with Role,如下圖,填入需求的對應值:
其中,
- Principal Identity欄位填入一個你能識別的名稱,這裡是填tkgs-122-cluster-admin
- Roles內選擇Enterprise Admin
- Node Id填入與前面流程二內CN (Common Name) 一模一樣的Kubernetes Cluster名稱,我們這邊的舉例是tkgs-122-cluster
- Certificate PEM要填入的值,請複製由流程二內產出的憑證檔 (tkgs-122-cluster.crt)的內容進來。Linux內就直接用cat指令,然後剪貼所有內容進來即可,記得包括前面與後面的—–BEGIN CERTIFICATE—-與——END CERTIFICATE—–都要複製進來
然後按SAVE儲存就完成了。
本篇內說明了流程二與三的步驟,包含產出讓Kubernetes Cluster上NSX Agent與NSX Manager間相互信任的私鑰與憑證,以及在NSX Manager上建立一個對應此 K8S Cluster的Principal Identity User服務帳戶。下一篇內我們就會透過修改安裝配置檔並執行,確認NSX Agent (interworking pod) 可正常運作,完成整個Antrea+NSX註冊流程配置。
Comments
0 Comments have been added so far