shell - 如何在 kubernetes 的 init 容器中运行 sed 命令?
问题描述
我的集群中正在运行 keycloak,所以我想将默认的 context-web 路径更改为类似 keycloak/auth 的身份验证,这样我就可以通过 myhost/keycloak/auth/ 访问它我添加了一个 init 容器来运行这个命令,但是它给我看:
来自服务器的错误(BadRequest):pod“keycloak-6df9d8968d-l7t9b”中的容器“keycloak”正在等待启动:PodInitializing
我认为 init 容器中的命令语法是错误的,因为我手动尝试了它并且它有效
这是初始化容器:
...
initContainers:
- name: keycloak-init
image: busybox
command: [sed, -i, -e, 's/<web-context>auth<\/web-context>/<web-context>keycloak\/auth<\/web-context>/', /opt/jboss/keycloak/standalone/configuration/standalone.xml]
...
解决方案
主容器未启动,因为容器中存在错误initContainer
,正如您从logs
.
sed: /opt/jboss/keycloak/standalone/configuration/standalone.xml: No such file or directory
可能您忘记在 initContainer 中也使用此文件安装卷