3 回答
TA贡献1893条经验 获得超10个赞
最佳和理想的选择是 ConfigMap。您可以为该文件创建 ConfigMap,以便可以从 pod 外部访问和更改 jvm.opts 文件。因此,无需重新创建新的 pod 甚至触摸 pod,您就可以根据需要多次更改配置。
有关更多详细信息,请参阅: https ://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#create-configmaps-from-files
TA贡献1796条经验 获得超4个赞
使用 docker 入口点执行一个应该更新 jvm 选择的初始化脚本。cassandra-env 中的环境变量。sh脚本。然后启动cassandra数据库服务
TA贡献1871条经验 获得超8个赞
我认为最好的解决方案是使用initContainer和configMap。
InitContainers 在主容器启动之前执行完成。您可以将使用 configMap 注入的值复制到配置文件中指定的值上并执行 pod 重启。这也很好,因为您可以在所有节点上进行滚动重启。
在 initContainer 中,您将注入 configMap 并从那里,当 initContainer 执行时,您可以执行sed
替换 C* 配置文件中的实际值。
您可以为 initContainer 使用busybox映像,其中包含 linux 基本命令。
步骤如下:
更改 configMap 上的参数(在 initContainer 中注入)
滚动重启。
添加回答
举报