建立或編輯 vRealize Automation 雲端範本時,請針對您的目標使用最適合的負載平衡器資源。
您可以在雲端範本中使用 NSX 和與雲端無關的負載平衡器資源來控制部署中的負載平衡。
與雲端無關的負載平衡器可以跨多個雲端進行部署。特定於雲端的負載平衡器可以指定僅適用於特定雲端/拓撲的進階設定和功能。特定於雲端的內容可在 NSX 負載平衡器 (Cloud.NSX.LoadBalancer) 資源類型中使用。當您在與雲端無關的負載平衡器 (Cloud.LoadBalancer) 上新增這些內容時,例如,如果佈建 Amazon Web Services 或 Microsoft Azure 負載平衡器,則會忽略這些內容,但如果佈建 NSX 負載平衡器,則會採用這些內容。根據 vRealize Automation 雲端範本中的條件,選擇可用的負載平衡器資源類型之一。
您無法將負載平衡器資源直接連線至設計畫布中的安全群組資源。
非雲端負載平衡器資源
當您想要為任何類型的目標機器指定網路特性時,請使用非雲端負載平衡器。
Cloud.LoadBalancer
資源類型的形式顯示在雲端範本代碼中。預設資源會顯示為:
Cloud_LoadBalancer_1:
type: Cloud.LoadBalancer
properties:
routes: []
network: ''
instances: []
internetFacing: false
NSX 負載平衡器資源
當雲端範本包含特定於 NSX 的特性 (Policy API 或 Manager API 方法) 時,請使用 NSX 負載平衡器。可將一或多個負載平衡器連結至 NSX 網路,或連結至與 NSX 網路相關聯的機器。
Cloud.NSX.LoadBalancer
資源類型的形式顯示在雲端範本代碼中。預設資源會顯示為:
Cloud_NSX_LoadBalancer_1:
type: Cloud.NSX.LoadBalancer
properties:
routes: []
network: ''
instances: []
雲端範本代碼中的負載平衡器選項
將一或多個負載平衡器資源新增至您的雲端範本,可讓您指定下列設定。vRealize Automation 中的網路、安全資源和負載平衡器中提供了一些範例。
所有隨選負載平衡器均支援 HTTP 通訊協定。
只有與 NSX 模式設為原則的 NSX 雲端帳戶相關聯的隨選負載平衡器才支援 HTTPS 通訊協定。NSX 模式設為管理程式的 NSX 雲端帳戶無法使用 HTTPS 通訊協定。
- 機器規格
您可以指定要參與負載平衡集區的具名機器資源。或者,也可以指定特定機器 NIC 參與負載平衡器集區。
此選項僅適用於 NSX 負載平衡器資源 (
Cloud.NSX.LoadBalancer
)。- resource.Cloud_Machine_1.id
指定負載平衡器包括在雲端範本代碼中識別為 Cloud_Machine_1 的機器。
- resource.Cloud_Machine_2.networks[2].id
指定負載平衡器僅當在雲端範本代碼中識別為 Cloud_Machine_2 的機器部署到機器 NIC Cloud_Machine_2.networks[2] 時才包括此機器。
- resource.Cloud_Machine_1.id
- 記錄層級
記錄層級值會指定錯誤記錄的嚴重性層級。選項包括 [無]、[緊急]、[警示]、[嚴重]、[錯誤]、[警告]、[資訊]、[偵錯] 和 [通知]。記錄層級值將套用至雲端範本中的所有負載平衡器。此選項特定於 NSX。對於擁有父系的負載平衡器,父系記錄層級設定會覆寫其子系中的任何記錄層級設定。
如需相關資訊,請參閱 NSX 產品說明文件中的〈新增負載平衡器〉等主題。
- 類型
使用負載平衡器類型來指定調整大小。預設為小型。此選項特定於 NSX。對於擁有父系的負載平衡器,父系類型設定會覆寫其子系中的任何類型設定。
- 小型
相當於 NSX-V 中的精簡型和 NSX-T 中的小型。
- 中型
相當於 NSX-V 中的大型和 NSX-T 中的中型。
- 大型
相當於 NSX-V 中的四倍大和 NSX-T 中的大型。
- 超大型
相當於 NSX-V 中的超大型和 NSX-T 中的大型。
如需相關資訊,請參閱 NSX 產品說明文件中的〈調整負載平衡器資源〉等主題。
此選項適用於 NSX 負載平衡器資源 (
Cloud.NSX.LoadBalancer
)。 - 小型
- 演算法 (伺服器集區)
使用演算法平衡方法來控制在伺服器集區成員之間散佈傳入連線的方式。可以在伺服器集區上或直接在伺服器上使用演算法。所有負載平衡演算法均會略過符合下列任意條件的伺服器:
- 管理狀態設為 DISABLED。
- 管理狀態設為 GRACEFUL_DISABLED 且沒有相符的持續性項目。
- 主動或被動健全狀況檢查狀態為 DOWN。
- 已達到最大伺服器集區並行連線的連線限制。
此選項特定於 NSX。
- IP_HASH
根據來源 IP 位址雜湊和所有執行中伺服器的權數總計來選取伺服器。
相當於 NSX 中的 IP-HASH。
- LEAST_CONNECTION
根據伺服器上已有的連線數目,將用戶端請求散佈到多個伺服器。新連線會傳送到具有最少連線數的伺服器。忽略伺服器集區成員權數 (即使已設定)。
相當於 NSX-V 中的 LEASTCONN 和 NSX-T 中的 LEAST_CONNECTION。
- ROUND_ROBIN
傳入用戶端請求會在能夠處理請求的可用伺服器清單中循環。忽略伺服器集區成員權數 (即使已設定)。預設值。
相當於 NSX 中的 ROUND_ROBIN。
- WEIGHTED_LEAST_CONNECTION
每個伺服器都指派有表示該伺服器如何相對於集區中的其他伺服器執行的權數值。該值會決定與集區中的其他伺服器相比,向某個伺服器傳送的用戶端請求數目。此負載平衡演算法著重於使用權數值在可用的伺服器資源之間公平地散佈負載。依預設,如果未設定此值並啟用了緩慢啟動,則權數值為 1。
相當於 NSX-T 中的 WEIGHTED_LEAST_CONNECTION。NSX-V 中沒有相互關聯項。
- WEIGHTED_ROUND_ROBIN
每個伺服器都指派有表示該伺服器如何相對於集區中的其他伺服器執行的權數值。該值會決定與集區中的其他伺服器相比,向某個伺服器傳送的用戶端請求數目。此負載平衡演算法著重於在可用伺服器資源之間公平地散佈負載。
相當於 NSX-T 中的 WEIGHTED_ROUND_ROBIN。NSX-V 中沒有相互關聯項。
- URI
URI 的左邊部分會進行雜湊處理並除以執行中伺服器的權數總計。結果指定了用於接收請求的伺服器。這可確保在沒有伺服器啟動或關閉的情況下,URI 會一律導向至相同的伺服器。URI 演算法參數具有兩個選項:
uriLength=<len>
和uriDepth=<dep>
。長度參數範圍應為1<=len<256
。深度參數範圍應為1<=dep<10
。長度和深度參數後會接正整數。這些選項僅可根據 URI 的開頭來平衡伺服器。長度參數指示演算法應僅考量 URI 開頭已定義的字元來計算雜湊。深度參數指示用於計算雜湊的目錄深度上限。請求中的每條斜線都算作一個層級。如果兩個參數均指定,則達到任一個參數時,評估會停止。相當於 NSX-V 中的 URI。NSX-T 中沒有相互關聯項。
- HTTPHEADER
會在每個 HTTP 要求中查詢 HTTP 標頭名稱。括弧中的標頭名稱不區分大小寫。如果標頭不存在或不包含任何值,則會套用循環配置資源演算法。HTTPHEADER 演算法參數具有一個選項
headerName=<name>
。相當於 NSX-V 中的 HTTPHEADER。NSX-T 中沒有相互關聯項。
- URL
會在每個 HTTP GET 要求的查詢字串中查詢引數中指定的 URL 參數。如果參數後跟隨著等號 = 和值,則該值會進行雜湊處理並除以執行中伺服器的權數總計。結果指定了用於接收請求的伺服器。此程序用於追蹤請求中的使用者識別碼,並確保只要沒有伺服器啟動或關閉,相同的使用者識別碼一律傳送至相同的伺服器。如果找不到任何值或參數,則會套用循環配置資源演算法。URL 演算法參數具有一個選項
urlParam=<url>
。相當於 NSX-V 中的 URL。NSX-T 中沒有相互關聯項。
如需相關資訊,請參閱 NSX 產品說明文件中的〈新增用於負載平衡的伺服器集區〉等主題。
- 健全狀況監控器
使用健全狀況監控器選項來測試伺服器是否可用。支援 HTTP、ICMP、TCP 和 UDP 通訊協定的主動健全狀況監控。被動健全狀況監控僅適用於 NSX-T。
此選項特定於 NSX。
- httpMethod
HTTP 方法,用於偵測健全狀況檢查請求的伺服器狀態。方法包括 GET、HOST、OPTIONS、HEAD 或 PUT。
- requestBody
健全狀況檢查請求本文內容。由 HTTP、TCP 和 UDP 通訊協定使用,並且是必要的。
- responseBody
健全狀況檢查預期回應本文內容。如果接收的字串與此回應本文相符,則會將伺服器視為狀況良好。由 HTTP、TCP 和 UDP 通訊協定使用,並且是必要的。
備註: 如果使用 UDP 監控器通訊協定,則需要UDP Data Sent
和UDP Data Expected
參數。requestBody
和responseBody
內容會對應到這些參數。此選項適用於 NSX 負載平衡器資源 (
Cloud.NSX.LoadBalancer
)。如需相關資訊,請參閱 NSX 產品說明文件中的〈設定主動健全狀況監控器〉等主題。
- httpMethod
- 健全狀況檢查
使用健全狀況檢查選項,指定負載平衡器如何執行其健全狀況檢查。
此選項僅適用於 NSX 負載平衡器資源 (
Cloud.NSX.LoadBalancer
)。如需可用健全狀況檢查設定的範例,請參閱vRealize Automation 中的網路、安全資源和負載平衡器。
NSX 網路類型和負載平衡器選項
負載平衡器選項取決於負載平衡器資源在雲端範本中關聯的網路。您可以根據網路類型和網路條件設定負載平衡器。
- 隨選網路
如果負載平衡器計算資源連結到隨選網路,將建立新的第 1 層路由器,並將其連結到網路設定檔中指定的第 0 層路由器。負載平衡器隨後會連結到第 1 層路由器。如果 VIP 位於現有網路中,則會啟用第 1 層路由器 VIP 通告。如果為 DHCP 設定隨選網路,則隨選網路和負載平衡器會共用第 1 層路由器。
- 現有網路
如果負載平衡器連結到現有網路,則會使用現有網路的第 1 層路由器建立負載平衡器。如果沒有任何負載平衡器連結到第 1 層路由器,會建立新的負載平衡器。如果負載平衡器已存在,則新的虛擬伺服器會連結到該負載平衡器。如果現有網路未連結到第 1 層路由器,則會建立新的第 1 層路由器並將其連結到網路設定檔中定義的第 0 層路由器,並且第 1 層路由器 VIP 通告未啟用。
vRealize Automation 不支援在兩個不同的現有網路上使用 NSX-T 雙肩負載平衡器 (內嵌負載平衡器)。請注意,在雙肩負載平衡器案例中,VIP 上行位於現有網路上,而集區成員機器已連線至隨選網路。若要在使用現有網路時指定負載平衡,則必須設定單肩負載平衡器,其中會將同一個現有網路用於負載平衡器 VIP 和集區成員機器。但是,如果使用的是在網路設定檔中選取的負載平衡器,則當兩個現有網路之間存在連線時,可以在兩個不同現有網路上的機器之間進行負載平衡。
- 網路設定檔中定義的網路隔離
對於
outbound
或private
網路類型,您可以在網路設定檔中指定網路隔離設定以模擬新的安全群組。由於機器已連結至現有網路並且在設定檔中定義了隔離設定,此選項類似於在現有網路中建立的負載平衡器。不同點為:若要啟用資料路徑,會將第 1 層上行連接埠 IP 新增至隔離安全群組。
您可以在雲端範本設計中使用 NSX 負載平衡器資源,為與 NSX 相關聯的網路指定負載平衡器設定。
若要深入瞭解,請參閱 VMware 部落格文章 vRA Cloud Assembly 負載平衡器與 NSX-T 搭配使用深入探究。
NSX-T 負載平衡器設定檔持續性
vRealize Automation 雲端範本和部署支援對 SOURCE_IP 和 COOKIE 設定使用 NSX-T 負載平衡器持續性設定檔選項。如需有關如何在 NSX-T 中進行這些設定以便可由 vRealize Automation 雲端範本和部署使用的資訊,請參閱 NSX-T 說明文件中的〈新增持續性設定檔〉。
在多個負載平衡器共用 NSX-T 第 1 層或 NSX-V Edge 時重新設定記錄層級或類型設定
使用包含在 NSX-V 端點中共用第 1 層路由器或在 NSX-T 端點中共用 Edge 路由器的多個負載平衡器的雲端範本時,在其中一個負載平衡器資源中重新設定記錄層級或類型設定不會更新其他負載平衡器的設定。不相符的設定會導致 NSX 中出現不一致情況。若要避免在重新設定這些記錄層級和/或類型設定時出現不一致,請針對雲端範本中在相關聯的 NSX 端點中共用第 1 層或 Edge 的所有負載平衡器資源使用相同的重新設定值。
可用的第 2 天作業
當您將含有負載平衡器的部署進行縮小或擴充時,該負載平衡器會設定為包括所新增的機器,或停止對要終結的機器進行負載平衡。
如需可用於雲端範本和部署的常見第 2 天作業的清單,請參閱您可以對 Cloud Assembly 部署執行哪些動作。
深入瞭解
如需在網路設定檔中定義負載平衡器設定的相關資訊,請參閱進一步瞭解 vRealize Automation 中的網路設定檔。
如需包含負載平衡器的雲端範本設計範例,請參閱vRealize Automation 中的網路、安全資源和負載平衡器。