8.6 在分布式服务器上部署容器

NetIQ 建议您为 Identity Manager 引擎容器使用主机网络模式,为所有其他 Identity Manager 容器使用覆盖网络。在本指南使用的示例中,我们将在 Docker 主机 A 上部署 Identity Manager 容器,在 Docker 主机 B 上部署其他 Identity Manager 容器。

设置覆盖网络需要执行的步骤如下:

  1. 在 Docker 主机 A 上运行以下命令:

    docker run -d -p <主机端口>:8500 -h consul --name <容器名称> progrium/consul -server -bootstrap

    例如:

    docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap

  2. 在 Docker 主机 B 上编辑 /etc/sysconfig/ 目录中的 docker 文件,并添加下面一行:

    DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-advertise <主服务器网络接口>:2375 --cluster-store consul://<Docker 主机 A IP 地址>:<Docker 主机 A 端口>"

    例如:

    DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-advertise eth0:2375 --cluster-store consul://172.120.0.1:8500"

  3. 在 Docker 主机 B 上重启动 Docker 服务:

    systemctl restart docker

  4. 在 Docker 主机 B 中,运行以下命令检查 Docker 主机 B 是否已添加到群集中:

    docker info

    示例输出将如下所示:

    Cluster store: consul://<Docker 主机 A IP 地址>:8500

    Cluster advertise: <Docker 主机 B IP 地址>:2375

  5. 在 Docker 主机 B 上创建覆盖网络:

    docker network create -d overlay --subnet=<代表网段并采用 CID 格式的子网> --gateway=<ipv4 网关> <覆盖网络的名称>

    例如:

    docker network create -d overlay --subnet=192.168.0.0/24 --gateway=192.168.0.1 idmoverlaynetwork

  6. 运行以下命令校验是否已创建覆盖网络:

    docker network ls

8.6.1 先决条件

  • 对于 Docker 部署中的所有 Docker 主机,必须使用主机上运行的所有容器的细节来更新该主机的 /etc/hosts 文件。确保所有容器的主机名仅采用完全限定的域名 (FQDN) 格式。

    所有组件的主机文件项可采用以下格式:

    <容器的 IP> <FQDN> <简称>

    在本指南使用的示例部署中,于 /etc/hosts 文件中添加以下几项:

    172.120.0.1     identityengine.example.com       identityengine
    192.168.0.2     remoteloader.example.com         remoteloader
    192.168.0.3     fanoutagent.example.com          fanoutagent
    192.168.0.4     imanager.example.com             imanager
    192.168.0.5     osp.example.com                  osp
    192.168.0.6     postgresql.example.com           postgresql
    192.168.0.7     identityapps.example.com         identityapps
    192.168.0.8     formrenderer.example.com         formrenderer
    192.168.0.9     activemq.example.com             activemq
    192.168.0.10    identityreporting.example.com    identityreporting   
    192.168.0.11    sspr.example.com                 sspr
  • 确保第三方 jar 文件为已装入的卷,这样每次启动容器时这些文件才可用。例如,如果容器的 /opt/netiq/idm/apps/tomcat/lib 目录中存在 ojdbc.jar,则您必须使用如下示例命令对 jar 文件进行卷装入操作:

    -v /host/ojdbc.jar:/opt/netiq/idm/apps/tomcat/lib/ojdbc.jar

  • 必须在部署容器之前生成无提示属性文件。有关生成无提示属性文件的详细信息,请参见创建无提示属性文件

8.6.2 公开容器访问的端口

作为先决条件,您必须知道要用于容器的端口。您必须公开所需的端口,并将容器端口映射到 Docker 主机上的端口。下表根据指南中的示例提供了您必须在 Docker 主机上公开的端口的信息。

容器

假定根据示例部署使用的默认端口

Remote Loader

8090

扇出代理

不适用

iManager

8743

OSP

8543

Identity Applications

18543

Identity Reporting

28543

表单渲染器

8600

ActiveMQ

  • 8161

  • 61616

PostgreSQL

5432

SSPR

8443

注:SSRP 容器仅可在 8443 端口上运行。

不过,您可以根据自己的需要自定义端口。在公开端口时,请遵循以下注意事项:

  • 确保您要公开的并非使用中的端口。

  • 必须将容器端口映射到 Docker 主机上的相同端口。例如,必须将容器上的 8543 端口映射到 Docker 主机上的 8543 端口。

必须按以下顺序部署容器:

8.6.3 部署 Identity Manager 引擎容器

  1. 生成无提示属性文件。有关详细信息,请参见创建无提示属性文件

  2. 在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_48_identityengine.tar.gz

  4. 使用以下命令部署容器:

    docker run -d --network=host --name=engine-container -v /etc/hosts:/etc/hosts -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties identityengine:idm-4.8.0

  5. 要校验是否已成功部署容器,请运行以下命令检查日志文件:

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

  6. 要登录容器,请运行以下命令:

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

    例如,

    docker exec -it engine-container bash

注:要运行 ndstracendsrepair 等身份库实用程序,请以非 root 用户 nds 的身份登录到容器。如果您以 root 用户身份登录,则无法运行这些实用程序。要以 nds 用户身份登录到容器,请运行 docker exec -it engine-container sudo nds 命令。

8.6.4 部署 Remote Loader 容器

  1. 在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。

  2. 运行以下命令装载映像:

    docker load --input IDM_48_remoteloader.tar.gz

  3. 使用以下命令部署容器:

    docker run -d --ip=192.168.0.2 --network=idmoverlaynetwork --hostname=remoteloader.example.com -p 8090:8090 --name=rl-container -v /etc/hosts:/etc/hosts -v /data:/config remoteloader:idm-4.8.0

    此命令会部署 64 位和 32 位版本的 Remote Loader。容器的 /opt/novell/eDirectory/lib/dirxml/classes/ 目录中提供了驱动程序文件。

  4. 要登录容器,请运行以下命令:

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

    例如,

    docker exec -it rl-container bash

  5. 配置 Remote Loader。有关详细信息,请参见《NetIQ Identity Manager Driver Administration Guide》(NetIQ Identity Manager 驱动程序管理指南)中的“Configuring the Remote Loader and Drivers”(配置 Remote Loader 和驱动程序)。

8.6.5 部署扇出代理容器

  1. 在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。

  2. 运行以下命令装载映像:

    docker load --input IDM_48_fanoutagent.tar.gz

  3. 使用以下命令部署容器:

    docker run -d --ip=192.168.0.3 --network=idmoverlaynetwork --hostname=fanoutagent.example.com --name=foa-container -v /etc/hosts:/etc/hosts -v /data:/config fanoutagent:idm-4.8.0

  4. 要登录容器,请运行以下命令:

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

    例如,

    docker exec -it foa-container bash

  5. 配置扇出代理。有关详细信息,请参见《NetIQ Identity Manager Driver for JDBC Fanout Implementation Guide》(NetIQ Identity Manager Driver for JDBC Fanout 实施指南)中的“Configuring the Fanout Agent”(配置扇出代理)。

8.6.6 部署 iManager 容器

  1. 在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。

  2. 运行以下命令装载映像:

    docker load --input IDM_48_iManager320.tar

  3. 使用符合您环境要求的所需配置创建 .env 文件。例如,在 /data 目录中创建 iManager.env

    # Certificate Public Key Algorithm
    # Allowed Values: RSA, ECDSA256, ECDSA384
    CERTIFICATE_ALGORITHM=RSA
    # Cipher Suite
    # Allowed Values:
    # For RSA - NONE, LOW, MEDIUM HIGH
    # For ECDSA256 - SUITEB128ONLY
    # For ECDSA384 - SUITEB128, SUITEB192
    CIPHER_SUITE=NONE
    # Tomcat Server HTTP Port
    TOMCAT_HTTP_PORT=8080
    # Tomcat Server SSL Port
    TOMCAT_SSL_PORT=8743
    # iManager Authorized User (admin_name.container_name.tree_name)
    AUTHORIZED_USER=
  4. 在共享卷 data 下创建一个子目录,例如 iManager

  5. 使用以下命令部署容器:

    docker run -d --ip=192.168.0.4 --name=iman-container --network=idmoverlaynetwork --hostname=imanager.example.com -v /etc/hosts:/etc/hosts -v /data:/config -v /data/iManager.env:/etc/opt/novell/iManager/conf/iManager.env -p 8743:8743 imanager:3.2.0

  6. 要安装 Identity Manager 插件,请执行以下步骤:

    1. 登录到 iManager。

      https://imanager.example.com:8743/nps/

    2. 单击配置

    3. 依次单击插件安装可用的 NetIQ 插件模块

    4. NetIQ 插件模块列表中选择所有插件,然后单击安装

    要脱机获取插件,请执行以下步骤:

    1. 从 NetIQ 下载网站下载 Identity_Manager_4.8_Linux.iso

    2. 装入下载的 .iso

    3. 从装入位置导航到 /iManager/plugins 目录,然后获取所需插件。

    您也可以从 iManager 插件网站上安装插件。

  7. 重启动 iManager 容器。

    docker restart iman-container

  8. 要登录容器,请运行以下命令:

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

    例如,

    docker exec -it iman-container bash

有关部署 iManager 容器的详细信息,请参见《NetIQ iManager Installation Guide》(NetIQ iManager 安装指南)中的“Deploying iManager Using Docker Container”(使用 Docker 容器部署 iManager)。

8.6.7 通过身份库证书颁发机构生成证书

(视情况而定)仅当您使用身份库作为证书颁发机构时,本节内容才适用。

下列组件需要您先生成证书才能部署。在为下列组件生成证书前,请务必先部署 Identity Manager 引擎iManager 容器。

生成 OSP 的证书

生成证书需要执行的步骤如下:

  1. 登录到 iManager 容器。

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

    例如,

    docker exec -it iman-container bash

  2. 请务必设置 Java 路径。例如,运行以下命令:

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

    例如,

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

    注:确保安装的 Java 版本是 Azul Zulu 1.80_222 或更高版本。

  3. 生成 PKCS 密钥存储区:

    keytool -genkey -alias osp -keyalg RSA -storetype pkcs12 -keystore /config/tomcat-osp.ks -validity 3650 -keysize 2048 -dname "CN=osp.example.com" -keypass <口令> -storepass <口令>

  4. 生成证书签名请求:

    keytool -certreq -v -alias osp -file /config/osp.csr -keypass <口令> -keystore /config/tomcat-osp.ks -storepass <口令>

  5. 生成自我签名证书:

    1. 在 Docker 主机上起动 iManager 并以管理员身份登录。

    2. 导航到角色和任务 > NetIQ 证书服务器 > 颁发证书

    3. 浏览到在步骤 3 中创建的 .csr 文件。例如 osp.csr

    4. 单击下一步

    5. 指定密钥用法,然后单击下一步

    6. 对于证书类型,请选择未指定

    7. 单击下一步

    8. 指定证书的有效期,然后单击下一步

    9. 选中二进制 DER 格式的文件单选按钮。

    10. 单击下一步

    11. 单击完成

    12. 下载证书并将其复制到 /data 目录。

  6. 导出 .der 格式的根证书:

    1. 在 Docker 主机上起动 iManager 并以管理员身份登录。

    2. 导航到角色和任务 > NetIQ 证书访问 > 服务器证书

    3. 选中 SSL 证书 DNS 复选框并单击导出

    4. 证书下拉列表中选择“组织 CA”。

    5. 导出格式下拉列表中选择 DER

    6. 单击下一步

    7. 下载证书并将其复制到 /data 目录。

  7. 将证书导入到您在步骤 2 中创建的 PKCS 密钥存储区中:

    keytool -import -trustcacerts -alias root -keystore /config/tomcat-osp.ks -file /config/cert.der -storepass <口令> -noprompt

    keytool -import -alias osp -keystore /config/tomcat-osp.ks -file /config/osp.der -storepass <口令> -noprompt

注:请确保指定为部署输入的路径中有密钥存储区。

生成 Identity Applications 的证书

生成证书需要执行的步骤如下:

  1. 登录到 iManager 容器。

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

    例如,

    docker exec -it iman-container bash

  2. 请务必设置 Java 路径。例如,运行以下命令:

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

    例如,

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

    注:确保安装的 Java 版本是 Azul Zulu 1.80_222 或更高版本。

  3. 生成 PKCS 密钥存储区:

    keytool -genkey -alias ua -keyalg RSA -storetype pkcs12 -keystore /config/tomcat-ua.ks -validity 3650 -keysize 2048 -dname "CN=identityapps.example.com" -keypass <口令> -storepass <口令>

  4. 生成证书签名请求:

    keytool -certreq -v -alias ua -file /config/ua.csr -keypass <口令> -keystore /config/tomcat-ua.ks -storepass <口令>

  5. 生成自我签名证书:

    1. 以管理员身份登录 iManager。

    2. 导航到角色和任务 > NetIQ 证书服务器 > 颁发证书

    3. 浏览到在步骤 3 中创建的 .csr 文件。例如 ua.csr

    4. 单击下一步

    5. 指定密钥用法,然后单击下一步

    6. 对于证书类型,请选择未指定

    7. 单击下一步

    8. 指定证书的有效期,然后单击下一步

    9. 选中二进制 DER 格式的文件单选按钮。

    10. 单击下一步

    11. 单击完成

    12. 下载证书并将其复制到 /data 目录。

  6. 导出 .der 格式的根证书:

    1. 以管理员身份登录 iManager。

    2. 导航到角色和任务 > NetIQ 证书访问 > 服务器证书

    3. 选中 SSL 证书 DNS 复选框并单击导出

    4. 证书下拉列表中选择“组织 CA”。

    5. 在“导出格式”下拉列表中选择 DER

    6. 单击下一步

    7. 下载证书并将其复制到 /data 目录。

  7. 将证书导入到步骤 2 中的 PKCS 密钥存储区:

    keytool -import -trustcacerts -alias root -keystore /config/tomcat-ua.ks -file /config/cert.der -storepass <口令> -noprompt

    keytool -import -alias ua -keystore /config/tomcat-ua.ks -file /config/ua.der -storepass <口令> -noprompt

注:请确保指定为部署输入的路径中有证书。

生成 Identity Reporting 的证书

生成证书需要执行的步骤如下:

  1. 登录到 iManager 容器。

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

    例如,

    docker exec -it iman-container bash

  2. 请务必设置 Java 路径。例如,运行以下命令:

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

    例如,

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

    注:确保安装的 Java 版本是 Azul Zulu 1.80_222 或更高版本。

  3. 生成 PKCS 密钥存储区:

    keytool -genkey -alias rpt -keyalg RSA -storetype pkcs12 -keystore /config/tomcat-rpt.ks -validity 3650 -keysize 2048 -dname "CN=identityreporting.example.com" -keypass <口令> -storepass <口令>

  4. 生成证书签名请求:

    keytool -certreq -v -alias rpt -file /config/rpt.csr -keypass <口令> -keystore /config/tomcat-rpt.ks -storepass <口令>

  5. 生成自我签名证书:

    1. 以管理员身份登录 iManager。

    2. 导航到角色和任务 > NetIQ 证书服务器 > 颁发证书

    3. 浏览到在步骤 3 中创建的 .csr 文件。例如 rpt.csr

    4. 单击下一步

    5. 指定密钥用法,然后单击下一步

    6. 对于证书类型,请选择未指定

    7. 单击下一步

    8. 指定证书的有效期,然后单击下一步

    9. 选中二进制 DER 格式的文件单选按钮。

    10. 单击下一步

    11. 单击完成

    12. 下载证书并将其复制到 /data 目录。

  6. 导出 .der 格式的根证书:

    1. 以管理员身份登录 iManager。

    2. 导航到角色和任务 > NetIQ 证书访问 > 服务器证书

    3. 选中 SSL 证书 DNS 复选框并单击导出

    4. 证书下拉列表中选择“组织 CA”。

    5. 在“导出格式”下拉列表中选择 DER

    6. 单击下一步

    7. 下载证书并将其复制到 /data 目录。

  7. 将证书导入到您在步骤 2 中创建的 PKCS 密钥存储区中:

    keytool -import -trustcacerts -alias root -keystore /config/tomcat-rpt.ks -file /config/cert.der -storepass <口令> -noprompt

    keytool -import -alias rpt -keystore /config/tomcat-rpt.ks -file /config/rpt.der -storepass <口令> -noprompt

注:请确保指定为部署输入的路径中有证书。

8.6.8 部署 OSP 容器

注:在部署 OSP 容器之前,请务必生成所需的证书。有关详细信息,请参见生成 OSP 的证书

  1. 生成无提示属性文件。有关详细信息,请参见创建无提示属性文件

  2. 在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_48_osp.tar.gz

  4. 使用以下命令部署容器:

    docker run -d --ip=192.168.0.5 --network=idmoverlaynetwork --hostname=osp.example.com -p 8543:8543 --name=osp-container -v /etc/hosts:/etc/hosts -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties osp:idm-4.8.0

  5. 要校验是否已成功部署容器,请运行以下命令检查日志文件:

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

  6. 要登录容器,请运行以下命令:

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

    例如,

    docker exec -it osp-container bash

8.6.9 部署 PostgreSQL 容器

  1. 在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。

  2. 运行以下命令装载映像:

    docker load --input IDM_48_postgres.tar.gz

  3. 在共享卷 data 下创建一个子目录,例如 postgres

    mkdir postgres

  4. 使用以下示例命令部署容器:

    docker run -d --ip=192.168.0.6 --network=idmoverlaynetwork --hostname=postgresql.example.com --name=postgresql-container -p 5432:5432 -e POSTGRES_PASSWORD=<口令> -v /data/postgres:/var/lib/postgresql/data -v /etc/hosts:/etc/hosts -v /data:/config postgres:9.6.12-alpine

    例如,

    docker run -d --ip=192.168.0.6 --network=idmoverlaynetwork --hostname=postgresql.example.com --name=postgresql-container -p 5432:5432 -e POSTGRES_PASSWORD=novell -v /data/postgres:/var/lib/postgresql/data -v /etc/hosts:/etc/hosts -v /data:/config postgres:9.6.12-alpine

  5. 创建 Identity Applications 的 idmdamin 用户。

    docker exec -it postgresql-container psql -U postgres -c "CREATE USER idmadmin WITH ENCRYPTED 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

8.6.10 部署 Identity Applications 容器

注:在部署 Identity Applications 容器之前,请务必生成所需的证书。有关详细信息,请参见生成 Identity Applications 的证书

  1. 生成无提示属性文件。有关详细信息,请参见创建无提示属性文件

    注:将应用程序服务器端口的值指定为公开的端口 18543。

  2. 在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_48_identityapplication.tar.gz

  4. 使用以下命令部署容器:

    docker run -d --ip=192.168.0.7 --network=idmoverlaynetwork --hostname=identityapps.example.com -p 18543:18543 --name=idapps-container -v /etc/hosts:/etc/hosts -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties identityapplication:idm-4.8.0

  5. 要校验是否已成功部署容器,请运行以下命令检查日志文件:

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

  6. 要登录容器,请运行以下命令:

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

    例如,

    docker exec -it idapps-container bash

  7. 运行以下命令:

    注:在执行此步骤之前,请确保容器已成功部署。

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

  8. 键入 yes 以覆盖 root 别名的项。

  9. 重启动 Identity Applications 容器。

    docker restart idapps-container

注:要在配置更新实用程序中修改任何设置,请从 Identity Applications 容器的 /opt/netiq/idm/apps/configupdate/ 目录起动 configupdate.sh。配置更新实用程序只能在控制台模式下起动。

8.6.11 部署表单渲染器容器

  1. 生成无提示属性文件。有关详细信息,请参见创建无提示属性文件

  2. 在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_48_formrenderer.tar.gz

  4. 使用以下命令部署容器:

    docker run -d --ip=192.168.0.8 --network=idmoverlaynetwork --hostname=formrenderer.example.com -p 8600:8600 --name=fr-container -v /etc/hosts:/etc/hosts -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties formrenderer:idm-4.8.0

  5. 要登录容器,请运行以下命令:

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

    例如,

    docker exec -it fr-container bash

8.6.12 部署 ActiveMQ 容器

  1. 生成无提示属性文件。有关详细信息,请参见创建无提示属性文件

  2. 在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_48_activemq.tar.gz

  4. 使用以下命令部署容器:

    docker run -d --ip=192.168.0.9 --network=idmoverlaynetwork --hostname=activemq.example.com -p 8161:8161 -p 61616:61616 --name=amq-container -v /etc/hosts:/etc/hosts -v /data:/config --env-file /data/silent.properties activemq:idm-4.8.0

  5. 要登录容器,请运行以下命令:

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

    例如,

    docker exec -it amq-container bash

  6. 配置 ActiveMQ。有关详细信息,请参见《NetIQ Identity Manager Driver for JDBC Fanout Implementation Guide》(NetIQ Identity Manager Driver for JDBC Fanout 实施指南)中的“Setting Up ActiveMQ Startup Service ”(设置 ActiveMQ 启动服务)。

8.6.13 部署 Identity Reporting 容器

注:在部署 Identity Reporting 容器之前,请务必生成所需的证书。有关详细信息,请参见生成 Identity Reporting 的证书

  1. 生成无提示属性文件。有关详细信息,请参见创建无提示属性文件

    注:将应用程序服务器端口的值指定为公开的端口 28543。

  2. 在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。

  3. 运行以下命令装载映像:

    docker load --input IDM_48_identityreporting.tar.gz

  4. 使用以下命令部署容器:

    docker run -d --ip=192.168.0.10 --network=idmoverlaynetwork --hostname=identityreporting.example.com -p 28543:28543 --name=rpt-container -v /etc/hosts:/etc/hosts -v /data:/config -e SILENT_INSTALL_FILE=/config/silent.properties identityreporting:idm-4.8.0

  5. 要校验是否已成功部署容器,请运行以下命令检查日志文件:

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

  6. 要登录容器,请运行以下命令:

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

    例如,

    docker exec -it rpt-container bash

  7. 运行以下命令:

    注:在执行此步骤之前,请确保容器已成功部署。

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

  8. 键入 yes 以覆盖 root 别名的项。

  9. 重启动 Identity Reporting 容器。

    docker restart rpt-container

8.6.14 部署 SSPR 容器

部署 SSPR 容器需要执行的任务如下:

  1. 生成 SSPR 的无提示属性文件。在生成无提示属性文件时选择 Identity Applications。有关更多信息,请参见创建无提示属性文件

  2. 在共享卷 data 下创建一个子目录,例如 sspr

    mkdir sspr

  3. 在解压缩 Identity_Manager_4.8_Containers.tar.gz 文件的位置,导航到 Identity_Manager_4.8_Containers 目录。

  4. 运行以下命令装载映像:

    docker load --input IDM_48_sspr.tar.gz

  5. 使用以下示例命令部署容器:

    docker run -d --ip=192.168.0.11 --network=idmoverlaynetwork --hostname=sspr.example.com --name=sspr-container -v /etc/hosts:/etc/hosts -v /data/sspr:/config -p 8443:8443 sspr/sspr-webapp:latest

  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://sspr.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 并保存更改。