Learning
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: ClusterIP

NodePort

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: NodePort

LoadBalancer

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: LoadBalancer

Ingress

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: 80

Rövid összefoglaló

  • A Service stabil végpontot ad a változó pod-ok előtt.
  • ClusterIP belső, NodePort és LoadBalancer külső elérést ad.
  • Ingress HTTP/HTTPS routingot ad több service fölé.

On this page