Как создать мультиконтейнерное приложение в рулевых диаграммах? - PullRequest
0 голосов
/ 03 октября 2018

Я не видел ни одной документации по приложению с несколькими контейнерами на рулевых диаграммах.Может кто-нибудь указать, как это сделать?

Что-то вроде этого https://linchpiner.github.io/k8s-multi-container-pods.html или https://www.mirantis.com/blog/multi-container-pods-and-container-communication-in-kubernetes/

Так что в основном есть модуль с несколькими контейнерами.

Диаграммы руля поддерживают это?

ОБНОВЛЕНИЕ: я смог развернуть модуль сейчас, используя эту справку (наконец, пример определения модуля)

https://github.com/helm/charts/blob/master/stable/keycloak/templates/test/test-pod.yaml

но как мне это сделать?реплики, такие как увеличение количества модулей, которые я запускаю, например, файл deploy.yaml?

1 Ответ

0 голосов
/ 03 октября 2018

Должно поддерживаться в шаблонах, по существу использовать шаблоны с несколькими контейнерами в спецификации Pod.Эта спецификация Pod также может быть в других абстракциях, таких как Deployments, DaemonSets, StatefulSets и т. Д.

Пример:

https://github.com/helm/charts/blob/master/stable/mysql/templates/deployment.yaml https://github.com/helm/charts/blob/master/stable/lamp/templates/deployment.yaml

и несколькоподробнее здесь:

https://github.com/helm/charts/tree/master/stable

Вы можете масштабировать реплики развертывания следующим образом:

kubectl scale deployment mysql-deployment --replicas=10

Подробнее об этом здесь

В шаблоне вы можете указать replicas в спецификации развертывания.

Например:

kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: my-dep
  namespace: kube-system
  labels:
    k8s-app: my-app
spec:
  replicas: 1   <= here
  selector:
    matchLabels:
      k8s-app: my-app
  template:
    metadata:
      labels:
        k8s-app: my-app
        name: my-app
    spec:
      serviceAccountName: mysa
      terminationGracePeriodSeconds: 60
      containers:
      - image: mycontainer
        name: myappcontainer
        ports:
        - name: http
          containerPort: 80
        - name: admin
          containerPort: 8080
        args:
        - --opt1
        - --opt2
        - --opt3
      - image: mycontainer2
        name: myappcontainer2
...