在某些情况下,您想重新启动特定的容器而不是删除pod并让Kubernetes重新创建它。
我正在用一个豆荚运行apache容器。我在apache配置文件中进行了编辑。用于SSL证书虚拟主机端口更改等。现在我想重新启动apache2服务,但不重新创建pod。
我在
中尝试在吊舱内service apache2 restart
但它还会重新创建pod,并且配置也会再次更改。
答案 0 :(得分:1)
检查this
您还可以创建一个新的dockerfile来覆盖apache dockerfile并更改de CMD行,但这更加复杂
答案 1 :(得分:1)
这不是应该的工作方式。
您不应在POD
内部进行任何更改。
如果您的POD
死亡或被压死,Kubernetes应该只是重新开始一个,一切都应该正常工作。
另外请记住,您无法缩放已更改配置的POD
。
请检查Kubernetes文档Configure a Pod to Use a ConfigMap
您可以使用ConfigMap
创建配置文件。
可以创建ConfigMaps允许您将配置工件与图像内容分离,以使容器化的应用程序具有可移植性。该页面提供了一系列用法示例,展示了如何使用ConfigMap中存储的数据创建ConfigMap和配置Pod。
ConfigMap
并读取文件内容:
$ kubectl create configmap config_data --from-file=config_data.txt
或者可以在.yml中声明
config_map:
data:
db_name=colors_db
table_name=purple
name: config_data
version: v1
这也可以通过创建secret
来完成
或可以声明secret
:
secret:
data:
username: my-username
password: my-password
name: secret_data
version: v1
还有其他选项,例如在新POD
上具有所需配置的安装路径。
我建议您检查Configure a Pod to Use a PersistentVolume for Storage