8.13.5. 自定义脚本

您可以在启动 pod 之前添加自定义脚本,在 JBoss EAP 启动之前运行。

您可以添加在启动 pod 时有效的任何脚本,包括 CLI 脚本。

从镜像启动 JBoss EAP 时有两个选项可用于包括脚本:

  • 将要以 postconfigure.sh 执行的 configmap 挂载
  • 在指定的安装目录中添加 install.sh 脚本

8.13.5.1. 挂载 configmap 来执行自定义脚本

如果要在运行时将自定义脚本挂载到现有镜像(换句话说,是已构建的镜像),请挂载 configmap。

挂载 configmap:

  1. 创建一个包含您要包含在 postconfigure.sh 中的内容的 configmap。

    例如,在项目根目录中创建一个名为 extensions 的目录,以包含脚本 postconfigure.shextensions.cli 并运行以下命令:

    $ oc create configmap jboss-cli --from-file=postconfigure.sh=extensions/postconfigure.sh --from-file=extensions.cli=extensions/extensions.cli
  2. 通过部署控制器(dc)将 configmap 挂载到容器集中。

    $ oc set volume dc/eap-app --add --name=jboss-cli -m /opt/eap/extensions -t configmap --configmap-name=jboss-cli --default-mode='0755' --overwrite

postconfigure.sh示例

#!/usr/bin/env bash
set -x
echo "Executing postconfigure.sh"
$JBOSS_HOME/bin/jboss-cli.sh --file=$JBOSS_HOME/extensions/extensions.cli

extensions.cli示例

embed-server --std-out=echo  --server-config=standalone-openshift.xml
:whoami
quit