Sobes.tech
Junior

Šta su rute u Kubernetes i zašto se koriste?

sobes.tech АИ

Одговор од АИ

Rute, ili Ingress Routes, u Kubernetes-u, predstavljaju način za obezbeđivanje spoljnog pristupa servisima unutar klastera. Omogućavaju upravljanje ulaznim saobraćajem, usmeravajući ga ka odgovarajućim servisima u skladu sa pravilima koja je definisao korisnik.

Glavni ciljevi korišćenja ruta:

  • Obezbeđivanje spoljnog pristupa: Čine aplikacije dostupnim spolja klastera.
  • Ravnomerno opterećenje: Raspoređuju ulazni saobraćaj između više instanci servisa.
  • SSL/TLS terminacija: Obrađuju HTTPS veze na nivou Ingress-a, rasterećujući servise.
  • Virtuelni hosting: Omogućavaju usmeravanje saobraćaja na različite servise u zavisnosti od imena hosta u zahtevu.
  • Usmeravanje na osnovu puta: Usmeravaju saobraćaj na različite servise u zavisnosti od URL puta u zahtevu.

Tipična struktura pravila usmeravanja (u manifestu Ingress-a) može izgledati ovako:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: primer-ingress
spec:
  rules:
  - host: primer.rs
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-service
            port:
              number: 80
      - path: /api
        pathType: Prefix
        backend:
          service:
            name: api-service
            port:
              number: 8080

U ovom primeru, saobraćaj na primer.rs bez specificiranja puta usmerava se na servis my-service (port 80), a saobraćaj na primer.rs/api usmerava se na servis api-service (port 8080).

Da bi Ingress radio, potreban je Ingress Controller, koji funkcioniše kao reverzni proxy i implementira pravila definisana u Ingress resursima. Popularni Ingress kontroleri uključuju Nginx Ingress Controller, Ambassador, Traefik.