本文由 简悦 SimpRead 转码, 原文地址 ssoor.github.io
默认挂载 configMap
时,kubernetes
会覆盖掉挂载的整个目录,哪怕使用 items
也会导致整个目录被覆盖,那么如何实现挂在单个文件而不覆盖整个目录呢。下面说一下 kubernetes
中如何挂载单个文件而不是整个目录。
使用 subPath
实际上 kubernets
本身提供了 volumeMounts.subPath
属性用于挂在单个文件而不是整个目录。
下面是一个示例:
apiVersion: v1
kind: Pod
metadata:
name: my-lamp-site
spec:
containers:
- name: php
image: php:7.0-apache
volumeMounts:
- mountPath: /var/www/html/index.php
name: index
subPath: index.php
volumes:
- name: index
configMap:
name: php-index
items:
- key: index.php
path: index.php
需要注意的是:
- 如果使用 ConfigMap 的 subPath 挂载为 Container 的 Volume,
Kubernetes不会做自动热更新
- ConfigMap 哪怕不使用
subPath
的挂载方式C#
文件修改监听功能也没有触发,Golang
的正常,怀疑可能和自己的实现有关,因为还有其他事情没有继续跟进,下周准备继续跟进一下。