开发者社区> 问答> 正文

如果在主服务器上删除在运行的pod中作为volume挂载的configMap(/ secret)会发生什么?

假设我有一个带有configMap(或秘密)volume的pod。在创建pod时会出现ConfigMap(或机密)对象,但是当pod正在运行时,我会删除主服务器上的configMap(或机密)对象。预期的行为是什么?是否记录在任何地方?

运行的pod是否已终止?configMap(或机密)文件是否已删除且pod是否继续运行?

这是我可以找到的有关更新的文档,没有提及有关删除的任何内容。

展开
收起
k8s小能手 2019-01-09 14:33:09 2833 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    运行的工作负载没有任何变化。一旦它们由主服务器上的kube-scheduler调度,然后由节点上的kubelet调度,ConfigMaps,Secrets等就会存储在节点的本地文件系统上。默认值是这样的:

    ConfigMaps

    /var/lib/kubelet/pods//volumes/kubernetes.io~configmap/configmapname/

    Secret

    /var/lib/kubelet/pods//volumes/kubernetes.io~secret/secret-token/
    这些实际上最终被安装在容器中某个位于pod规范上指定的路径上。

    当您删除Kubernetes中的对象时,它实际上会从其数据存储(etcd)中删除。假设您的pod需要因任何原因重新启动,它们将无法重新启动。

    简短的回答,您的工作负载没有任何变化,但如果您的pod需要重新启动,它们将无法重新启动。

    2019-07-17 23:25:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何运维千台以上游戏云服务器 立即下载
网站/服务器取证 实践与挑战 立即下载
ECS快储存加密技术 立即下载