Нужно ли вам определять ports.containerPort в K8s, если Dockerfile описывает как EXPOSE - PullRequest
2 голосов
/ 19 сентября 2019

У меня есть наследие Deployment.yaml, которое используется Хелмом и до сих пор прекрасно работает.

      containers:
        ports:
          - containerPort: 3000

Эта часть ранее была ошибочно добавлена.Так что, насколько я понимаю, часть ports не была активной или использовалась в k8s.

Что меня теперь удивляет, так это то, как контейнер все время работал и был доступен на порту 3000?Поэтому я искал другое определение, описывающее этот порт.

Я нашел его в Dockerfile

   EXPOSE 3000

Мой вопрос сейчас - вам нужно определить port.containerPort в .yamlконфигурация или порт контейнера уже подразумевается на 3000 через оператор Dockerfile EXPOSE ?

Такое ощущение, что k8s знает, что это должен быть контейнерный порт, так как его описывает Dockerfile.

1 Ответ

3 голосов
/ 19 сентября 2019

NO, EXPOSE не имеет к этому никакого отношения, это только информация для вас, что контейнер будет использовать port 3000.конфигурация идет от containerPort

для k8s см. это

для expose см. это

...