Развернуть ли YAML Kubernetes для нескольких изображений в одном модуле? - PullRequest
0 голосов
/ 17 февраля 2020

Я бы развернул через kubernetes два приложения в локальных docker изображениях (без docker концентратора / артефакта). Я хочу, чтобы они видели друг друга через имя (без ip), поэтому я должен развернуть их в том же POD и загрузить имя первой в качестве системной переменной среды во втором контейнере.

Они должны быть оба видимыми из внешнего, поэтому мне нужно развернуть NodePort, и я смогу выбрать порт.

Я знаю, как достичь этой цели с помощью команд kubectl cli, но я хотел бы получить результат через файл конфигурации YAML, так Я могу подать заявку с помощью команды kubectl apply -f deploy.yml

1 Ответ

2 голосов
/ 17 февраля 2020

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

  • вы хотите масштабировать их независимо (X реплик APP1 и Y реплик APP2)
  • также для выделения ресурсов, выделенных для одного вида приложений
  • и многих других преимуществ изоляции

Поскольку передача их через имя (без IP), kubernetes имеет концепцию services для легкого достижения этого.

Все это можно записать в формате YAML

Вы можете увидеть это:

https://kubernetes.io/docs/tasks/access-application-cluster/connecting-frontend-backend/

https://kubernetes.io/docs/tutorials/stateless-application/guestbook/

НО ВСЕ ЕЩЕ Если вы хотите сделать это ........ Тогда контейнеры внутри одного модуля могут связываться друг с другом, используя localhost а в YML вы можете определить spe c для нескольких контейнеров

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
  containers:
  - name: app1-container
    image: app1
  - name: .... for app 2
    image: app2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...