我正在尝试在Kubernetes中部署几个pod,使用一个带有初始化脚本的mongo镜像。我正在使用helm进行部署。因为我从官方的Mongo docker镜像开始,所以我尝试在/docker-entrypoint-initdb.d添加一个脚本,这样它就会在开始时被执行,以初始化我的Mongo的一些参数。
我不知道的是如何使用helm在我的本地机器/docker-entrypoint-initdb.d中插入我的脚本。
我正在尝试做一些类似docker run -v hostfile:mongofile的事情,但我需要helm中的等价物,所以这将在部署的所有pod中完成
发布于 2020-01-11 05:05:02
您可以使用configmap。让我们通过configmap将nginx配置文件放到容器中。我们有一个名为nginx的目录名,具有相同级别的values.yml。在那里我们有实际的配置文件。
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/
https://stackoverflow.com/questions/59684402
复制相似问题