IBM-MQ图表创建队列



我正在尝试将IBM-MQ图表部署到kubernetes(rancher(。我使用helmfile v.0.141.0(helm 3,kubectl 1.22.2(来实现这一点。我想要实现的是在部署后以编程方式创建自定义队列。我试图使用helmfile钩子来实现这一点,但它们似乎不起作用(我认为它们执行得太早了(。我的头盔文件:

repositories:
- name: ibm-stable-charts
url: https://raw.githubusercontent.com/IBM/charts/master/repo/stable
releases:
- name: ibm-mq
labels:
app: ibm-mq
namespace: user
chart: ibm-stable-charts/ibm-mqadvanced-server-dev
hooks:
- events: [ "cleanup" ]
showlogs: true
command: "./script.sh"
values:
- license: accept
image:
tag: latest
queueManager:
dev:
secret:
adminPasswordKey: secret
name: secret

如果你想了解更多关于如何重现这种情况的详细信息,可以阅读本指南。我的script.sh看起来是这样的:

#!/bin/bash
runmqsc QM1 <<EOF
define qlocal (TEST);
end;
EOF

我看到它是在helmfile部署IBM-MQ后执行的,但没有输出,即使启用了loggin,如果你检查pod的日志,你可以看到IBM-MQ实际上需要一些时间才能启动,我假设脚本是在ibmmq还没有启动时执行的(如果它正在连接,当然如果你检查队列,新的队列不在这里(。我试图将这个字符串添加到用于连接ibmmqshell的文件的开头,但也没有成功。

#!/bin/bash
kubectl exec -i -t -n user ibm-mq-0 -c qmgr "--" sh -c "clear; (bash || ash || sh)"
runmqsc QM1 <<EOF ...

那么,是否有任何方法可以在不创建新图像的情况下创建自定义队列,如本文所述?

示例MQ容器映像将自动处理它在/etc/mqm目录中找到的任何MQSC文件。因此,您可以更新Helm图表,将ConfigMap中的文件放在该位置。新的IBMMQ示例Helm图表将为您做到这一点。

容器使用crtmqm -ic选项执行此操作,该选项在启动时运行指定目录中的任何文件。

相关内容

  • 没有找到相关文章

最新更新