設定單一 Liberty 群體的動態遞送

您可以配置「動態遞送」特性,一旦環境變更,就逕行將 HTTP 要求遞送至 Liberty 群體的成員,而不必重新產生 WebSphere 外掛程式配置檔。

開始之前

完成設定 Liberty 群體的動態遞送中的產品安裝步驟。

關於這項作業

如果要使用「智慧型管理」將 HTTP 要求遞送至 Liberty 群體,您必須在群體中的一或多部群體控制器上啟用 dynamicRouting-1.0 特性。此特性提供「動態遞送」服務,此服務會從群體儲存庫動態擷取遞送資訊,然後將此資訊交付給 WebSphere® 外掛程式。此特性也提供 dynamicRouting 指令。將 setupgenPluginCfggenKeystore 指令動作一起使用,以產生金鑰儲存庫(在外掛程式與「動態遞送」服務進行安全通訊時需要),以及一個外掛程式配置檔(用於在 WebSphere 外掛程式中啟用「智慧型管理」)。

[17.0.0.1 以及更新版本]遞送規則功能可以將送入 WebSphere 外掛程式的要求,遞送至一組指定的伺服器。此外,還可選擇拒絕或重新導向要求。經由比對送入要求的屬性,就能選擇是否將規則套用至送入的要求。

程序

  1. 請將下列程式碼新增至控制器 server.xml 中的 featureManager 標籤,以便在該控制器中啟用「動態遞送」。
    <feature>dynamicRouting-1.0</feature>
  2. 啟動「動態遞送」特性已啟用的所有控制器。
  3. 在其中一部控制器上執行 dynamicRouting setup 指令,來產生金鑰儲存庫和外掛程式配置檔。例如:
    ./dynamicRouting setup --port=9444 --host=controller1.acme.com --user=admin --password=passw0rd --keystorePassword=webAS --pluginInstallRoot=/opt/HTTPServer_Plugins/ --webServerNames=webserver1
    註: 確保指定的 --user 引數值存在於使用者登錄中,而且已獲指派管理角色。

    如需相關資訊,請參閱「動態遞送」指令

  4. 將產生的 plugin-key.jksplugin-cfg.xml 檔複製到 Web 伺服器主機上的暫存目錄。
  5. 在 Web 伺服器主機上執行 gskcmd(包含在 IHS 套件中),以便將金鑰儲存庫轉換成 CMS 格式,以及將個人憑證設為預設值。CMS 格式是 WebSphere 外掛程式支援的格式。例如:
    gskcmd -keydb -convert -pw webAS -db /tmp/plugin-key.jks -old_format jks -target /tmp/plugin-key.kdb -new_format cms -stash
    gskcmd -cert -setdefault -pw <<password>> -db /tmp/plugin-key.kdb -label default

    若為 z/OS,請參閱在 z/OS 上將金鑰儲存庫轉換成 CMS 格式

  6. gskcmd 建立的 plugin-key.kdbplugin-key.rdbplugin-key.sth 檔,從暫存目錄複製到 --pluginInstallRootargument_value/config/web_server_name/ 目錄。
  7. plugin-cfg.xml 複製到 Web 伺服器 httpd.conf 檔中之 WebSpherePluginConfig 指引所指定的目錄。產生的 plugin-cfg.xml 中含有 <IntelligentManagement> 段落。當群體中啟用「動態遞送」時,每一個群體控制器各有一個 <Connector> 段落。
    例如:
    <IntelligentManagement>
     <Property name="webserverName" value="webServer1"/>
     <ConnectorCluster enabled="true" maxRetries="-1" name="default" retryInterval="60">
      <Property name="uri" value="/ibm/api/dynamicRouting"/>
      <Connector host="controller1.acme.com" port="9444" protocol="https">
      <Property name="keyring" value="/opt/HTTPServer_Plugins/config/webserver1/plugin-key.kdb"/>
     </Connector>
     </ConnectorCluster>
    </IntelligentManagement>
  8. 啟動 Web 伺服器,並開始遞送至安裝在群體中的應用程式。
  9. 選擇性的: <dynamicRouting> 元素新增至控制器 server.xml,以指定動態遞送的內容。

    connectorClusterName 內容指定的名稱可讓動態遞送與群體產生關聯。如果未指定 connectorClusterName 內容,則會使用群體的名稱。retryInterval 內容指定當連接控制器失敗時,重新連線之前的等待時間。 maxRetries 內容指定嘗試重新連接失敗群體控制器的次數。

    例如:
    <dynamicRouting maxRetries="4" retryInterval="20" connectorClusterName="collective1"/>
     <TraceSpecification name="default" specification=":DEBUG"/>
    </dynamicRouting>
    產生的 plugin-cfg.xml 中有 <ConnectorCluster> 內容:
    <IntelligentManagement>
     <TraceSpecification name="default" specification=":DEBUG"/>
      <Property name="webserverName" value="webServer1"/>
      <ConnectorCluster enabled="true" maxRetries="4" name="collective1" retryInterval="20">
      <Property name="uri" value="/ibm/api/dynamicRouting"/>
      <Connector host="controller1.acme.com" port="9444" protocol="https">
      <Property name="keyring" value="/opt/HTTPServer_Plugins/config/webServer1/plugin-key.kdb"/>
      </Connector>
     </ConnectorCluster>
    </IntelligentManagement>
  10. [17.0.0.1 以及更新版本]選用:建立遞送規則,指定如何處理特定的要求。

    遞送規則可以指定:

    • 拒絕特定的要求。
    • 重新導向特定的要求。
    • 容許特定的要求遞送至一部分可用的伺服器。
    • 由一組伺服器失效接手另一組伺服器的特定要求。

    請參閱Liberty 動態遞送的遞送規則配置 Liberty 動態遞送的遞送規則

結果

由於啟用 dynamicRouting-1.0 特性,「智慧型管理」現在可以動態地將 HTTP 要求遞送至 Liberty 群體。


指示主題類型的圖示 作業主題

檔名:twlp_wve_enabledynrout_single.html