21.7 在單部伺服器上部署容器

此範例使用主機網路模式將所有 OpenText Identity Manager 容器部署在單個 Docker 主機上。

21.7.1 先決條件

  • 確定主機名稱採用如下所示的 FQDN 格式:

    <主機 IP> <FQDN> <簡短名稱>

    例如:

    172.120.0.1     identitymanager.example.com      identitymanager
    
  • 必須在部署容器之前產生靜默內容檔案。如需產生靜默內容檔案的詳細資訊,請參閱建立靜默內容檔案。

必須依以下順序部署容器:

21.7.2 部署 OpenText Identity Manager 引擎容器

  1. 產生靜默內容檔案。如需詳細資訊,請參閱建立靜默內容檔案。

  2. 在解壓縮 Identity_Manager_4.10.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.10.0_Containers/docker-images 目錄。

  3. 執行以下指令以載入影像:

    docker load --input IDM_410_identityengine.tar.gz
  4. 使用以下指令部署容器:

    docker run --restart unless-stopped -d --network=host --name=engine-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 identityengine:idm-4.10.0-533
  5. 若要驗證是否已成功部署容器,請執行以下指令來檢查記錄檔案:

    tail -f /data/idm/log/idmconfigure.log
  6. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it engine-container bash

附註:若要執行 ndstrace 或 ndsrepair 等 Identity Vault 公用程式,請以非 root 使用者 nds 的身分登入容器。如果您以 root 使用者身分登入,則無法執行這些公用程式。若要以 nds 使用者身分登入容器,請執行 docker exec -it engine-container sudo nds 指令。

21.7.3 部署遠端載入器容器

  1. 在解壓縮 Identity_Manager_4.10.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.10.0_Containers/docker-images 目錄。

  2. 執行以下指令以載入影像:

    docker load --input IDM_410_remoteloader.tar.gz
  3. 使用以下指令部署容器:

    docker run -d --network=host --name=rl-container -v /data:/config remoteloader:idm-4.10.0-533

    此指令會部署 64 位元和 32 位元版本的遠端載入器。容器的 /opt/novell/eDirectory/lib/dirxml/classes/ 目錄中提供了驅動程式檔案。

  4. (視情況而定) 如果您不想在部署容器時使用組態檔案,請使用以下指令部署容器:

    docker run --restart unless-stopped -d --network=host --name=rl-container -v /data:/config --stop-timeout 100 remoteloader:idm-4.10.0-533
  5. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it rl-container bash

  6. 設定遠端載入器。如需詳細資訊,請參閱《OpenText™ Identity Manager CE 24.4 (v4.10) Driver Administration Guide》(OpenText™ Identity Manager CE 24.4 (v4.10) 驅動程式管理指南) 中的「Configuring the Remote Loader and Drivers」(設定遠端載入器和驅動程式)。

  7. 確定組態檔案在共用磁碟區中可用。

21.7.4 部署擴送代理程式容器

  1. 在解壓縮 Identity_Manager_4.10.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.10.0_Containers/docker-images 目錄。

  2. 執行以下指令以載入影像:

    docker load --input IDM_410_fanoutagent.tar.gz
  3. 使用以下指令部署容器:

    docker run --restart unless-stopped -d --network=host --name=foa-container -v /data:/config --stop-timeout 100 fanoutagent:idm-4.10.0-533
  4. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it foa-container bash

  5. 設定擴送代理程式。如需詳細資訊,請參閱《OpenText Identity Manager Driver for JDBC Fanout Implementation Guide》(OpenText Identity Manager Driver for JDBC Fanout 實作指南) 中的「Configuring the Fanout Agent」(設定擴送代理程式)。

21.7.5 透過 Identity Vault 證書管理中心產生證書

(視情況而定) 僅當您使用 Identity Vault 做為證書管理中心時,本節內容才適用。

以下元件需要您先產生證書才能部署。在為以下元件產生證書之前,請務必先部署 OpenText Identity Manager 引擎和 OpenText Identity Console 容器。

  • OSP

  • Identity Applications

  • Identity Reporting

執行以下步驟來產生證書:

  1. 確定安裝的 Java 是 Azul Zulu 1.8.0_392 或更新版本。

  2. 請務必設定 Java 路徑。例如,執行以下指令:

    export PATH=<java 安裝位置>/bin:$PATH

    例如:

    export PATH=/opt/netiq/common/jre/bin/:$PATH

  3. 產生 PKCS 金鑰儲存區:

    keytool -genkey -alias idm -keyalg RSA -storetype pkcs12 -keystore /data/tomcat.ks -validity 3650 -keysize 2048 -dname "CN=identitymanager.example.com" -keypass <password> -storepass <password>
  4. 產生證書簽署申請:

    keytool -certreq -v -alias idm -file /data/idm.csr -keypass 
    <password> -keystore /data/tomcat.ks -storepass <password>
  5. 產生自行簽署的證書:

    1. 啟動 OpenText Identity Console 並登入。

    2. 導覽至證書管理 > 核發證書。

    3. 瀏覽至在步驟 4 中建立的 .csr 檔案。例如 idm.csr。

    4. 按一下「開啟」。

    5. 在金鑰使用規範下拉式清單中指定金鑰類型。

    6. 在延伸金鑰使用規格下拉式清單中指定延伸金鑰類型。

    7. 對於證書類型,請在基本約束下拉式清單中選取未指定。

    8. 在證書參數下拉式清單中指定證書的有效期。

    9. 在證書格式下拉式清單中選取 二進位 DER 格式的檔案。

    10. 按一下「下一步」。

    11. 按一下確定。

    12. 下載證書並將其複製到 /data 目錄。

  6. 輸出 .der 格式的根證書:

    1. 啟動 OpenText Identity Console 並登入。

    2. 導覽至證書管理 > 伺服器證書管理。

    3. 選取 SSL 證書 DNS 核取方塊並按一下輸出。

    4. 在證書下拉式清單中選取「組織 CA」。

    5. 在輸出格式下拉式清單中選取 DER。

    6. 按一下確定。

    7. 下載證書並將其複製到 /data 目錄。

  7. 將證書輸入至您在步驟 2 中建立的 PKCS 金鑰儲存區中:

    keytool -import -trustcacerts -alias root -keystore /data/tomcat.ks -file /data/cert.der -storepass <password> -noprompt
    keytool -import -alias idm -keystore /data/tomcat.ks -file /data/idm.der -storepass <password> -noprompt

附註:請確定指定為部署輸入的路徑中有金鑰儲存區。

21.7.6 部署 OSP 容器

  1. 產生靜默內容檔案。如需詳細資訊,請參閱建立靜默內容檔案。

  2. 確定 SSO_SERVER_SSL_PORT 內容設定為某個唯一的連接埠。

  3. 在解壓縮 Identity_Manager_4.10.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.10.0_Containers/docker-images 目錄。

  4. 執行以下指令以載入影像:

    docker load --input IDM_410_osp.tar.gz
  5. 使用以下指令部署容器:

    docker run --restart unless-stopped -d --network=host --name=osp-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 osp:idm-4.10.0-533
  6. 若要驗證是否已成功部署容器,請執行以下指令來檢查記錄檔案:

    tail -f /data/osp/log/idmconfigure.log
  7. 使用以下指令來停止容器:

    docker stop osp-container
  8. 執行以下指令來修改 server.xml 檔案中的 Tomcat 關閉連接埠。在下面的範例中,連接埠 8005 將變更為 18005:

    sed -i "s~8005~18005~g" /data/osp/tomcat/conf/server.xml
  9. 使用以下指令啟動 容器:

    docker start osp-container
  10. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it osp-container bash

21.7.7 部署 PostgreSQL 容器

  1. 在解壓縮 Identity_Manager_4.10.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.10.0_Containers/docker-images 目錄。

  2. 執行以下指令以載入影像:

    docker load --input IDM_410_postgres.tar.gz
  3. 在共用磁碟區 data 下建立一個子目錄,例如 postgres。

    mkdir postgres
  4. 使用以下指令部署容器:

    docker run --restart unless-stopped -d --network=host --name=postgresql-container -e POSTGRES_PASSWORD=<password> -v /data/postgres:/var/lib/postgresql/data --stop-timeout 100 postgres:12.18

    例如:

    docker run --restart unless-stopped -d --network=host --name=postgresql-container -e POSTGRES_PASSWORD=novell -v /data/postgres:/var/lib/postgresql/data --stop-timeout 100 postgres:12.18

  5. 建立 Identity Applications 的 idmdamin 使用者。

    docker exec -it postgresql-container psql -U postgres -c "CREATE USER idmadmin WITH ENCRYPTED PASSWORD '<password>'"
  6. 建立 Identity Applications、工作流程和 Identity Reporting 資料庫。

    docker exec -it postgresql-container psql -U postgres -c "CREATE DATABASE idmuserappdb"
    docker exec -it postgresql-container psql -U postgres -c "CREATE DATABASE igaworkflowdb"
    docker exec -it postgresql-container psql -U postgres -c "CREATE DATABASE idmrptdb"

    附註:當您設定 Identity Applications 和 Identity Reporting 容器時,會用到這些資料庫。

  7. 為 idmadmin 使用者授予對資料庫的所有特權:

    docker exec -it postgresql-container psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE idmuserappdb TO idmadmin"
    docker exec -it postgresql-container psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE igaworkflowdb TO idmadmin"
  8. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it postgresql-container bash

21.7.8 部署 Identity Applications 容器

附註:在部署 Identity Applications 容器之前,請務必產生所需的證書。如需詳細資訊,請參閱產生 Identity Applications 的證書。

  1. 使用在 建立靜默內容檔案 區段中產生的靜默內容檔案來部署容器。

    附註:將應用程式伺服器連接埠的值指定為公開的連接埠 18543。

  2. 導覽至 Identity_Manager_4.10.0_Containers.tar.gz 檔案解壓縮到的位置。

  3. 導覽至 docker-images 目錄。

  4. 執行以下指令以載入影像:

    docker load --input IDM_410_identityapplication.tar.gz
  5. 使用以下指令部署容器:

    docker run --restart unless-stopped -d --network=host --name=idapps-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 identityapplication:idm-4.10.0-533
  6. 若要驗證是否已成功部署容器,請執行以下指令來檢查記錄檔案:

    tail -f /data/userapp/log/idmconfigure.log

  7. 執行以下指令以登入該容器:

    docker exec -it <container> <command>

    例如:

    docker exec -it idapps-container bash

  8. 執行以下指令:

    附註:在執行此步驟之前,請確定容器已成功部署。

    /opt/netiq/common/jre/bin/keytool -importkeystore -srckeystore /config/tomcat.ks -srcstorepass <密碼> -destkeystore /opt/netiq/idm/apps/tomcat/conf/idm.jks -deststorepass <密碼>

  9. 輸入 yes 以覆寫 root 別名的項目。

  10. 執行以下指令以結束容器。

    exit

  11. 重新啟動 Identity Applications 容器。

    docker restart idapps-container

附註:若要在組態更新公用程式中修改任何設定,請從 Identity Applications 容器的 /opt/netiq/idm/apps/configupdate/ 目錄啟動 configupdate.sh。只能在主控台模式下啟動組態更新公用程式。

21.7.9 部署表單轉譯器容器

  1. 產生靜默內容檔案。在產生靜默內容檔案時選取 Identity Applications。如需詳細資訊,請參閱建立靜默內容檔案。

  2. 在解壓縮 Identity_Manager_4.10.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.10.0_Containers/docker-images 目錄。

  3. 執行以下指令以載入影像:

    docker load --input IDM_410_formrenderer.tar.gz
  4. 使用以下指令部署容器:

    docker run --restart unless-stopped -d --network=host --name=fr-container -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 formrenderer:idm-4.10.0-533
  5. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it fr-container bash

21.7.10 部署 ActiveMQ 容器

  1. 在解壓縮 Identity_Manager_4.10.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.10.0_Containers/docker-images 目錄。

  2. 執行以下指令以載入影像:

    docker load --input IDM_410_activemq.tar.gz
  3. 使用以下指令部署容器:

    docker run --restart unless-stopped -d --network=host --name=amq-container -v /data:/config --env-file /data/silent.properties --stop-timeout 100 activemq:idm-4.10.0-533
  4. 若要登入容器,請執行以下指令:

    docker exec -it <容器> <指令>

    例如:

    docker exec -it amq-container bash

  5. 設定 ActiveMQ。如需詳細資訊,請參閱《 Identity Manager Driver for JDBC Fanout Implementation Guide》(NetIQ Identity Manager Driver for JDBC Fanout 實作指南) 中的「Setting Up ActiveMQ Startup Service 」(設定 ActiveMQ 啟動服務)。

21.7.11 部署 Identity Reporting 容器

附註:在部署 Identity Reporting 容器之前,請務必產生所需的證書。如需詳細資訊,請參閱產生 Identity Reporting 的證書。

  1. 使用在 建立靜默內容檔案 區段中產生的靜默內容檔案來部署容器。

    附註:將應用程式伺服器連接埠的值指定為公開的連接埠 28543。

  2. 導覽至 Identity_Manager_4.10.0_Containers.tar.gz 檔案解壓縮到的位置。

  3. 導覽至 docker-images 目錄。

  4. 執行以下指令以載入影像:

    docker load --input IDM_410_identityreporting.tar.gz
  5. 使用以下指令部署容器:

    docker run --restart unless-stopped -d --ip=<ip address> --network=host --hostname=<hostname> -p 28543:28543 --name=rpt-container -v /etc/hosts:/etc/hosts -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties --stop-timeout 100 identityreporting:idm-4.10.0-533
  6. 若要驗證是否已成功部署容器,請執行以下指令來檢查記錄檔案:

    tail -f /data/reporting/log/idmconfigure.log
  7. 執行以下指令以登入該容器:

    docker exec -it <container> <command>

    例如:

    docker exec -it rpt-container bash

  8. 執行以下指令:

    附註:在執行此步驟之前,請確定容器已成功部署。

    /opt/netiq/common/jre/bin/keytool -importkeystore -srckeystore /config/tomcat.ks -srcstorepass <password> -destkeystore /opt/netiq/idm/apps/tomcat/conf/idm.jks -deststorepass <password>
  9. 輸入 yes 以覆寫 root 別名的項目。

  10. 執行以下指令以結束容器。

    exit

  11. 重新啟動 Identity Reporting 容器。

    docker restart rpt-container

21.7.12 部署 SSPR 容器

部署 SSPR 容器需要執行的任務如下:

  1. 產生 SSPR 的靜默內容檔案。如需詳細資訊,請參閱建立靜默內容檔案。

  2. 在共用磁碟區 data 下建立一個子目錄,例如 sspr。

    mkdir sspr

  3. 在解壓縮 Identity_Manager_4.10.0_Containers.tar.gz 檔案的位置,導覽至 Identity_Manager_4.10.0_Containers/docker-images 目錄。

  4. 執行以下指令以載入影像:

    docker load --input IDM_410_sspr.tar.gz

  5. 使用以下範例指令部署容器:

    docker run --restart unless-stopped -d --network=host --name=sspr-container -v /data/sspr:/config --stop-timeout 100 sspr/sspr-webapp:4.8.0.1-533
  6. 在 Docker 主機上執行以下指令,以將 Docker 主機中的 silent.properties 檔案複製到 SSPR 容器:

    docker cp /data/silent.properties sspr-container:/tmp

  7. 將靜默內容檔案載入到 SSPR 容器。

    docker exec -it sspr-container /app/command.sh ImportPropertyConfig /tmp/silent.properties

    附註:檢查是否在 SSPR 容器的 /config 目錄下建立了 SSPRConfiguration.xml,並驗證該檔案的內容。

  8. 將 OAuth 證書輸入至 SSPR 中:

    1. 在 Docker 主機上編輯 /data/sspr/ 目錄中的 SSPRConfiguration.xml 檔案,將 configIsEditable 旗標的值設定為 true 並儲存變更。

    2. 啟動瀏覽器並輸入 https://identitymanager.example.com:8443/sspr URL。

    3. 使用管理員身分證明 (例如 uaadmin) 登入。

    4. 按一下右上角的使用者 (例如 uaadmin),然後按一下組態編輯器。

    5. 指定組態密碼,然後按一下登入。

    6. 按一下設定 > 單一登入 (SSO) 用戶端 > OAuth,確定所有 URL 都使用 HTTPS 通訊協定和正確的連接埠。

    7. 在 OAuth 伺服器證書下,按一下從伺服器輸入以輸入新證書,然後按一下確定。

    8. 按一下右上角的 以儲存證書。

    9. 檢視變更並按一下確定。

    10. SSPR 應用程式重新啟動之後,編輯 SSPRConfiguration.xml 檔案,將 configIsEditable 旗標的值設定為 true 並儲存變更。

21.7.13 部署 OpenText Identity Console 容器