Sobes.tech
Junior

NodePort чист ва чӣ функсионалӣ медиҳад?

sobes.tech AI

Ҷавоб аз AI

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

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

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

Пример YAML для NodePort службы:

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