在Pod吹走文件夹的主文件夹中安装点文件

时间:2019-06-07 17:04:09

标签: kubernetes

我正在构建用于构建和发布事物的容器。因此,我需要配置.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中的每个条目创建一个点文件。

谢谢

1 个答案:

答案 0 :(得分:2)

您的怀疑是正确的。您可以用来解决的问题是subPath https://kubernetes.io/docs/concepts/storage/volumes/#using-subpath

但是缺点是,每个点文件确实需要一个volumeMount条目。