提问人:prmdpsn56 提问时间:11/15/2023 最后编辑:Jonasprmdpsn56 更新时间:11/21/2023 访问量:24
Helm Chart 将内容复制到 emptyDir
Helm Chart to copy content to emptyDir
问:
我在 openshift 中使用 helm chart 进行部署,并且在不同的环境中部署有不同的阶段。我想在 helm 安装/升级阶段上传基于容器的 .js 文件。.js 文件位于 helm 目录中,与 values.yaml 处于同一级别。
my_project/
├── charts/
│ ├── my_app/
│ │ ├── templates/
│ │ │ ├── deployment.yaml
│ │ ├── values.yaml
| | |-- jsfiles/
├── src/
│ ├── main.js
│ ├── utils/
│ │ └── helper.js
├── assets/
│ ├── images/
│ │ └── logo.png
├── index.html
我的想法是创建一个 emptyDir 并使用 init Containers 将文件复制到挂载的卷中,然后主容器可以使用该卷。但是,我无法提供对本地文件的引用 我正在使用类似的配置,如下所示:
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "your-app.fullname" . }}
labels:
{{- include "your-app.labels" . | nindent 4 }}
spec:
template:
spec:
initContainers:
- name: copy-codebase-filee
image: alpine
command: ["/bin/sh", "-c", "cp -R /jsfiles/* /emptydir"]
volumeMounts:
- name: emptydir
mountPath: /emptydir
containers:
- name: your-app
image: your-image:tag
volumeMounts:
- name: emptydir
mountPath: /app
volumes:
- name: emptydir
emptyDir: {}
我也尝试了这个配置,但 JS 文件大于 1Mb,所以不能使用下面的配置映射。
apiVersion: v1
kind: ConfigMap
metadata:
name: jksconfig
data:
config.json: |-
{{ .Files.Get "config.json" | indent 4 }}
答: 暂无答案
评论
emptyDir
/app