Как организовать доступ к сервису в Kubernetes извне?
Ответ от нейросети
sobes.tech AI
Для организации доступа к сервису в Kubernetes извне обычно используют следующие способы:
-
Service типа LoadBalancer — если кластер работает в облаке, этот тип создаёт внешний балансировщик нагрузки с публичным IP, через который доступен сервис.
-
NodePort — открывает фиксированный порт на всех узлах кластера, через который можно обратиться к сервису извне, используя IP любого узла и этот порт.
-
Ingress — объект, который управляет внешним доступом к сервисам, обычно через HTTP/HTTPS, с возможностью маршрутизации, TLS и других правил. Требует установки Ingress Controller.
-
External IPs или MetalLB — для bare-metal кластеров можно использовать MetalLB для назначения внешних IP адресов сервисам.
Пример создания Service типа LoadBalancer:
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: LoadBalancer
selector:
app: my-app
ports:
- protocol: TCP
port: 80
targetPort: 8080
После создания сервис получит внешний IP, по которому будет доступен извне.