首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将本地文件复制到helm部署中

如何将本地文件复制到helm部署中
EN

Stack Overflow用户
提问于 2020-01-10 23:16:02
回答 1查看 3.9K关注 0票数 2

我正在尝试在Kubernetes中部署几个pod,使用一个带有初始化脚本的mongo镜像。我正在使用helm进行部署。因为我从官方的Mongo docker镜像开始,所以我尝试在/docker-entrypoint-initdb.d添加一个脚本,这样它就会在开始时被执行,以初始化我的Mongo的一些参数。

我不知道的是如何使用helm在我的本地机器/docker-entrypoint-initdb.d中插入我的脚本。

我正在尝试做一些类似docker run -v hostfile:mongofile的事情,但我需要helm中的等价物,所以这将在部署的所有pod中完成

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-11 05:05:02

您可以使用configmap。让我们通过configmap将nginx配置文件放到容器中。我们有一个名为nginx的目录名,具有相同级别的values.yml。在那里我们有实际的配置文件。

代码语言:javascript
复制
apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-config-file
  labels:
    app: ...    
data:
  nginx.conf: |-
{{ .Files.Get "nginx/nginx.conf" | indent 4 }}

---

apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: SomeDeployment
  ...  
spec:
  replicas: 
  selector:
    matchLabels:
      app: ...
      release: ...
  template:
    metadata:
      labels:
        app: ...
        release: ...
    spec:
      volumes:
        - name: nginx-conf
          configMap:
            name: nginx-config-file
            items:
            - key: nginx.conf
              path: nginx.conf
      containers:        
        - name: ...
          image: ...          
          volumeMounts:
            - name: nginx-conf
              mountPath: /etc/nginx/nginx.conf
              subPath: nginx.conf

您还可以通过以下链接查看initContainers concept:https://kubernetes.io/docs/concepts/workloads/pods/init-containers/

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59684402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档