apache - 如何重新启动容器而不是删除 pod 并重新创建?
问题描述
在某些情况下,您希望重新启动特定容器,而不是删除 pod 并让 Kubernetes 重新创建它。
我有一个运行 apache 容器的 pod。我在 apache 配置文件中进行了编辑。用于 SSL 证书虚拟主机端口更改等。
现在我想重新启动 apache2 服务但不重新创建 pod。
我试过在吊舱里面
service apache2 restart
但它也会重新创建 pod,并且配置也会再次更改。
解决方案
这不是它应该如何工作的。
您不应该更改POD
. 如果你POD
死了或崩溃了,Kubernetes 应该启动一个新的,一切都应该正常工作。另请记住,您无法扩展POD
已更改配置的配置。
请查看 Kubernetes 文档配置 Pod 以使用 ConfigMap
您可以使用ConfigMap
创建配置文件。
ConfigMaps 允许您将配置工件与图像内容分离,以保持容器化应用程序的可移植性。本页提供了一系列使用示例,演示如何使用存储在 ConfigMaps 中的数据创建 ConfigMaps 和配置 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
还有其他选项,例如在 new 上具有所需配置的安装路径POD
。我建议您检查Configure a Pod to Use a PersistentVolume for Storage
推荐阅读
- java - Junit 5 的 assertEquals 精度为 double
- java - Selenium - Java:有没有办法使用 WebElement 而不是按类获取定位器
- python - 有没有我可以在 python 中使用的函数来实现 Matlab 函数 qtdecomp?
- dns - 为什么域名中的资源(例如hello.jpg)访问无效,但IP地址有效
- ios - Swift:如何在返回类型为 self 的协议中声明 func?
- html - CSS绝对位置子菜单在父容器上显示滚动条
- php - 我无法在我的自定义插件 php 类中挂接到 wpcf7_mail_sent
- javascript - 挂载方法 - Vue.js
- python - Matplotlib -- twiny:如何在一个图中对齐两个 x 轴的值?
- asp.net - 如何在 Visual Studio (sln) 解决方案中创建 .env 文件