在不同的 SDN 虛擬網路上部署 AKS 目標叢集
適用於:Azure Stack HCI 22H2 上的 AKS、Windows Server 上的 AKS
在不同的 軟體定義網路 (SDN) 虛擬網路上部署 Azure Arc 目標叢集所啟用的 AKS, (VNet) 可以提供一系列優點,主要著重於安全性、延展性和網路組織:
- 安全性和隔離:每個隔離的 VNet 都會作為個別的實體,有助於包含潛在的安全性威脅。 如果某個網路遭到入侵,則威脅較不太可能散佈至其他 VNet。
- 延展性:在多個網路上部署 AKS 目標叢集可以改善應用程式的延展性。 隨著您的需求和/或合規性成長,您可以將更多 AKS 目標叢集新增至新的 SDN VNet。
- 服務分割:隔離的網路可讓您根據服務的功能或業務,以邏輯方式隔離服務或應用程式,特別是符合高合規性和法規需求的 O/T 網路。 此分割可簡化管理、監視和疑難解答。
- 法規合規性:對於以製造、醫療保健和財務等嚴格指導方針運作的組織,隔離的網路可協助達成合規性,而實體IP位址空間較少增加,例如VLAN、子網等。
下圖顯示 AKS 目標叢集的部署。 此影像顯示 AKS Arc 管理叢集和目標叢集位於不同的 SDN VNet 上:
設定新的SDN虛擬網路
部署新的 AKS 目標叢集之前,您必須建立新的虛擬網路。 如果使用 Windows Admin Center 或 PowerShell 建立 SDN VNet 的名稱,您可以重複使用現有的 VNet (SDN 受控 VNet) 。 如果尚未建立,我們會在 AKS 和 SDN 網路控制卡中為您建立 VNet, (MOC 受控 虛擬網路) :
New-AksHciClusterNetwork -name "SDNVNet1" -vswitchName "ConvergedSwitch(hci)" `
-ipAddressPrefix "13.20.0.0/8" -gateway "13.20.0.1" -dnsServers "10.195.95.223" `
-k8sNodeIpPoolStart "13.20.0.2" -k8sNodeIpPoolEnd "13.20.100.255"
參數 | Description |
---|---|
name |
預設虛擬網路的名稱。 如果現有 SDN 受控網路存在,或建立新的 MOC 受控網路,則會重複使用它。 |
vswitchName |
針對 SDN 設定的 vSwitch 名稱。 此 vSwitch 已啟用 VFP 擴充功能;系統上只能啟用一個具有 VFP 的 vSwitch。 |
ipAddressPrefix |
用於在網路控制站中建立虛擬網路的子網前置詞。 此前置詞是子網前置詞,而不是虛擬網路前置詞。 目前,MOC 僅支援單一子網。 |
gateway |
子網的預設閘道。 必須是子網的第一個IP。 SDN 不支援虛擬網路的自定義預設閘道。 |
dnsServers |
DNS 伺服器可從 SDN VM 公用 IP 或其他 (連線,例如用於名稱解析的 L3 連線) 。 |
K8sNodeIpPoolStart , K8sNodeIpPoolEnd |
從 ipAddressPrefix 的子集或完整IP範圍。 MOC IPAM 用來配置節點的IP位址。 如果在相同的子網上部署非 AKS-HCI VM,但不建議使用,因為可能設定錯誤。 |
在 SDN 虛擬網路上建立 Kubernetes 叢集
建立隔離的 SDN VNet 之後,您可以建立新的 Kubernetes 叢集。 首先,擷取您建立的 SDN VNet,並將此值儲存至變數:
$vnet = New-AksHciClusterNetwork -name "SDNVNet1" -vSwitchName $vSwitchName -ipAddressPrefix $ipAddressPrefix -gateway $gateway -dnsServers "192.168.60.10" -k8sNodeIpPoolStart $k8sNodeIpPoolStart -k8sNodeIpPoolEnd $k8sNodeIpPoolEnd
您可以使用該變數傳遞至 New-AksHciCluster Cmdlet。 您必須至少指定名稱和 VNet:
New-AksHciCluster -name "OTCluster1" -vnet "$SDNVNet1"