作者: Colin Jao 饒康立 – VMware資深技術顧問,主要負責VMware NSX產品線,目前致力於網路虛擬化、分散式安全防護技術與新應用遞送方案的介紹與推廣。

在前面花了好多篇網誌說明AKO (Avi Kubernetes Operator) 的網路架構以及DNS/IPAM整合說明後,接下來我想快速與大家過一遍AKO的安裝。這兩篇並不是安裝手冊,也沒有太多抓圖,主要是想把安裝上的流程以及需要特別提醒的點拉出來討論。如果大家要看官方的步驟,可以參考AKO 1.4版的安裝文件:https://avinetworks.com/docs/ako/1.4/ako-installation/ 。

下圖是我們進行 Kubernetes + AKO 的安裝步驟,按順序與大家介紹:

1. 確認 Kubernetes / NSX ALB的安裝環境與網路配置

這邊要準備的都是基礎環境問題,如果有回答不出來的…那還是先Hold住,找到答案後再往下走。像下面這些:

  • 安裝在哪個環境 (Kubernetes / NSX ALB 在不同環境內有不同的安裝方式)
  • 採用的是哪種Kubernetes版本 (完全自建 / Tanzu with vSphere / Tanzu Kubernetes Grid / Openshift / 公有雲租用)
  • 可使用的管理網段 / Workload網段 / VIP網段,須保留的IP地址段
  • 需預先建立的DNS紀錄,Kubernetes應用要採用的域名等等

2. 安裝NSX Advanced Load Balancer

我們在之前有一整個系列的網誌在介紹NSX Advanced Load Balancer本身的安裝,有興趣請參考https://blogs.vmware.com/vmware-taiwan/2020/10/28/183-nsx-advanced-load-balancer/ 開始的系列文,以及Avi網站上的標準安裝文件。簡單列出這邊要配置的步驟:

  • 匯入並建立Avi Controller Cluster,輸入授權及基本管理資訊
  • 連接Cloud,比如説以我們自己最常做的就是連接現有的vCenter環境
  • 配置在這個Cloud裡面的Network以及IP Address Pool(或是DHCP)。大部分環境內,我們至少會配置管理網段以及Workload網段(與VIP網段合用),當然VIP網段要拉出來是沒問題的
  • 建立服務引擎群組 (Service Engine Group) ,比如說配置成為Active-Active形式,設定服務引擎大小 (CPU/Memory/Storage) 等等

簡而言之,這邊和一般標準的NSX Advanced Load Balancer安裝沒什麼不同,熟悉的工程師一般來說一兩個小時內都可以完成。

3. 安裝IPAM/DNS Profile,DNS服務,企業DNS委派

請參考前篇網誌內有完整的流程說明。AKO安裝前,這邊是必要步驟,須先將相關配置建立完準備好。

4. 建立 Kubernetes Cluster

在這邊,採用哪種Kubernetes版本,運作在哪個環境內,都有不同的安裝方法,請大家自行找對應的手冊。比如說通常在純vSphere環境內,我在展示以及不同PoC環境內就安裝過原生Kubernetes (Vanilla K8S)、Tanzu with vSphere on vDS (TKGS)、Tanzu Kubernetes Grid (TKGm) 等不同方式,安裝流程各有不同。

  • 原生Kubernetes的安裝:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
  • Tanzu with vSphere on vDS的安裝:https://docs.vmware.com/en/VMware-vSphere/7.0/vmware-vsphere-with-tanzu/GUID-152BE7D2-E227-4DAA-B527-557B564D9718.html
  • Tanzu Kubernetes Grid的安裝:https://docs.vmware.com/en/VMware-Tanzu-Kubernetes-Grid/1.3/vmware-tanzu-kubernetes-grid-13/GUID-index.html

這裡我要特別提醒一點,在不同的安裝環境內,有些會預先把L4 LoadBalancer安裝起來,但不一定採用AKO的機制。比如說在建立Tanzu Kubernetes Grid時,管理者可以自行選擇是否要配置Load Balancer,或在公有雲環境內,配置時可能會直接連動公有雲原生的負載平衡服務。這邊是各位的配置選擇,AKO可以提供完整的L4 LoadBalancer以及L7 Ingress服務,但當K8S環境內已經有現成的L4 LoadBalancer時,AKO也可以只運作在Ingress內。這是大家在建立K8S環境時要進行的架構決定之一。

到目前為止如果一切順利,大家應該已經有了一個可以正常運作,但還沒有建立任何Virtual Service的Avi環境。也已經有了一個配置完成,但外部服務只能透過Nodeport,或是基礎Load Balancer來連線的Kubernetes叢集。本篇先停止於此,下一篇內,我們來真正進入步驟5與步驟6,討論AKO容器本身的安裝以及重要配置。