我正在构建用于构建和发布事物的容器。因此,我需要配置.pypirc
等文件。
我正在尝试使用configmap。用每个点文件创建一个configmap很容易,我的问题是将其映射到pod中。
apiVersion: v1
kind: Pod
metadata:
generateName: jnlp-
labels:
name: jnlp
label: jnlp
spec:
containers:
- name: jnlp
image: '(redacted)/agent/cbuild-okd311-cmake3-py36:0.0.2.7'
tty: true
securityContext:
runAsUser: 1001
allowPrivilegeEscalation: false
volumeMounts:
- name: dotfiles
mountPath: "/home/jenkins"
volumes:
- name: dotfiles
configMap:
name: jenkins.user.dotfiles
这是我的地图(已编辑)
apiVersion: v1
data:
.pypirc: |-
[distutils]
index-servers = local
[local]
repository: https://(redacted)/api/pypi/pypi
username: (redacted)
password: (redacted)
.p4config: |-
P4CLIENT=perf_pan
P4USER=(redacted)
P4PASSWD=(redacted)
P4PORT=p4proxy-pa.(redacted):1666
P4HOST=(redacted).com%
kind: ConfigMap
metadata:
name: jenkins.user.dotfiles
namespace: jenkins
我非常确定mount命令会清除/home/jenkins
文件夹中的所有其他内容。但是我试图提出一个安装程序,该安装程序将为我的configmap中的每个条目创建一个点文件。
谢谢
答案 0 :(得分:2)
您的怀疑是正确的。您可以用来解决的问题是subPath
https://kubernetes.io/docs/concepts/storage/volumes/#using-subpath
但是缺点是,每个点文件确实需要一个volumeMount条目。