Sobes.tech
Junior

Kas yra maršrutai Kubernetes ir kam jie naudojami?

sobes.tech AI

Atsakymas iš AI

Maršrutai, arba Ingress Routes, Kubernetes – tai būdas suteikti išorinį prieigą prie paslaugų klasteryje. Jie leidžia valdyti įeinantį srautą, nukreipiant jį į atitinkamas paslaugas pagal naudotojo nustatytas taisykles.

Pagrindiniai maršrutų naudojimo tikslai:

  • Išorinės prieigos suteikimas: Padaro programas prieinamas iš išorės.
  • Našumo paskirstymas: Paskirsto įeinantį srautą tarp kelių paslaugų egzempliorių.
  • SSL/TLS terminavimas: Apdoroja HTTPS ryšius Ingress lygyje, atlaisvindamas paslaugas.
  • Virtualusis hostingo: Leidžia nukreipti srautą į skirtingas paslaugas priklausomai nuo užklausos hosto vardo.
  • Maršrutizavimas pagal kelią: Nukreipia srautą į skirtingas paslaugas priklausomai nuo URL kelio užklausoje.

Tipinė maršrutizacijos taisyklės struktūra (Ingress manifestas) gali atrodyti taip:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
spec:
  rules:
  - host: example.com
    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

Šiame pavyzdyje srautas į example.com be kelio nurodymo nukreipiamas į paslaugą my-service (portas 80), o srautas į example.com/api – į paslaugą api-service (portas 8080).

Norint naudoti Ingress, būtinas Ingress Controller, kuris veikia kaip atvirkštinis proxy serveris ir įgyvendina taisykles, nustatytas Ingress resursuose. Populiarūs Ingress kontroleriai apima Nginx Ingress Controller, Ambassador, Traefik.