DevOps 👨🏼💻 Інженер
Kubernetes Ingress 🌐
У минулому пості (лінк) розібрали Services і дійшли до LoadBalancer. Але піднімати окремий LB на кожен сервіс - дорого і незручно. Що робити, якщо треба виставити назовні десяток сервісів?
Відповідь - Ingress. Він складається з двох частин:
⚙️ Ingress resource - YAML-об'єкт із правилами роутингу: який хост чи шлях веде на який сервіс, які TLS-сертифікати. Сам по собі нічого не робить.
⚙️ Ingress controller - софт (наприклад traefik), що виконує ці правила. Моніторить K8s API, помічає нові Ingress-правила і оновлює маршрути.
Ingress працює на L7 - бачить HTTP-запит і роутить за хостом (api.example.com) або шляхом (/api). Сам контролер (зазвичай) виставляється назовні через один LB, а він уже роздає трафік усередину.
⚠️ Але в Kubernetes уже є офіційний наступник Ingress - гнучкіший Gateway API. Про нього розповім окремо, він набагато цікавіший.
DevOps Інженер 👨🏼💻
5 · 583 ·