在 IBM Bluemix 上使用针对 IBM Containers 的脚本设置 MobileFirst Server

improve this page | report issue

概述

遵循以下指示信息在 IBM Bluemix 上配置 MobileFirst Server 实例和 MobileFirst Analytics 实例。 为此您需要完成以下步骤:

  • 使用所需工具(Cloud Foundry CLI、Docker 和 IBM Containers Extension (cf ic) 插件)设置主计算机
  • 设置 Bluemix 帐户
  • 构建 MobileFirst Server 映像并将其推送到 Bluemix 存储库。

最后,将在 IBM Containers 上运行映像作为单个容器或者作为一个容器组,注册应用程序和部署适配器。

注:

  • 当前不支持在 Windows 操作系统上运行这些脚本。
  • MobileFirst Server 配置工具不能用于部署到 IBM Container。

跳转至:

在 Bluemix 上注册帐户

如果还没有帐户,请访问 Bluemix Web 站点,然后单击免费开始使用注册。 您需要填写注册表单,然后才能进入下一步。

Bluemix 仪表板

在登录 Bluemix 后,会显示 Bluemix 仪表板,其中提供了活动的 Bluemix 空间的概述。 缺省情况下,此工作区命名为“dev”。 如果需要,您可以创建多个工作区/空间。

设置主机

要管理容器和映像,您需要安装以下工具:Docker、Cloud Foundry CLI 和 IBM Containers (cf ic) 插件。

Docker

转至左侧菜单上的 Docker 文档,选择安装 → Docker Engine、选择操作系统类型,遵循安装 Docker Toolbox 的指示信息进行操作。

注:IBM 不支持 Docker 的 Kitematic。

在 macOS 中提供了两个选项用于运行 Docker 命令:

  • 在 macOS Terminal.app 中:无需其他设置。 您只能在其中进行操作。
  • 在 Docker 快速启动终端中:如下所示进行操作。

  • 运行以下命令:

    docker-machine env default
    
  • 将结果设置为环境变量,例如:

    $ docker-machine env default
    export DOCKER_TLS_VERIFY="1"
    export DOCKER_HOST="tcp://192.168.99.101:2376"
    export DOCKER_CERT_PATH="/Users/mary/.docker/machine/machines/default"
    export DOCKER_MACHINE_NAME="default"
    

有关更多信息,请查询 Docker 文档。

Cloud Foundry 插件和 IBM Containers 插件

  1. 安装 Cloud Foundry CLI
  2. 安装 IBM Containers Plugin (cf ic)

下载 ibm-mfpf-container-8.0.0.0 归档

要对 IBM Containers 设置 Mobile Foundation,必须首先创建一个映像,稍后将其推送至 Bluemix。
遵循本页面上的指示信息下载 IBM Containers 归档的 MobileFirst Server(.zip 文件,搜索:CNBL0EN)。

此归档文件包含用于构建映像的文件(dependenciesmfpf-libs),用于构建和部署 MobileFirst Analytics Container 的文件 (mfpf-analytics) 以及用于配置 MobileFirst Server Container 的文件 (mfpf-server)。

显示归档文件的文件系统结构的图像

dependencies 文件夹

包含 Mobile Foundation 运行时和 IBM Java JRE 8。

mfpf-libs 文件夹

包含 MobileFirst 产品组件库和 CLI。

mfpf-server 和 mfpf-analytics 文件夹

  • Dockerfile:包含构建映像所需的所有命令的文本文档。
  • scripts 文件夹:此文件夹包含 args 文件夹,其中包含一组配置文件。 它还包含登录 Bluemix、构建 MobileFirst Server/MobileFirst Analytics 映像和在 Bluemix 上推送与运行此映像时需要运行的脚本。 您可以选择以交互方式运行这些脚本,或者通过对配置文件进行预配置的方式来运行脚本(如后文所述)。 除可定制的 args/*.properties 文件外,请勿修改该文件夹中的任何元素。 要获取脚本用法帮助,请使用 -h--help 命令行参数(例如,scriptname.sh --help)。
  • usr 文件夹:
    • bin 文件夹:包含将在容器启动时执行的脚本文件。 您可以添加自己的定制代码以执行这些代码。
    • config 文件夹:包含 MobileFirst Server/MobileFirst Analytics 所使用的服务器配置片段(密钥库、服务器属性、用户注册表)。
    • keystore.xml - 用于 SSL 加密的安全证书存储库的配置。 必须在 ./usr/security 文件夹中引用列出的文件。
    • mfpfproperties.xml - MobileFirst Server 和 MobileFirst Analytics 的配置属性。 请参阅以下文档主题中列出的受支持属性:
    • registry.xml - 用户注册表配置。 basicRegistry - 将基于 XML 的基本用户注册表配置作为缺省值提供。 可以为 basicRegistry 配置用户名和密码,或者也可以配置 ldapRegistry。
  • env 文件夹:包含用于服务器初始化 (server.env) 和定制 JVM 选项 (jvm.options) 的环境属性。

  • 属性 缺省值 描述
    MFPF_SERVER_HTTPPORT 9080* 用于客户机 HTTP 请求的端口。 使用 -1 来禁用此端口。
    MFPF_SERVER_HTTPSPORT 9443* 通过 SSL (HTTPS) 保护的客户机 HTTP 请求所使用的端口。 使用 -1 来禁用此端口。
    MFPF_CLUSTER_MODE Standalone 无需配置。 有效值为 StandaloneFarm。 当容器作为容器组运行时,将自动设置 Farm 值。
    MFPF_ADMIN_ROOT mfpadmin MobileFirst Server Administration Services 在其中可用的上下文根。
    MFPF_CONSOLE_ROOT mfpconsole MobileFirst Operations Console 在其中可用的上下文根。
    MFPF_ADMIN_GROUP mfpadmingroup 已分配预定义角色 mfpadmin 的用户组的名称。
    MFPF_DEPLOYER_GROUP mfpdeployergroup 已分配预定义角色 mfpdeployer 的用户组的名称。
    MFPF_MONITOR_GROUP mfpmonitorgroup 已分配预定义角色 mfpmonitor 的用户组的名称。
    MFPF_OPERATOR_GROUP mfpoperatorgroup 已分配预定义角色 mfpoperator 的用户组的名称。
    MFPF_SERVER_ADMIN_USER WorklightRESTUser MobileFirst Server Administration Services 的 Liberty 服务器管理员用户。
    MFPF_SERVER_ADMIN_PASSWORD mfpadmin。 确保在部署到生产环境之前将缺省值更改为专用密码。 MobileFirst Server Administration Services 的 Liberty 服务器管理员用户的密码。
    MFPF_ADMIN_USER admin MobileFirst Server 操作的管理员角色的用户名。
    MFPF_ADMIN_PASSWORD admin MobileFirst Server 操作的管理员角色的密码。

    属性 缺省值 描述
    ANALYTICS_SERVER_HTTP PORT 9080* 用于客户机 HTTP 请求的端口。 使用 -1 来禁用此端口。
    ANALYTICS_SERVER_HTTPS PORT 9443* 用于客户机 HTTP 请求的端口。 使用 -1 来禁用此端口。
    ANALYTICS_ADMIN_GROUP analyticsadmingroup 具有预定义角色 worklightadmin 的用户组的名称。

    </li>
  • jre-security 文件夹:您可以通过将 JRE 安全相关文件(信任库、策略 JAR 文件等)放置在本文件夹中来更新这些文件。 将此文件夹中的文件复制到容器中的 JAVA_HOME/jre/lib/security/ 文件夹。
  • security 文件夹:用于存储密钥存储库、信任库和 LTPA 密钥文件 (ltpa.keys)。
  • ssh 文件夹:用于存储 SSH 公用密钥文件 (id_rsa.pub),此文件用于启用针对容器的 SSH 访问权。
  • wxs 文件夹(仅适用于 MobileFirst Server):使用数据高速缓存作为服务器的属性存储时,此文件夹包含数据高速缓存/ 超大规模的客户机库。

先决条件

在下一节中您将运行 IBM Containers 命令,因此以下步骤为强制性步骤。

  1. 登录 IBM Bluemix 环境。

    运行:cf login
    出现提示时,输入以下信息:

    • Bluemix API 端点
    • 电子邮件
    • 密码
    • 组织(如果拥有多个组织)
    • 空间(如果拥有多个空间)
  2. 要运行 IBM Containers 命令,必须首先登录 IBM Container 云服务。
    运行:cf ic login

  3. 确保已设置容器注册表的 namespacenamespace 是用于识别 Bluemix 注册表上您的专用存储库的唯一名称。 仅限针对每个组织指定一次名称空间,名称空间无法更改。 根据以下规则选择名称空间:

    • 只能包含小写字母、数字或下划线。
    • 名称可以为 4 到 30 个字符。 如果计划从命令行管理容器,那么您可能倾向于使用能够快速输入的简短名称空间。
    • 必须在 Bluemix 注册表中唯一。

    要设置名称空间,请运行命令:cf ic namespace set <new_name>.
    要获取已设置的名称空间,请运行命令:cf ic namespace get

要了解有关 IC 命令的更多信息,请使用 ic help 命令。

在 IBM Containers 上设置 MobileFirst、分析服务器和 Application Center

如上文所述,您可以选择以交互方式运行这些脚本,或者通过使用配置文件来运行脚本:

  • 使用配置文件 - 运行脚本并传递相应的配置文件作为自变量。
  • 以交互方式 - 运行脚本,不使用任何自变量。

注:如果选择以交互方式运行脚本,可以跳过配置,但是强烈建议至少查看并了解一下您将需要提供的自变量。

MobileFirst Application Center

如果您打算使用 MobileFirst Application Center,请从此处开始。

注:可以从本地MobileFirst Application Center 安装文件夹(installertools 文件夹)下载安装程序和 DB 工具。

args 文件夹包含一组配置文件,其中包含运行脚本所需的自变量。 在以下文件中填充自变量值。

initenv.properties

  • BLUEMIX_USER - Bluemix 用户名(电子邮件)。
  • BLUEMIX_PASSWORD - Bluemix 密码。
  • BLUEMIX_ORG - Bluemix 组织名称。
  • BLUEMIX_SPACE - Bluemix 空间(如上文所述)。

prepareappcenterdbs.properties

MobileFirst Application Center 需要外部 dashDB Enterprise Transactional 数据库实例(Enterprise Transactional 2.8.500 或 Enterprise Transactional 12.128.1400)。

注:dashDB Enterprise Transactional 套餐的部署可能不会立即完成。 在部署服务之前,销售团队可能会联系您。

在设置 dashDB 实例后,请提供以下所需自变量:
  • APPCENTER_DB_SRV_NAME - dashDB 服务实例名称,用于存储 Application Center 数据
  • APPCENTER_SCHEMA_NAME - 数据库模式名称,用于存储 Application Center 数据。
  • 注:如果多个用户共享 dashDB 服务实例,请确保提供唯一的模式名称。

prepareappcenter.properties

  • SERVER_IMAGE_TAG - 映像标记。 应采用以下格式:registry-url/namespace/your-tag

startappcenter.properties

  • SERVER_IMAGE_TAG - prepareappcenter.sh 中相同。
  • SERVER_CONTAINER_NAME - Bluemix container 的名称。
  • SERVER_IP - Bluemix container 应绑定到的 IP 地址。
  • 要分配 IP 地址,请运行:cf ic ip request。 可以在给定的 Bluemix 空间中的多个容器内复用 IP 地址。 如果分配了 IP,可以运行:cf ic ip list

startappcentergroup.properties

  • SERVER_IMAGE_TAG - prepareappcenter.sh 中相同。
  • SERVER_CONTAINER_GROUP_NAME - Bluemix container 组的名称。
  • SERVER_CONTAINER_GROUP_HOST - 主机名。
  • SERVER_CONTAINER_GROUP_DOMAIN - 域名。 缺省值为:mybluemix.net

以下指示信息演示了如何使用配置文件来运行脚本。 如果选择不使用交互方式来运行,那么还提供了命令行自变量的列表:

  1. initenv.sh - 登录 Bluemix
    运行 initenv.sh 脚本以创建环境,用于在 IBM Containers 上构建和运行 Mobile Foundation:
    ./initenv.sh args/initenv.properties
    命令行参数 描述
    [-u|--user] BLUEMIX_USER Bluemix 用户标识或电子邮件地址
    [-p|--password] BLUEMIX_PASSWORD Bluemix 密码
    [-o|--org] BLUEMIX_ORG Bluemix 组织名称
    [-s|--space] BLUEMIX_SPACE Bluemix 空间名称
    可选。 [-a|--api] BLUEMIX_API_URL Bluemix API 端点。 (缺省端点为 https://api.ng.bluemix.net)

    例如:

    initenv.sh --user Bluemix_user_ID --password Bluemix_password --org Bluemix_organization_name --space Bluemix_space_name
  2. prepareappcenterdbs.sh - 准备 MobileFirst Application Center 数据库
    prepareappcenterdbs.sh 脚本用于通过 dashDB 数据库服务配置 MobileFirst Application Center。 在步骤 1 中登录的组织和空间内应提供 dashDB 服务的服务实例。 运行以下命令:
    ./prepareappcenterdbs.sh args/prepareappcenterdbs.properties
    命令行参数 描述
    [-db | --acdb ] APPCENTER_DB_SRV_NAME Bluemix dashDB 服务(使用 Enterprise Transactional 的 Bluemix 服务规划)。
    可选:[-ds | --acds ] APPCENTER_SCHEMA_NAME Application Center 服务的数据库模式名称。 缺省为 APPCNTR

    例如:

    prepareappcenterdbs.sh --acdb AppCenterDashDBService
  3. initenv.sh(可选)- 登录 Bluemix
    仅当在除提供 dashDB 服务实例的组织和空间以外的其他组织和空间内需要创建容器时,才需要执行此步骤。 如果情况如此,请使用必须在其中创建(和启动)容器的新组织和空间来更新 initenv.properties,然后重新运行 initenv.sh 脚本:
  4. ./initenv.sh args/initenv.properties
  5. prepareappcenter.sh - 准备 MobileFirst Application Center 映像
    运行 prepareappcenter.sh 脚本以构建 MobileFirst Application Center 映像并将其推送到 Bluemix 存储库。 要查看 Bluemix 存储库中的所有可用映像,请运行 cf ic images 此列表包含映像名称、创建日期和标识。 运行:
    ./prepareappcenter.sh args/prepareappcenter.properties
    命令行参数 描述
    [-t|--tag] SERVER_IMAGE_NAME 要用于定制的 MobileFirst Application Center 映像的名称。 格式:registryUrl/namespace/imagename

    例如:

    prepareappcenter.sh --tag SERVER_IMAGE_NAME registryUrl/namespace/imagename
  6. startappcenter.sh - 在 IBM Container 中运行此映像
    使用 startappcenter.sh 脚本以在 IBM Container 中运行 MobileFirst Application Center 映像。 它还会将映像绑定到您在 SERVER_IP 属性中配置的公共 IP。 运行:
    ./startappcenter.sh args/startappcenter.properties
    命令行参数 描述
    [-t|--tag] SERVER_IMAGE_TAG MobileFirst Application Center 映像的名称。
    [-i|--ip] SERVER_IP MobileFirst Application Center 容器应绑定到的 IP 地址。 (您可以提供可用的公共 IP 或者使用 cf ic ip request 命令请求一个。)
    可选:[-si|--services] SERVICE_INSTANCES 想要绑定到容器的逗号分隔的 Bluemix 服务实例。
    可选:[-h|--http] EXPOSE_HTTP 公开 HTTP 端口。 接受的值为 Y(缺省值)或 N。
    可选:[-s|--https] EXPOSE_HTTPS 公开 HTTPS 端口。 接受的值为 Y(缺省值)或 N。
    可选:[-m|--memory] SERVER_MEM 以兆字节为单位指定容器的内存大小限制 (MB)。 接受的值为 1024 MB(缺省值)和 2048 MB。
    可选:[-se|--ssh] SSH_ENABLE 针对容器启用 SSH。 接受的值为 Y(缺省值)或 N。
    可选:[-sk|--sshkey] SSH_KEY 要插入到容器的 SSH 密钥。 (提供 id_rsa.pub 文件的内容。)
    可选:[-tr|--trace] TRACE_SPEC 要应用的跟踪规范。 缺省值:*=info
    可选:[-ml|--maxlog] MAX_LOG_FILES 在覆盖前要保留的最大日志文件数。 缺省值为 5 个文件。
    可选:[-ms|--maxlogsize] MAX_LOG_FILE_SIZE 日志文件的最大大小。 缺省大小为 20 MB。
    可选:[-v|--volume] ENABLE_VOLUME 针对容器日志启用装配卷。 接受的值为 Y 或 N(缺省值)。

    例如:

    startappcenter.sh --tag image_tag_name --name container_name --ip container_ip_address
  7. startappcentergroup.sh - 在 IBM Container 组上运行此映像
    startappcentergroup.sh 脚本用于在 IBM Container 组上运行 MobileFirst Application Center 映像。 它还会将映像绑定到您在 SERVER_CONTAINER_GROUP_HOST 属性中配置的主机名。 运行:
    ./startappcentergroup.sh args/startappcentergroup.properties
    命令行参数 描述
    [-t|--tag] SERVER_IMAGE_TAG Bluemix 注册表中 MobileFirst Application Center 容器映像的名称。
    [-gn|--name] SERVER_CONTAINER_NAME MobileFirst Application Center 容器组的名称。
    [-gh|--host] SERVER_CONTAINER_GROUP_HOST 路径的主机名。
    [-gs|--domain] SERVER_CONTAINER_GROUP_DOMAIN 路径的域名。
    可选:[-gm|--min] SERVERS_CONTAINER_GROUP_MIN 容器实例的最小数量。 缺省值为 1。
    可选:[-gx|--max] SERVER_CONTAINER_GROUP_MAX 容器实例的最大数量。 缺省值为 2。
    可选:[-gd|--desired] SERVER_CONTAINER_GROUP_DESIRED 容器实例的期望数量。 缺省值为 1。
    可选:[-a|--auto] ENABLE_AUTORECOVERY 针对容器实例启用自动恢复选项。 接受的值为 Y 或 N(缺省值)。
    可选:[-si|--services] SERVICES 想要绑定到容器的逗号分隔的 Bluemix 服务实例名称。
    可选:[-tr|--trace] TRACE_SPEC 要应用的跟踪规范。 缺省值 </code>*=info</code>。
    可选:[-ml|--maxlog] MAX_LOG_FILESC 在覆盖前要保留的最大日志文件数。 缺省值为 5 个文件。
    可选:[-ms|--maxlogsize] MAX_LOG_FILE_SIZE 日志文件的最大大小。 缺省大小为 20 MB。
    可选:[-m|--memory] SERVER_MEM 以兆字节为单位指定容器的内存大小限制 (MB)。 接受的值为 1024 MB(缺省值)和 2048 MB。
    可选:[-v|--volume] ENABLE_VOLUME 针对容器日志启用装配卷。 接受的值为 Y 或 N(缺省值)。

    例如:

    startappcentergroup.sh --tag image_name --name container_group_name --host container_group_host_name --domain container_group_domain_name

MobileFirst Analytics

如果您要对 MobileFirst Server 使用分析,请从此处开始。

args 文件夹包含一组配置文件,其中包含运行脚本所需的自变量。 在以下文件中填充自变量值。
注:我们仅包含必需的自变量。 要了解有关其他自变量的信息,请参阅属性文件内的文档。

initenv.properties

  • BLUEMIX_USER - Bluemix 用户名(电子邮件)。
  • BLUEMIX_PASSWORD - Bluemix 密码。
  • BLUEMIX_ORG - Bluemix 组织名称。
  • BLUEMIX_SPACE - Bluemix 空间(如上文所述)。

prepareanalytics.properties

  • ANALYTICS_IMAGE_TAG - 映像标记。 应采用以下格式:registry-url/namespace/your-tag

startanalytics.properties

  • ANALYTICS_IMAGE_TAG - prepareserver.sh 中相同。
  • ANALYTICS_CONTAINER_NAME - Bluemix Container 的名称。
  • ANALYTICS_IP - Bluemix Container 要绑定到的 IP 地址。
    要分配 IP 地址,请运行:cf ic ip request
    可以在空间中的多个容器内复用 IP 地址。
    如果您尚未分配一个 IP 地址,可以运行:cf ic ip list

startanalyticsgroup.properties

  • ANALYTICS_IMAGE_TAG - prepareserver.sh 中相同。
  • ANALYTICS_CONTAINER_GROUP_NAME - Bluemix Container 组的名称。
  • ANALYTICS_CONTAINER_GROUP_HOST - 主机名。
  • ANALYTICS_CONTAINER_GROUP_DOMAIN - 域名。 缺省值为:mybluemix.net

以下指示信息演示了如何使用配置文件来运行脚本。 如果选择不使用交互方式来运行,那么还提供了命令行自变量的列表:

  1. initenv.sh - 登录 Bluemix
    运行 initenv.sh 脚本以创建环境,用于在 IBM Containers 上构建和运行 MobileFirst Analytics:
    ./initenv.sh args/initenv.properties
    命令行参数 描述
    [-u|--user] BLUEMIX_USER Bluemix 用户标识或电子邮件地址
    [-p|--password] BLUEMIX_PASSWORD Bluemix 密码
    [-o|--org] BLUEMIX_ORG Bluemix 组织名称
    [-s|--space] BLUEMIX_SPACE Bluemix 空间名称
    可选。 [-a|--api] BLUEMIX_API_URL Bluemix API 端点。 (缺省端点为 https://api.ng.bluemix.net)

    例如:

    initenv.sh --user Bluemix_user_ID --password Bluemix_password --org Bluemix_organization_name --space Bluemix_space_name
  2. prepareanalytics.sh - 准备 MobileFirst Analytics 映像
    运行 prepareanalytics.sh 脚本以构建 MobileFirst Analytics 映像并将其推送到 Bluemix 存储库。
    ./prepareanalytics.sh args/prepareanalytics.properties
    要查看 Bluemix 存储库中的所有可用映像,请运行 cf ic images
    此列表包含映像名称、创建日期和标识。
    命令行参数 描述
    [-t|--tag] ANALYTICS_IMAGE_TAG 要用于定制的分析映像的名称。 格式:Bluemix registry URL/private namespace/image name

    例如:

    prepareanalytics.sh --tag registry.ng.bluemix.net/your_private_repository_namespace/mfpfanalytics80
  3. startanalytics.sh - 在 IBM Container 上运行此映像
    startanalytics.sh 脚本用于在 IBM Container 上运行 MobileFirst Analytics 映像。 它还会将映像绑定到您在 ANALYTICS_IP 属性中配置的公共 IP。
  4. 运行:
    ./startanalytics.sh args/startanalytics.properties
    命令行参数 描述
    [-t|--tag] ANALYTICS_IMAGE_TAG 已装入到 IBM Containers 注册表的分析容器映像的名称。 格式:BluemixRegistry/PrivateNamespace/ImageName:Tag
    [-n|--name] ANALYTICS_CONTAINER_NAME 分析容器的名称
    [-i|--ip] ANALYTICS_IP 容器应绑定到的 IP 地址。 (您可以提供可用的公共 IP 或者使用 cf ic ip request 命令请求一个。)
    可选。 [-h|--http] EXPOSE_HTTP 公开 HTTP 端口。 接受的值为 Y(缺省值)或 N。
    可选。 [-s|--https] EXPOSE_HTTPS 公开 HTTPS 端口。 接受的值为 Y(缺省值)或 N。
    可选。 [-m|--memory] SERVER_MEM 以兆字节为单位指定容器的内存大小限制 (MB)。 接受的值为 1024 MB(缺省值)和 2048 MB。
    可选。 [-se|--ssh] SSH_ENABLE 针对容器启用 SSH。 接受的值为 Y(缺省值)或 N。
    可选。 [-sk|--sshkey] SSH_KEY 要插入到容器的 SSH 密钥。 (提供 id_rsa.pub 文件的内容。)
    可选。 [-tr|--trace] TRACE_SPEC 要应用的跟踪规范。 缺省值:*=info
    可选。 [-ml|--maxlog] MAX_LOG_FILES 在覆盖前要保留的最大日志文件数。 缺省值为 5 个文件。
    可选。 [-ms|--maxlogsize] MAX_LOG_FILE_SIZE 日志文件的最大大小。 缺省大小为 20 MB。
    可选。 [-v|--volume] ENABLE_VOLUME 针对容器日志启用装配卷。 接受的值为 Y 或 N(缺省值)。
    可选。 [-ev|--enabledatavolume] ENABLE_ANALYTICS_DATA_VOLUME 针对分析数据启用装配卷。 接受的值为 Y 或 N(缺省值)。
    可选。 [-av|--datavolumename] ANALYTICS_DATA_VOLUME_NAME 指定要针对分析数据创建和装配的卷的名称。 缺省名称为 mfpf_analytics_container_name
    可选。 [-ad|--analyticsdatadirectory] ANALYTICS_DATA_DIRECTORY 指定用于存储数据的位置。 缺省文件夹名称为 /analyticsData。
    可选。 [-e|--env] MFPF_PROPERTIES 提供 MobileFirst Analytics 属性作为逗号分隔的“键/值”对。 注:如果使用此脚本指定属性,那么确保未在 usr/config 文件夹的配置文件中设置这些相同的属性。

    例如:

                            startanalytics.sh --tag image_tag_name --name container_name --ip container_ip_address
                            
  5. startanalyticsgroup.sh - 在 IBM Container 组上运行此映像
    startanalyticsgroup.sh 脚本用于在 IBM Container 组上运行 MobileFirst Analytics 映像。 它还会将映像绑定到您在 ANALYTICS_CONTAINER_GROUP_HOST 属性中配置的主机名。 运行:
    ./startanalyticsgroup.sh args/startanalyticsgroup.properties
    命令行参数 描述
    [-t|--tag] ANALYTICS_IMAGE_TAG 已装入到 IBM Containers 注册表的分析容器映像的名称。 格式:BluemixRegistry/PrivateNamespace/ImageName:Tag
    [-gn|--name] ANALYTICS_CONTAINER_GROUP_NAME 分析容器组的名称。
    [-gh|--host] ANALYTICS_CONTAINER_GROUP_HOST 路径的主机名。
    [-gs|--domain] ANALYTICS_CONTAINER_GROUP_DOMAIN 路径的域名。
    可选。 [-gm|--min] ANALYTICS_CONTAINER_GROUP_MIN 容器实例的最小数量。 缺省值为 1。
    可选。 [-gx|--max] ANALYTICS_CONTAINER_GROUP_MAX 容器实例的最大数量。 缺省值为 1。
    可选。 [-gd|--desired] ANALYTICS_CONTAINER_GROUP_DESIRED 容器实例的期望数量。 缺省值为 2。
    可选。 [-tr|--trace] TRACE_SPEC 要应用的跟踪规范。 缺省值:*=info
    可选。 [-ml|--maxlog] MAX_LOG_FILES 在覆盖前要保留的最大日志文件数。 缺省值为 5 个文件。
    可选。 [-ms|--maxlogsize] MAX_LOG_FILE_SIZE 日志文件的最大大小。 缺省大小为 20 MB。
    可选。 [-e|--env] MFPF_PROPERTIES 指定 MobileFirst 属性作为逗号分隔的“键/值”对。 示例:mfp.analytics.url:http://127.0.0.1/analytics-service/rest/v2
    可选。 [-m|--memory] SERVER_MEM 以兆字节为单位指定容器的内存大小限制 (MB)。 接受的值为 1024 MB(缺省值)和 2048 MB。
    可选。 [-v|--volume] ENABLE_VOLUME 针对容器日志启用装配卷。 接受的值为 Y 或 N(缺省值)。
    可选。 [-av|--datavolumename] ANALYTICS_DATA_VOLUME_NAME 指定要针对分析数据创建和装配的卷的名称。 缺省值为 mfpf_analytics_ANALYTICS_CONTAINER_GROUP_NAME
    可选。 [-ad|--analyticsdatadirectory] ANALYTICS_DATA_DIRECTORY 指定要用于存储分析数据的目录。 缺省值为 /analyticsData

    例如:

    startanalyticsgroup.sh --tag image_name --name container_group_name --host container_group_host_name --domain container_group_domain_name
装入以下 URL 以启动 Analytics Console:http://ANALYTICS-CONTAINER-HOST/analytics/console (可能需要一些时间才能完成)

MobileFirst Server

args 文件夹包含一组配置文件,其中包含运行脚本所需的自变量。 在以下文件中填充自变量值:

initenv.properties

  • BLUEMIX_USER - Bluemix 用户名(电子邮件)。
  • BLUEMIX_PASSWORD - Bluemix 密码。
  • BLUEMIX_ORG - Bluemix 组织名称。
  • BLUEMIX_SPACE - Bluemix 空间(如上文所述)。

prepareserverdbs.properties

Mobile Foundation 服务需要外部 dashDB Enterprise Transactional 数据库实例Enterprise Transactional 2.8.500Enterprise Transactional 12.128.1400)。
注:dashDB Enterprise Transactional 套餐的部署可能不会立即完成。 在部署服务之前,销售团队可能会联系您。

在设置 dashDB 实例后,请提供所需自变量:
  • ADMIN_DB_SRV_NAME - 用于存储管理数据的 dashDB 服务实例名称。
  • ADMIN_SCHEMA_NAME - 管理数据的模式名称。 缺省名称为 MFPDATA。
  • RUNTIME_DB_SRV_NAME - 用于存储运行时数据的 dashDB 服务实例名称。 缺省名称为管理服务名称。
  • RUNTIME_SCHEMA_NAME - 运行时数据的模式名称。 缺省名称为 MFPDATA。
  • 注:如果许多用户共享 dashDB 服务实例,那么请确保提供唯一的模式名称。

prepareserver.properties

  • SERVER_IMAGE_TAG - 映像标记。 应采用以下格式:registry-url/namespace/your-tag

startserver.properties

  • SERVER_IMAGE_TAG - prepareserver.sh 中相同。
  • SERVER_CONTAINER_NAME - Bluemix Container 的名称。
  • SERVER_IP - Bluemix Container 应绑定到的 IP 地址。
    要分配 IP 地址,请运行:cf ic ip request
    可以在空间中的多个容器内复用 IP 地址。
    如果您尚未分配一个 IP 地址,可以运行:cf ic ip list
  • MFPF_PROPERTIES - MobileFirst Server JNDI 属性,以逗号分隔(无空格)。 您可在以下位置定义分析相关属性:MFPF_PROPERTIES=mfp/mfp.analytics.url:http://ANALYTICS-CONTAINER-IP:9080/analytics-service/rest,mfp/mfp.analytics.console.url:http://ANALYTICS-CONTAINER-IP:9080/analytics/console,mfp/mfp.analytics.username:ANALYTICS_USERNAME,mfp/mfp.analytics.password:ANALYTICS_PASSWORD

startservergroup.properties

  • SERVER_IMAGE_TAG - prepareserver.sh 中相同。
  • SERVER_CONTAINER_GROUP_NAME - Bluemix Container 组的名称。
  • SERVER_CONTAINER_GROUP_HOST - 主机名。
  • SERVER_CONTAINER_GROUP_DOMAIN - 域名。 缺省值为:mybluemix.net
  • MFPF_PROPERTIES - MobileFirst Server JNDI 属性,以逗号分隔(无空格)。 您可在以下位置定义分析相关属性:MFPF_PROPERTIES=mfp/mfp.analytics.url:http://ANALYTICS_CONTAINER_GROUP_HOSTNAME:80/analytics-service/rest,mfp/mfp.analytics.console.url:http://ANALYTICS_CONTAINER_GROUP_HOSTNAME:80/analytics/console,mfp/mfp.analytics.username:ANALYTICS_USERNAME,mfp/mfp.analytics.password:ANALYTICS_PASSWORD

以下指示信息演示了如何使用配置文件来运行脚本。 如果选择不使用交互方式来运行,那么还提供了命令行自变量的列表:

  1. initenv.sh - 登录 Bluemix
    运行 initenv.sh 脚本以创建环境,用于在 IBM Containers 上构建和运行 Mobile Foundation:
    ./initenv.sh args/initenv.properties
    命令行参数 描述
    [-u|--user] BLUEMIX_USER Bluemix 用户标识或电子邮件地址
    [-p|--password] BLUEMIX_PASSWORD Bluemix 密码
    [-o|--org] BLUEMIX_ORG Bluemix 组织名称
    [-s|--space] BLUEMIX_SPACE Bluemix 空间名称
    可选。 [-a|--api] BLUEMIX_API_URL Bluemix API 端点。 (缺省端点为 https://api.ng.bluemix.net)

    例如:

    initenv.sh --user Bluemix_user_ID --password Bluemix_password --org Bluemix_organization_name --space Bluemix_space_name
  2. prepareserverdbs.sh - 准备 MobileFirst Server 数据库
    prepareserverdbs.sh 脚本用于通过 dashDB 数据库服务配置 MobileFirst Server。 在步骤 1 中登录的组织和空间内应提供了 dashDB 服务的服务实例。请运行:
    ./prepareserverdbs.sh args/prepareserverdbs.properties
    命令行参数 描述
    [-adl |--admindb ] ADMIN_DB_SRV_NAME Bluemix dashDB™ 服务(使用 Enterprise Transactional 的 Bluemix 服务规划)
    可选。 [-as |--adminschema ] ADMIN_SCHEMA_NAME 管理服务的数据库模式名称。 缺省为 MFPDATA
    可选。 [-rd |--runtimedb ] RUNTIME_DB_SRV_NAME 用于存储运行时数据的 Bluemix 数据库服务实例名称。 缺省为与针对管理数据指定的服务相同。
    可选。 [-p |--push ] ENABLE_PUSH 支持针对推送服务配置数据库。 接受的值为 Y(缺省值)或 N。
    [-pd |--pushdb ] PUSH_DB_SRV_NAME 用于存储推送数据的 Bluemix 数据库服务实例名称。 缺省为与针对运行时数据指定的服务相同。
    [-ps |--pushschema ] PUSH_SCHEMA_NAME 推送服务的数据库模式名称。 缺省为运行时模式名称。

    例如:

    prepareserverdbs.sh --admindb MFPDashDBService
  3. initenv.sh(可选)- 登录 Bluemix
    仅当在除提供 dashDB 服务实例的组织和空间以外的其他组织和空间内需要创建容器时,才需要执行此步骤。 如果情况如此,请使用必须在其中创建和启动新组织和空间的容器来更新 initenv.properties,然后重新运行 initenv.sh 脚本:
    ./initenv.sh args/initenv.properties
  4. prepareserver.sh - 准备 MobileFirst Server 映像
    运行 prepareserver.sh 脚本以构建 MobileFirst Server 映像并将其推送到 Bluemix 存储库。 要查看 Bluemix 存储库中的所有可用映像,请运行 cf ic images
    此列表包含映像名称、创建日期和标识。
    ./prepareserver.sh args/prepareserver.properties
    命令行参数 描述
    [-t|--tag] SERVER_IMAGE_NAME 要用于定制的 MobileFirst Server 映像的名称。 格式:registryUrl/namespace/imagename

    例如:

    prepareserver.sh --tag SERVER_IMAGE_NAME registryUrl/namespace/imagename

  5. startserver.sh - 在 IBM Container 上运行此映像
    startserver.sh 脚本用于在 IBM Container 上运行 MobileFirst Server 映像。 它还会将映像绑定到您在 SERVER_IP 属性中配置的公共 IP。 请运行:
  6. ./startserver.sh args/startserver.properties
    命令行参数 描述
    [-t|--tag] SERVER_IMAGE_TAG MobileFirst Server 映像的名称。
    [-i|--ip] SERVER_IP MobileFirst Server 容器应绑定到的 IP 地址。 (您可以提供可用的公共 IP 或者使用 cf ic ip request 命令请求一个。)
    可选。 [-si|--services] SERVICE_INSTANCES 想要绑定到容器的逗号分隔的 Bluemix 服务实例。
    可选。 [-h|--http] EXPOSE_HTTP 公开 HTTP 端口。 接受的值为 Y(缺省值)或 N。
    可选。 [-s|--https] EXPOSE_HTTPS 公开 HTTPS 端口。 接受的值为 Y(缺省值)或 N。
    可选。 [-m|--memory] SERVER_MEM 以兆字节为单位指定容器的内存大小限制 (MB)。 接受的值为 1024 MB(缺省值)和 2048 MB。
    可选。 [-se|--ssh] SSH_ENABLE 针对容器启用 SSH。 接受的值为 Y(缺省值)或 N。
    可选。 [-sk|--sshkey] SSH_KEY 要插入到容器的 SSH 密钥。 (提供 id_rsa.pub 文件的内容。)
    可选。 [-tr|--trace] TRACE_SPEC 要应用的跟踪规范。 缺省值:*=info
    可选。 [-ml|--maxlog] MAX_LOG_FILES 在覆盖前要保留的最大日志文件数。 缺省值为 5 个文件。
    可选。 [-ms|--maxlogsize] MAX_LOG_FILE_SIZE 日志文件的最大大小。 缺省大小为 20 MB。
    可选。 [-v|--volume] ENABLE_VOLUME 针对容器日志启用装配卷。 接受的值为 Y 或 N(缺省值)。
    可选。 [-e|--env] MFPF_PROPERTIES 指定 MobileFirst 属性作为逗号分隔的“键/值”对。 示例:mfp.analytics.url:http://127.0.0.1/analytics-service/rest,mfp.analytics.console.url:http://127.0.0.1/analytics/console注:如果使用此脚本指定属性,那么确保未在 usr/config 文件夹的配置文件中设置这些相同的属性。

    例如:

    startserver.sh --tag image_tag_name --name container_name --ip container_ip_address

  7. startservergroup.sh - 在 IBM Container 组上运行此映像
    startservergroup.sh 脚本用于在 IBM Container 组上运行 MobileFirst Server 映像。 它还会将映像绑定到您在 SERVER_CONTAINER_GROUP_HOST 属性中配置的主机名。
  8. 运行:
    ./startservergroup.sh args/startservergroup.properties
    命令行参数 描述
    [-t|--tag] SERVER_IMAGE_TAG Bluemix 注册表中 MobileFirst Server 容器映像的名称。
    [-gn|--name] SERVER_CONTAINER_NAME MobileFirst Server 容器组的名称。
    [-gh|--host] SERVER_CONTAINER_GROUP_HOST 路径的主机名。
    [-gs|--domain] SERVER_CONTAINER_GROUP_DOMAIN 路径的域名。
    可选。 [-gm|--min] SERVERS_CONTAINER_GROUP_MIN 容器实例的最小数量。 缺省值为 1。
    可选。 [-gx|--max] SERVER_CONTAINER_GROUP_MAX 容器实例的最大数量。 缺省值为 1。
    可选。 [-gd|--desired] SERVER_CONTAINER_GROUP_DESIRED 容器实例的期望数量。 缺省值为 2。
    可选。 [-a|--auto] ENABLE_AUTORECOVERY 针对容器实例启用自动恢复选项。 接受的值为 Y 或 N(缺省值)。
    可选。 [-si|--services] SERVICES 想要绑定到容器的逗号分隔的 Bluemix 服务实例名称。
    可选。 [-tr|--trace] TRACE_SPEC 要应用的跟踪规范。 缺省值为 *=info
    可选。 [-ml|--maxlog] MAX_LOG_FILES 在覆盖前要保留的最大日志文件数。 缺省值为 5 个文件。
    可选。 [-ms|--maxlogsize] MAX_LOG_FILE_SIZE 日志文件的最大大小。 缺省大小为 20 MB。
    可选。 [-e|--env] MFPF_PROPERTIES 指定 MobileFirst 属性作为逗号分隔的“键/值”对。 示例:mfp.analytics.url:http://127.0.0.1/analytics-service/rest
    mfp.analytics.console.url:http://127.0.0.1/analytics/console
    注:如果使用此脚本指定属性,那么确保未在 usr/config 文件夹的配置文件中设置相同的属性。
    可选。 [-m|--memory] SERVER_MEM 以兆字节为单位指定容器的内存大小限制 (MB)。 接受的值为 1024 MB(缺省值)和 2048 MB。
    可选。 [-v|--volume] ENABLE_VOLUME 针对容器日志启用装配卷。 接受的值为 Y 或 N(缺省值)。

    例如:

    startservergroup.sh --tag image_name --name container_group_name --host container_group_host_name --domain container_group_domain_name

注:在执行任何配置更改后,必须重新启动容器 (cf ic restart containerId)。 对于容器组,您必须重新启动组中的每个容器实例。 例如,如果根证书发生更改,那么在添加新证书后必须重新启动每个容器实例。

装入以下 URL 以启动 MobileFirst Operations Console:http://MF_CONTAINER_HOST/mfpconsole(可能需要一些时间才能完成)。
遵循使用 MobileFirst CLI 来管理 MobileFirst 工件教程中的指示信息来添加远程服务器。

通过使用 IBM Bluemixmay 上运行的 MobileFirst Server,现在您可以启动自己的应用程序开发。 查看 Mobile Foundation 教程

端口号限制

目前,对于公共域中可用的端口号,存在一个 IBM Containers 限制。 因此,无法更改针对 MobileFirst Analytics 容器和 MobileFirst Server 容器(9080 针对 HTTP,9443 针对 HTTPS)指定的缺省端口号。 容器组中的容器必须使用 HTTP 端口 9080。 容器组不支持使用多个端口号或 HTTPS 请求。

应用 MobileFirst Server 修订

IBM Containers 上的 MobileFirst Server 的临时修订可从 IBM Fix Central 获取。
应用临时修订之前,请备份现有的配置文件。 配置文件位于以下文件夹中:

  • MobileFirst Analytics:package_root/mfpf-analytics/usr
  • MobileFirst Server Liberty Cloud Foundry Application:package_root/mfpf-server/usr
  • Application Center:package_root/mfp-appcenter/usr

应用 iFix 的步骤:

  1. 下载临时修订归档并将内容解压缩到现有安装文件夹,覆盖现有文件。
  2. 将备份配置文件复原到 package_root/mfpf-analytics/usrpackage_root/mfpf-server/usrpackage_root/mfp-appcenter/usr 文件夹,覆盖新安装的配置文件。
  3. 在编辑器中编辑 package_root/mfpf-server/usr/env/jvm.options 文件并除去以下行(如果存在):
    -javaagent:/opt/ibm/wlp/usr/servers/mfp/newrelic/newrelic.jar”
    

    现在,您可以构建并部署更新后的服务器。

    a. 运行 prepareserver.sh 脚本以重新构建服务器映像并将其推送到 IBM Containers 服务。

    b. 运行 startserver.sh 脚本以将服务器映像作为独立容器运行,或运行 startservergroup.sh 以将服务器映像作为容器组运行。

从 Bluemix 中除去容器

从 Bluemix 中除去容器时,还必须从注册表中除去映像名称。
运行以下命令以从 Bluemix 中除去容器:

  1. cf ic ps(列举当前正在运行的容器)
  2. cf ic stop container_id(停止该容器)
  3. cf ic rm container_id(除去该容器)

运行以下 cf ic 命令,从 Bluemix 注册表中除去映像名称:

  1. cf ic images(列举注册表中的映像)
  2. cf ic rmi image_id(从注册表中除去映像)

从 Bluemix 中除去数据库服务配置

如果在配置 MobileFirst Server 映像期间运行了 prepareserverdbs.sh 脚本,那么将创建 MobileFirst Server 所需的配置和数据库表。 此脚本还会针对容器创建数据库模式。

要从 Bluemix 中除去数据库服务配置,请使用 Bluemix 仪表板执行以下过程。

  1. 从 Bluemix 仪表板,选择使用的 dashDB 服务。 选择在运行 prepareserverdbs.sh 脚本时作为参数提供的 dashDB 服务名称。
  2. 启动 dashDB 控制台以使用选中的 dashDB 服务实例的模式和数据库对象。
  3. 选择与 IBM MobileFirst Server 配置相关的模式。 模式名称是在运行 prepareserverdbs.sh 脚本时作为参数提供的名称。
  4. 在仔细检查每个模式名称以及其下的对象后,删除模式。 这将从 Bluemix 中除去数据库配置。

同样,如果在配置 MobileFirst Application Center 时运行 prepareappcenterdbs.sh,请遵循上述步骤以除去 Bluemix 中的数据库服务配置。

Last modified on October 05, 2017