我在我的kubernetes应用中使用了一些bitnami图表。在我的pod中,有一个文件的路径是/etc/settings/test. html。我想覆盖这个文件。当我搜索它时,我想我应该通过创建一个挂载Map来挂载我的文件。但是我如何将创建的挂载Map与existed pod一起使用呢.许多示例创建一个新的pod并使用创建的配置Map。但我不想创建一个新的pod,我想使用现有的pod。
谢谢
我在我的kubernetes应用中使用了一些bitnami图表。在我的pod中,有一个文件的路径是/etc/settings/test. html。我想覆盖这个文件。当我搜索它时,我想我应该通过创建一个挂载Map来挂载我的文件。但是我如何将创建的挂载Map与existed pod一起使用呢.许多示例创建一个新的pod并使用创建的配置Map。但我不想创建一个新的pod,我想使用现有的pod。
谢谢
2条答案
按热度按时间hsgswve41#
如果不是所有的话,那么几乎所有的pod规范都是不可变的,这意味着你不能在不销毁旧的pod并创建一个具有所需参数的新pod的情况下更改它们。如果不重新创建pod卷列表,就无法编辑pod卷列表。
这背后的原因是pod并不意味着是不朽的。pod意味着可以根据调度器的需要产生/销毁的临时单元。通常,您需要一个工作负载对象来为您管理pod(
Deployement
,StatefulSet
,Job
或DaemonSet
,取决于部署策略和应用程序的性质)。有两种方法可以编辑现有Pod中的文件:要么使用
kubectl exec
和控制台命令就地编辑文件,要么使用kubectl cp
将已编辑的文件复制到pod中。我建议您不要使用这两种方法,因为这不是永久性的。最好备份必要的数据,将部署类型切换到Deployment
,并使用一个副本,然后去挂载一个configMap
,就像你在互联网上读到的那样。zbdgwd5y2#
要在pod中编辑文件,您需要在pod中安装Vim,运行以下命令:
字符串
之后你可以继续使用Vim命令。如果你愿意,你也可以把vim替换成nano。