LINUX.ORG.RU

История изменений

Исправление router, (текущая версия) :

Вообще, сервис с типом NodePort по умолчанию доступен по ip любой физической тачки из твоего кластера

У меня не так. Назначается рандомный адрес кластера ( его можно выбирать ), он ведёт на endpoint'ы, которые уже мапятся на адреса pod'ов

Как ему присвоен внешний порт - смотри ч/з kubectl get svc

Спасибо, так и делал. Вместе с «get ep» даст информацию о том, на какие pod'ы и их порты ведёт адрес кластера.

Постепенно до меня дошло - то, что я хочу ( примапить порт контейнера к адресам нод ) видимо не является типичным сценарием работы с kubernetes.

Вместо этого мне нужно детально разобраться в работе сетевого модуля ( и возможно не только flannel ), чтобы понимать как сделать адреса кластеров доступными снаружи, и вообще как вписать облако в сетевую инфраструктуру.

А пока для изучения можно поднять любой балансировщик, но не в контейнере, а на самих нодах, и уже через него иметь возможность попасть в приложения. Теоретически есть ещё kubectl proxy + ssh forwarding, но это уже слишком

В общем, Маркелов в книге хорошо рассказал про то, как использовать коммерческие облака на примере microsoft aks, а вся информация по докеру и куберу просто для возможности отладки. Чтобы поднять своё облако этого не достаточно, нужно серьёзно раскуривать официальную документацию по CNI модулям и хорошо разбираться в сетевой архитектуре.

Исправление router, :

Вообще, сервис с типом NodePort по умолчанию доступен по ip любой физической тачки из твоего кластера

У меня не так. Назначается рандомный адрес кластера ( его можно выбирать ), он ведёт на endpoint'ы, которые уже мапятся на адреса pod'ов

Как ему присвоен внешний порт - смотри ч/з kubectl get svc

Спасибо, так и делал. Вместе с «get ep» даст информацию о том, на какие pod'ы и их порты ведёт адрес кластера.

Постепенно до меня дошло - то, что я хочу ( примапить порт контейнера к адресам нод ) видимо не является типичным сценарием работы с kubernetes.

Вместо этого мне нужно детально разобраться в работе сетевого модуля ( и возможно не только flannel ), чтобы понимать как сделать адреса кластеров доступными снаружи, и вообще как вписать облако в сетевую инфраструктуру.

А пока для изучения можно поднять любой балансировщик, но не в контейнере, а на самих нодах, и уже через него иметь возможность попасть в приложения. Теоретически есть ещё kubectl proxy + ssh forwarding, но это уже слишком

В общем, Маркелов в книге хорошо рассказал про то, как использовать коммерческие облака на примере microsoft aks, а вся информация по докеру и куберу просто для возможности отладки. Чтобы поднять своё облако этого не достаточно, нужно серьёзно раскуривать официальную документацию по CNI модулям и хорошо разбираться в сетевом оборудовании.

Исходная версия router, :

Вообще, сервис с типом NodePort по умолчанию доступен по ip любой физической тачки из твоего кластера

У меня не так. Назначается рандомный адрес кластера ( его можно выбирать ), он ведёт на endpoint'ы, которые уже мапятся на адреса pod'ов

Как ему присвоен внешний порт - смотри ч/з kubectl get svc

Спасибо, так и делал. Вместе с «get ep» даст информацию о том, на какие pod'ы и их порты ведёт адрес кластера.

Постепенно до меня дошло - то, что я хочу ( примапить порт контейнера к адресам нод ) видимо не является типичным сценарием работы с kubernetes.

Вместо этого мне нужно детально разобраться в работе сетевого модуля ( и возможно не только flannel ), чтобы понимать как сделать адреса кластеров доступными снаружи, и вообще как вписать облако в сетевую инфраструктуру.

А пока для изучения можно поднять любой балансировщик, но не в контейнере, а на самих нодах, и уже через него иметь возможность попасть в приложения. Теоретически есть ещё kubectl proxy + ssh forwarding, но это уже слишком

В общем, Маркелов в книге хорошо рассказал про то, как использовать коммерческие облака на примере microsoft aks, а вся информация по докеру и куберу просто для возможности отладки. Чтобы поднять своё облако этого не поможет, нужно серьёзно раскуривать официальную документацию по CNI модулям и хорошо разбираться в сетевом оборудовании.