Назад к вопросам
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 // Тип сервиса