我正在尝试运行 Apache Pulsar 容器作为 Kubernetes 部署的一部分。我需要更改 Apache Pulsar 的端口。我的 Kubernetes yaml 中的 Pulsar 条目如下所示
- name: pulsar
image: apachepulsar/pulsar:3.1.2
args: ["sed", "-i", "'s/webServicePort=8080/webServicePort=8082/g'", "conf/standalone.conf", ";", "bin/pulsar", "standalone"]
我运行 play kube 并收到以下错误:
sed: -e expression #1, char 1: unknown command: `''
我相信这是由于
sed
表达式周围有额外的单引号造成的。
尝试这样做来修复它:
将
args
行替换为:
args: ["sh", "-c", "sed -i 's/webServicePort=8080/webServicePort=8082/g' conf/standalone.conf && bin/pulsar standalone"]
此更正使用
sh -c
执行 shell 命令,并正确格式化 sed
命令,无需额外引号。 &&
用于在 bin/pulsar standalone
命令成功执行后运行 sed
。