目前我們正在使用的碼頭工人和碼頭工人撰寫了我們的服務。我們將不同環境的配置外化爲定義應用程序讀取的環境變量的文件。例如,一個prod.env
文件:
ENV_VAR_ONE=Something Prod
ENV_VAR_TWO=Something else Prod
和test.env
文件:
docker run --env-file prod.env <image>
我們的應用程序,那麼:
ENV_VAR_ONE=Something Test
ENV_VAR_TWO=Something else Test
因此,我們可以簡單地啓動容器時使用prod.env
或test.env
文件根據中定義的環境變量提取其配置0。
問題:
- 有(例如定義吊艙時),而不是硬編碼他們這樣的一種方式來提供Kubernetes從文件中的環境變量:
apiVersion: v1 kind: Pod metadata: labels: context: docker-k8s-lab name: mysql-pod name: mysql-pod spec: containers: - env: - name: MYSQL_USER value: mysql - name: MYSQL_PASSWORD value: mysql - name: MYSQL_DATABASE value: sample - name: MYSQL_ROOT_PASSWORD value: supersecret image: "mysql:latest" name: mysql ports: - containerPort: 3306
- 如果這是不可能的,那麼建議的方法是什麼?
這是我目前的方法,但是我有3個不同的豆莢使用與EnvVars相同的祕密列表。是否可以定義一次並將它們暴露給3個豆莢? –
不是我所知道的。 –
這將是如此之大......看起來像分配的樣板將env變成容器。 @PixelElephant – AndrewMcLagan