Можно ли выставить порты на initContainers в Кубернетесе?

Я хотел бы выставить порт на initContainer в Куберне Job Я работаю над До сих пор мне не удавалось это сделать, и при чтении документов говорится:

Порты в контейнере инициализации не агрегированы в рамках службы.

Что означает агрегирование в этом контексте?

На данный момент я думаю, что ответ - нет, так как эксперимент, который я провожу, не позволит мне выставить порт. Тем не менее, я довольно новичок в Kubernetes, поэтому я не знаю, делаю ли я ошибку где-то еще. Подумал, что я хотел бы спросить здесь, возможно ли то, что я делаю, прежде чем я попытаюсь продолжить отладку.

1 ответ

Решение

Это неоднозначный выбор слов, но в результате вы не можете получить доступ к initContainer через Сервис.

Сервисы Kubernetes предоставляют доступ к набору модулей, сопоставляя их с ярлыками. В этом смысле сервис является агрегатором. Я думаю, что это подразумеваемый смысл.

В модуле также может быть несколько контейнеров, каждый из которых использует свой порт. Если Pod сопоставлен со службой, эта служба может быть настроена для предоставления доступа к обоим на разных портах. Таким образом, служба также может сделать доступными несколько портов, хотя я бы не назвал это объединением.

Сервисы не открываются Сервисом до тех пор, пока не пройдут проверки их готовности и не будет готов статус Блока. InitContainer запускается перед зондами при инициализации статуса Pod. Так что логично, что это не может быть достигнуто Сервисом. Также было бы странно хотеть выставить initContainer внешне, поскольку он является временным по своей природе.

Ваша цель - отладить ( https://unofficial-kubernetes.readthedocs.io/en/latest/tasks/debug-application-cluster/debug-init-containers/) или разрешить доступ к другим контейнерам / контейнерам? Я полагаю, что при инициализации у Pod будет IP-адрес, но не тот, который гарантированно будет стабильным, поэтому я не знаю, сможете ли вы перенаправить порт для отладки https://kubernetes.io/docs/tasks/ доступ приложения кластер / порт-вперед-доступ приложения кластер /

Я заметил, что вы говорите, что хотите представить initContainer в Job. Обслуживание трафика на работе было бы необычной целью. Если цель состоит в том, чтобы контролировать задание, то см. Мониторинг задания в kubernetes.

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