Junior — Middle
Как реализирате и настройвате балансировчици на натоварването в Kubernetes за разпределяне на трафика?
sobes.tech AI
Отговор от AI
В Kubernetes обикновено се използват обекти Service с тип LoadBalancer или Ingress за балансировка на натоварването.
- Service от тип LoadBalancer създава външен балансировач на натоварването (например в облака), който разпределя трафика към подовете.
- Ingress управлява HTTP/HTTPS трафика и позволява настройка на правила за маршрутизиране и балансировка.
Пример за настройка на Service с LoadBalancer:
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: LoadBalancer
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
За по-гъвкава балансировка може да се използват контролери за Ingress (например NGINX Ingress Controller), където се конфигурират правила за маршрутизиране, SSL, пренаписване на URL и др.
Важно е също така да се настроят readiness и liveness проби за подовете, за да се гарантира, че балансировачът ще насочва трафика само към здрави екземпляри.