Памагите

Всем привет, пост без оценок.

Вопрос к знатокам и гуру кубернетеса. Пытаюсь разобраться в кубере и сталкиваюсь с некоторыми проблемами, например вопрос, я создал манифест файл с следующим содержанием:

apiVersion: apps/v1

kind: Deployment

metadata:

name: nginx-hello

labels:

app: nginx-hello

spec:

replicas: 1

selector:

matchLabels:

app: nginx-hello

template:

metadata:

labels:

app: nginx-hello

spec:

containers:

- name: nginx-hello

image: nginxdemos/hello

ports:

- containerPort: 80

---

apiVersion: v1

kind: Service

metadata:

name: nginx-app-service

spec:

type: NodePort

ports:

- port: 80

targetPort: 80

protocol: TCP

selector:

app: nginx-hello

в выводе команды kubectl get service получаю:

nginx-app-service NodePort 10.108.20.23 <none> 80:30438/TCP

Если кто знает, подскажите пожалуйста, почему кубер назначил мне порт 30438 по которому я могу достучатся до nginx из вне и могу ли я как то повлиять и назначить тот порт, который я сам хочу? Например хочу запустить в ноде какой нибудь контейнер и стучаться в него из внешней сети при наличии белого ip.

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

ps: Если кто-то посоветует литературу или ресурсы по куберу для тупых, напишите пожалуйста.

1
DELETED
Автор поста оценил этот комментарий
Спасибо всем кто ответил, я разобрался с ингресом (мне понадобилось менее 9 месяцев :D)
показать ответы
0
Автор поста оценил этот комментарий
Сам только начинаю вникать.

Смотрю этот курс: https://www.youtube.com/watch?v=Mw_rEH2pElw&amp;list=PL8D2P0...

-

У чатгпт не интересовались?
В Kubernetes, ограничение портов для типа сервиса NodePort в диапазоне 30000-32767 - это стандартное поведение, и его обычно нельзя изменить без изменения конфигурации самого Kubernetes кластера.

Однако, если вы хотите открыть доступ к сервису снаружи кластера на другом порту (например, на порту 8080), то вы можете использовать другие подходы. Один из таких подходов - использование Ingress контроллеров (например, NGINX Ingress или Traefik), которые позволяют более гибко управлять входящим трафиком и правилами маршрутизации.

Если у вас есть прямой доступ к ноде и вы хотите проксировать трафик на порту 8080 к сервису Kubernetes, то вы можете использовать прокси-сервер (например, NGINX или HAProxy) на уровне ноды.

Но в целом, использование стандартного диапазона портов для NodePort считается лучшей практикой и обычно рекомендуется для большинства сценариев. Если вам нужен больший контроль над входящим трафиком и маршрутизацией, то рекомендуется использовать Ingress.

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий
Спасибо
1
Автор поста оценил этот комментарий
Ты же сам его переопределил 80:30438
раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

Я добавил в конфиг nodePort: 30125 и о чудо, теперь в браузере nginx доступен по порту 30125, но в портах ноды есть ограничения в диапазоне портов 30000-32767, если не сложно, подскажите пожалуйста, как мне переопределить порт выходящий из данного диапозона, например 8080 вместо 30125, я могу это сделать через сервис?. Подозреваю, что ошибка детская и я туплю, извините.

показать ответы