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