Junior
Czym jest NodePort i jaką funkcjonalność zapewnia?
sobes.tech AI
Odpowiedź od AI
NodePort to typ usługi w Kubernetes, który otwiera port na każdym węźle klastra. Ruch wysłany na ten port na dowolnym węźle jest przekierowywany do powiązanych z tym Service Podów.
Funkcjonalność NodePort:
- Zmiana zachowania: Zapewnia zewnętrzny dostęp do usługi. Ruch spoza klastra może dotrzeć do usługi przez dowolny adres IP węzła i skonfigurowany NodePort.
- Porty:
- NodePort: Domyślny zakres 30000-32767. Może być zmieniany ustawieniami klastra.
- TargetPort: Port na Podzie, na który kierowany jest ruch.
- Port: Port usługi wewnątrz klastra.
| Port | Opis | Zastosowanie |
|---|---|---|
| NodePort | Port otwarty na każdym węźle | Zewnętrzny dostęp do usługi |
| TargetPort | Port na Podzie | Przekierowanie ruchu z usługi do Podu |
| Port | Port usługi w klastrze | Wewnętrzna komunikacja między usługami |
- Dostępność: Usługa jest dostępna pod adresem
NodeIP:NodePortz dowolnego węzła w klastrze. - Ograniczenia:
- Wymaga otwarcia NodePort na każdym węźle.
- Nie nadaje się do środowisk produkcyjnych ze względu na stały zakres portów i konieczność znajomości IP węzła.
- Trudniejsza skalowalność w porównaniu do LoadBalancer lub Ingress.
Przykład YAML dla NodePort Service:
apiVersion: v1
kind: Service
metadata:
name: my-nodeport-service
spec:
type: NodePort
selector:
app: my-app # Selekcja do wyboru Podów
ports:
- protocol: TCP
port: 80 # Port usługi
targetPort: 8080 # Port na Podzie
nodePort: 31000 # Przydzielony NodePort (opcjonalnie, wybierany automatycznie jeśli nie podano)