Kubernetes
Service-ek és hálózat
Service szerepe, típusok (ClusterIP/NodePort/LoadBalancer) és Ingress alapok.
Service-ek és hálózat
Miért kell Service?
A pod-ok IP-címe cserélődhet, ezért közvetlen pod IP-re építeni törékeny. A Service stabil, névvel ellátott hálózati végpontot ad, és a pod-ok label-jei alapján találja meg a célokat (selector).
Service típusok
ClusterIP (alapértelmezett)
Csak a clusteren belülről érhető el.
apiVersion: v1
kind: Service
metadata:
name: myapp-service
spec:
selector:
app: myapp
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: ClusterIPNodePort
A service minden node-on egy meghatározott porton (30000–32767) elérhető.
apiVersion: v1
kind: Service
metadata:
name: myapp-nodeport
spec:
selector:
app: myapp
ports:
- protocol: TCP
port: 80
targetPort: 8080
nodePort: 30080
type: NodePortLoadBalancer
Felhőszolgáltatóknál külső terheléselosztót hoz létre.
apiVersion: v1
kind: Service
metadata:
name: myapp-lb
spec:
selector:
app: myapp
ports:
- protocol: TCP
port: 80
targetPort: 8080
type: LoadBalancerIngress
Az Ingress HTTP/HTTPS forgalmat irányít a service-ekre, és lehetővé teszi az útvonal- és host-alapú routingot (valamint TLS terminálást).
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: myapp-ingress
spec:
rules:
- host: myapp.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: myapp-service
port:
number: 80Rövid összefoglaló
- A Service stabil végpontot ad a változó pod-ok előtt.
ClusterIPbelső,NodePortésLoadBalancerkülső elérést ad.- Ingress HTTP/HTTPS routingot ad több service fölé.