
![[16.0.0.3 以及更新版本]](../ng_v16003plus.gif)
在 Docker 儲存器或 Node.js 伺服器中配置 Liberty 可供應的叢集
您可以將群體配置成支援在 Docker 儲存器或 Node.js 伺服器中自動部署 Liberty 伺服器。調整控制器可以將 Liberty 軟體安裝到已登錄的主機上,並建立新的伺服器。此外,調整控制器可以根據資源使用率和選用的調整原則,來啟動或停止已部署的伺服器。可用的伺服器數目會隨應用程式需求的上升而增加,會隨應用程式需求的降低而縮減。
程序
- 完成配置可自動調整的叢集,以具備 JVM 彈性中的步驟。
觀看:配置 Liberty 可自動調整的叢集,以具備 JVM 彈性視訊示範這些步驟。[文字稿]
- 確保現有的動態叢集成員屬於將用在 package_name.deploy.xml 檔(要放入 stackGroups 目錄結構)的叢集名稱。
這個叢集成員必須是 package_name.deploy.xml 檔中定義要部署的相同類型的成員。比方說,如果堆疊是 Docker,則必須有 Liberty Docker 成員。
package_name 是調整控制器將供應給目標主機之伺服器套件的名稱。如需此套件的相關資訊,請參閱步驟 5。
- 選擇性的: 將調整原則新增至調整控制器。請參閱定義調整原則。
- 向調整控制器登錄每一部目標主機。
登錄主機可讓調整控制器將檔案傳送給該主機,以及存取該主機上的檔案、指令和其他資源。使用 registerHost 指令來登錄目標主機。請查看調整控制器的 server.xml 檔,找出 --host、--port、--user 和 --password 參數的值。如果不想使用 SSH 私密金鑰檔,例如針對 Linux 或 Windows 作業系統上的目標主機,請設定 --rpcUser 和 --rpcUserPassword 參數,以便包含作業系統登入使用者和密碼。--rpcUser 指定的使用者對於目標部署位置必須具備作業系統權限。
wlp/bin/collective registerHost targetHost --host=controllerHost --port=controllerHTTPSPort --user=controllerAdmin --password=controllerAdminPassword --rpcUser=osUser --rpcUserPassword=osUserPassword
如果主機已登錄,您可以使用 updateHost 指令來重設登錄資訊。如果目標主機位於控制器主機相同的電腦上,您也必須針對控制器主機執行 updateHost 指令。如需相關資訊,請參閱向 Liberty 群體登錄主機。
- 建立名為 package_name.deploy.xml 的檔案,以配置 DeployService 部署作業的部署規則。
您可以新增名稱/值配對來設定「部署規則」輸入變數的值。
<deploy> <useRule id="rule_ID" /> <variable name="aName" value="aValue" /> ... </deploy>
在 rule_ID 中,指定 Liberty 所提供之部署規則的 id 值,或指定您自己的部署規則的 id 值。 這個 package_name.deploy.xml 檔會放入堆疊群組 packages 目錄中(步驟 7)。
對於變數名稱和值,請使用部署規則中定義的 inputVariables。
如果是 Node.js 伺服器,請參閱使用部署 REST API 來部署 Node.js 伺服器的步驟 2 中關於應用程式 .tgz 內容和位置的相關資訊。
- 在調整控制器的 server.xml 檔中,為群體控制器設定使用者名稱和密碼。
<collectiveController user="adminUser" password="adminPassword" />
- 將 package_name.deploy.xml 檔放在 WLP_STACK_GROUPS_DIR 位置,依預設這是 $WLP_USER_DIR/shared/stackGroups。
調整控制器會監視檔案系統中的預設套件位置,並對更新項目動態做出反應。如果您將此檔案放在預設位置,就不需變更任何預設屬性。
您可以使用預設堆疊群組 defaultStackGroup。或者,您可以建立自己的 stackGroups 子目錄(例如 myStackGroup),並將它新增至 packages 子目錄。
wlp/usr /servers /shared ... /stackGroups /defaultStackGroup /installables /packages /myStackGroup /packages
調整控制器會使用此檔案,在已登錄的主機上建立新的伺服器。
提示: 只有在啟用調整原則,且需要新伺服器時,才會建立新的伺服器。如果要強制調整控制器建立新的伺服器,請針對調整控制器的調整原則,調整 min 值,可能的話也可以調整 max 值。比方說,如果您的調整控制器沒有調整原則,且您的群體有三個調整成員,請在調整控制器的 server.xml 檔中,新增一項原則,來強制調整控制器至少有四個執行中的成員:<scalingDefinitions> <defaultScalingPolicy enabled="true" min="4" max="6"/> </scalingDefinitions>
Liberty 彈性的叢集命名慣例是 StackGroupName.PackageName。當部署堆疊時,會在所部署伺服器的 server.xml 檔中,自動設定 <clusterMember name="StackGroupname.PackageName"。對應的 <scalingPolicy> 元素會包含 <bind clusters="StackGroupName.Packagename"/> 陳述式。不過,Liberty 為 Docker 和 Node.js 提供的部署規則,可讓您將 clusterName 設為任何值。
- 檢查部署變數,針對您的環境依需要來修訂變數。
deployVariable 子元素用來指定替代變數,以注入至所部署的堆疊。您可以指定每次部署堆疊時,替代變數會自動增量。比方說,使用 deployVariable 屬性,來指定起始埠號值,且每次部署時,值就會增量。在這種情況下,deployVariable 的用途是避免目標主機上發生埠衝突。
如使用部署 REST API 來部署 Docker 儲存器的步驟 1c 所述,設定 Docker 映像檔的部署變數。
如使用部署 REST API 來部署 Node.js 伺服器的步驟 3 所述,設定 Node.js 伺服器部署的部署變數。
- 選擇性的: 變更調整控制器檢查檔案系統中是否有堆疊群組新增項目、更新項目和刪除項目的間隔。
調整控制器會掃描 stackGroups 目錄和其子目錄的內容,看看是否有變更。內容變更可能使控制器供應先前沒有可用套件的叢集。更新套件就不會使控制器再次供應現有的叢集。
依預設,控制器每隔 5000 毫秒(5 秒)會掃描一次 WLP_STACK_GROUPS_DIR 位置。如果要變更掃描間隔或停用掃描,請在調整控制器的 server.xml 檔中,為堆疊管理程式的 scanningInterval 和 scanningEnable 屬性設定新值。比方說,如果要將掃描間隔設為 6 秒,並啟用掃描,請在調整控制器的 server.xml 檔中,新增類似如下的陳述式:
<stackManager groupsDir="${wlp.install.dir}/usr/shared/stackGroups/" controllerUser="adminUser" controllerUserPassword="adminPassword" scanningInterval="6000" scanningEnable="true"> </stackManager>
如果要停用掃描,請將 scanningEnable 設為 false。
- 選擇性的: 指示調整控制器掃描檔案系統,以找出新堆疊群組的新增項目、更新項目和刪除項目。
執行 StackManager MBean 作業,強制調整控制器檢查 WLP_STACK_GROUPS_DIR 位置中是否有堆疊群組的新增項目、更新項目和刪除項目。即使調整控制器 server.xml 檔含有 scanningEnable="false",您仍可以執行 StackManager MBean 作業,強制掃描是否有新增項目、更新項目和刪除項目。
如需 StackManager MBean 的相關資訊,請參閱 提供的 MBean 清單。
- 選擇性的: 啟動 IHS,以便能遞送至伺服器。
為了讓 IBM HTTP Server (IHS) 探索和遞送至動態供應叢集上的 Web 應用程式,請在調整控制器所在的主機上啟用動態遞送。IHS 會從動態遞送服務擷取所供應伺服器的相關遞送資訊。如果啟用伺服器狀態,您可以檢視遞送資訊。
如果您沒有安裝 IHS,請參閱設定 Liberty 群體的動態遞送。此外,下列視訊示範如何使用 IBM Installation Manager,來安裝動態遞送支援:
觀看:啟用 IHS 以進行 Liberty 動態遞送視訊顯示如何安裝 IHS、安裝 WebSphere Application Server Web 伺服器外掛程式,以及套用「動態遞送」的臨時修正程式。[文字稿]

檔名:twlp_autoscale_deployxml.html