Я предоставил сервис в GKE, используя следующую конфигурацию балансировщика нагрузки.Я могу перенаправить порт (kubectl port-forward svc / app-external 3000: 80) локально, а служба переадресовать развернутому приложению Rails, работающему в контейнере на порту 3000. Однако, перейдя по IP-адресу, указанному в LoadBalancer Ingress
дает соединение отказано.
Насколько я понимаю, балансировщики нагрузки должны автоматически настраиваться облаком Google для получения подключений, но, возможно, я что-то упустил.Любая помощь будет оценена.Ниже моя конфигурация балансировщика нагрузки.
apiVersion: v1
kind: Service
metadata:
labels:
app: app
name: app-external
spec:
externalTrafficPolicy: Cluster
ports:
- port: 80
protocol: TCP
targetPort: http-server
selector:
app: app
sessionAffinity: None
loadBalancerIP: x.x.x.x
type: LoadBalancer
Обновление
Выход из kubectl get service
NAME | TYPE | CLUSTER-IP | EXTERNAL-IP | PORT(S)
---------------|------------|-------------|--------------|------------
app-external |LoadBalancer|xx.xx.xxx.xxx|xx.xxx.xxx.xxx|80:32014/TCP
---------------|------------|-------------|--------------|------------
kubernetes | ClusterIP | xx.xx.xxx.x | <none> | 443/TCP
Я использую внешний IP для доступа к нему.