Čo sú to trasy v Kubernetes a na čo sa používajú?
sobes.tech AI
Odpoveď od AI
Trasy, alebo Ingress Routes, v Kubernetes, sú spôsob, ako poskytnúť externý prístup k službám v rámci klastru. Umožňujú riadiť prichádzajúci tok, smerujúc ho na príslušné služby podľa pravidiel, ktoré definuje používateľ.
Hlavné ciele používania trás:
- Poskytnutie externého prístupu: Umožňujú prístup k aplikáciám zvonku klastru.
- Vyrovnávanie záťaže: Rozdeľujú prichádzajúci tok medzi viacero inštancií služieb.
- SSL/TLS terminácia: Spracovávajú HTTPS pripojenia na úrovni Ingress, odľahčujúc služby.
- Virtuálne hosting: Umožňujú smerovať tok na rôzne služby v závislosti od názvu hostiteľa v požiadavke.
- Routing na základe cesty: Smerujú tok na rôzne služby podľa URL cesty v požiadavke.
Typická štruktúra pravidla routovania (v manifeste Ingress) môže vyzerať takto:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: priklad-ingress
spec:
rules:
- host: priklad.sk
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
V tomto príklade je tok na priklad.sk bez špecifikácie cesty smerovaný na službu my-service (port 80), a tok na priklad.sk/api je smerovaný na službu api-service (port 8080).
Aby Ingress fungoval, je potrebný Ingress Controller, ktorý funguje ako reverzný proxy a implementuje pravidlá definované v Ingress zdrojoch. Populárne Ingress controllery zahŕňajú Nginx Ingress Controller, Ambassador, Traefik.