Sobes.tech
Junior
95
questionbank

Что такое NodePort и какую функциональность он предоставляет?

Ответ от нейросети

sobes.tech AI

NodePort - это тип Service в Kubernetes, который открывает порт на каждой Ноде кластера. Трафик, отправленный на этот порт на любой Ноде, перенаправляется на Pod(ы), связанные с этим Service.

Функциональность NodePort:

  • Изменение поведения: Предоставляет внешний доступ к сервису. Трафик извне кластера может достигать сервиса через любой IP-адрес Ноды и заданный NodePort.
  • Порты:
    • NodePort: Диапазон по умолчанию 30000-32767. Может быть изменен настройками кластера.
    • TargetPort: Порт на Pod'е, на который перенаправляется трафик.
    • Port: Порт Service внутри кластера.
Порт Описание Где используется
NodePort Порт, открытый на каждой Ноде Внешний доступ к сервису
TargetPort Порт в Pod'е Перенаправление трафика от Service к Pod'у
Port Порт Service внутри кластера Внутреннее взаимодействие между сервисами
  • Доступность: Сервис доступен по адресу NodeIP:NodePort для любой Ноды в кластере.
  • Ограничения:
    • Требует открытого NodePort на каждой Ноде.
    • Не подходит для продакшн-среды из-за фиксированного диапазона портов и необходимости знать IP-адрес Ноды.
    • Сложнее масштабировать по сравнению с LoadBalancer или Ingress.

Пример YAML для NodePort Service:

apiVersion: v1
kind: Service
metadata:
  name: my-nodeport-service
spec:
  type: NodePort
  selector:
    app: my-app # Селектор для выбора Pod'ов
  ports:
    - protocol: TCP
      port: 80 # Порт Service
      targetPort: 8080 # Порт в Pod'е
      nodePort: 31000 # Заданный NodePort (опционально, иначе будет выбран автоматически)