Управление несколькими модулями с помощью одного развертывания - PullRequest
0 голосов
/ 15 января 2019

Добрый день, мне нужна помощь в определении структуры моего производственного кластера, я хочу что-то вроде.

  • 1 Развертывание, которое контролировало модули
  • несколько PODS (один модульcustomer)
  • несколько служб (одна служба на модуль)

но как я буду делать эту структуру, если для каждого POD у меня есть переменные env, которые будут подключаться к базе данных клиентов, напримерчто

env:
    - name: dbuser
      value: "svc_iafox_test@***"
    - name: dbpassword
      value: "****"
    - name: dbname
      value: "ts-demo1"
    - name: dbconnectstring
      value: "jdbc:sqlserver://***-test.database.windows.net:1433;database=$(dbname);user=$(dbuser);password=$(dbpassword);encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.database.windows.net;loginTimeout=30;"

так что для каждого модуля мне придется изменить эти env vars ... в любом случае, как мне лучше всего это сделать ??

1 Ответ

0 голосов
/ 15 января 2019

вы можете использовать configmap для достижения этого:

apiVersion: v1
kind: Pod
metadata:
  name: dapi-test-pod
spec:
  containers:
    - name: test-container
      image: k8s.gcr.io/busybox
      command: [ "/bin/sh", "-c", "echo $(SPECIAL_LEVEL_KEY) $(SPECIAL_TYPE_KEY)" ]
      env:
        - name: SPECIAL_LEVEL_KEY
          valueFrom:
            configMapKeyRef:
              name: special-config
              key: SPECIAL_LEVEL
        - name: SPECIAL_TYPE_KEY
          valueFrom:
            configMapKeyRef:
              name: special-config
              key: SPECIAL_TYPE
  restartPolicy: Never

https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#use-configmap-defined-environment-variables-in-pod-commands

пс. Я не думаю, что 1 развертывание на стручок имеет смысл. 1 развертывание на каждого клиента. Я не думаю, что вы точно понимаете, что делает развертывание: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/

...