Какви са маршрутите в Kubernetes и за какво се използват?
sobes.tech AI
Отговор от AI
Рутове маршрутизиране, или Ingress Routes, в Kubernetes, е начин за предоставяне на външен достъп до услугите вътре в клъстера. Те позволяват управление на входящия трафик, като го насочват към съответните услуги според правилата, определени от потребителя.
Основните цели на използването на маршрути:
- Осигуряване на външен достъп: Правят приложенията достъпни отвън към клъстера.
- Балансировка на натоварването: Разпределят входящия трафик между няколко екземпляра на услуги.
- SSL/TLS терминализация: Обработват HTTPS връзки на ниво Ingress, освобождавайки услугите.
- Виртуално хостване: Позволяват насочване на трафика към различни услуги в зависимост от името на хоста в заявката.
- Рутинг на база път: Насочват трафика към различни услуги в зависимост от URL пътя в заявката.
Типичната структура на правило за маршрутизиране (в манифеста на Ingress) може да изглежда така:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: primer-ingress
spec:
rules:
- host: primer.bg
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
В този пример, трафикът към primer.bg без указание за път се насочва към услугата my-service (порт 80), а трафикът към primer.bg/api – към услугата api-service (порт 8080).
За да работи Ingress, е необходим Ingress Controller, който действа като обратен прокси и реализира правилата, определени в ресурсите Ingress. Популярните контролери включват Nginx Ingress Controller, Ambassador, Traefik.