Junior
Какво е NodePort и каква функционалност предоставя?
sobes.tech AI
Отговор от AI
NodePort е тип услуга в Kubernetes, който отваря порт на всеки възел (Node) в клъстера. Трафикът, изпратен към този порт на който и да е възел, се пренасочва към свързаните с тази услуга Pods.
Функционалност на 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 # Селектор за избор на Pods
ports:
- protocol: TCP
port: 80 # Порт на услугата
targetPort: 8080 # Порт в Pod
nodePort: 31000 # Назначен NodePort (по желание, автоматично ще бъде избран ако не е посочен)