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 (опционально, иначе будет выбран автоматически)