Назад к вопросам
Junior
155
questionbank

В чем разница между NodePort и ClusterIP в Kubernetes?

Sobes Copilot

Получайте ответы в реальном времени

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

sobes.tech AI

ClusterIP предоставляет доступ к сервису только внутри кластера, назначая виртуальный IP-адрес. NodePort открывает порт на каждой ноде кластера, который проксирует трафик к сервису, делая его доступным извне кластера через IP-адрес любой ноды и назначенный порт.

Характеристика ClusterIP NodePort
Доступ Внутри кластера Извне кластера
IP-адрес Виртуальный IP внутри кластера IP-адрес ноды + назначенный порт
Порт Случайный или указанный Диапазон по умолчанию (30000-32767)
Использование Взаимодействие между микросервисами Тестирование, демонстрация, простой внешний доступ
Сложность Проще Сложнее для масштабирования

Пример ClusterIP Service:

// service.yaml
apiVersion: v1
kind: Service
metadata:
  name: my-app-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  type: ClusterIP // Тип сервиса

Пример NodePort Service:

// service.yaml
apiVersion: v1
kind: Service
metadata:
  name: my-app-service-np
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
      nodePort: 30080 // Опционально, можно указать конкретный порт
  type: NodePort // Тип сервиса