Вам нужно определить ports.containerPort в K8s, если Dockerfile описывает как EXPOSE

У меня есть наследство Deployment.yaml который используется Helm и пока работает нормально.

      containers:
        ports:
          - containerPort: 3000

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

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

Я нашел это в Dockerfile

   EXPOSE 3000

У меня вопрос сейчас - нужно ли вам определить port.containerPort в конфигурации.yaml или уже подразумевается, что порт контейнера находится на 3000 через Dockerfile"S ПОДВЕРГАТЬ заявление?

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

1 ответ

Решение

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

за k8sувидеть это

за exposeувидеть это

Другие вопросы по тегам