Большинство веб-приложений созданы, чтобы взаимодействовать через интернет. Вы развернули в кластере приложение, но у вас пока нет к нему доступа из интернета. Чтобы исправить эту проблему, воспользуемся сервисом LoadBalancer.У созданного пода есть внутренний IP-адрес. (Помните, мы говорили о том, что в кластере есть собственный сервис DNS? Он работает с внутренними IP-адресами объектов кластера, чтобы те могли взаимодействовать.) Однако внутренний IP-адрес может меняться, когда ресурсы группы узлов обновляются. Чтобы обращаться к приложению извне, требуется неизменный публичный IP-адрес — это и будет IP-адрес балансировщика.
- Создайте файл-манифест load-balancer.yaml:
apiVersion: v1
kind: Service
metadata:
name: my-loadbalancer
spec:
selector:
app: nginx
ports:
- port: 80
targetPort: 80
type: LoadBalancer
port
— порт сетевого балансировщика, на котором будут обслуживаться пользовательские запросы;targetPort
— порт контейнера, на котором доступно приложение;selector
— метка селектора из шаблона подов в манифесте объекта Deployment.
- Выполните манифест:
kubectl apply -f load-balancer.yaml
Вы увидите сообщение:
service/my-loadbalancer created
- В консоли управления откройте раздел Load Balancer. Там должен появиться балансировщик нагрузки с префиксом k8s в имени и уникальным идентификатором кластера Kubernetes®.
- Скопируйте IP-адрес балансировщика в адресную строку браузера. Вы увидите приветственную страницу nginx.
Свежие комментарии