2017-01-10 1 views
0

У меня есть простой попаданию для виртуального хостинга:GCE Ingress ресурсов и услуг ClusterIP

apiVersion: extensions/v1beta1 
kind: Ingress 
metadata: 
    name: ingress-access 
spec: 
    rules: 
    - host: service1.domain.com 
    http: 
     paths: 
     - backend:  
      serviceName: service1 
      servicePort: 80 
    - host: service2.domain.com 
    http: 
     paths: 
     - backend: 
      serviceName: service2 
      servicePort: 80 

Услуги service1 и servcie2 имеют определения, как:

apiVersion: v1 
kind: Service 
metadata: 
    name: service1 
    labels: 
    chart: "chart" 
spec: 
    type: ClusterIP # LoadBalancer 
    ports: 
    - port: 80 
    targetPort: 80 
    protocol: TCP 
    name: web 
    selector: 
    app: service1 

Если развернуть службы с типом ClusterIP они не работа, вход отвечает:

Error: Server Error 
The server encountered a temporary error and could not complete your request. 
Please try again in 30 seconds. 

Тогда я ча Нге тип одной из услуг LoadBalancer, он получает внешний IP-адрес, и я могу получить к нему доступ с помощью этого внешнего IP, а также я могу получить доступ к нему, хотя входной (используя имя хоста service1.domain.com)

Если я пытаюсь получить доступ к Service2 (service2 .domain.com - который до сих пор имеет тип ClusterIP) попаданию отвечает:

default backend - 404 

Если изменить тип servcice2 к LoadBalancer он начинает работать через попаданию.

Я думаю, что вход должен работать с услугами ClusterIP, потому что тип службы LoadBalancer присваивает внешний IP-адрес, который не нужен вообще, и если я правильно его использую, gcloud ingress resource по умолчанию должен использовать свой собственный load loadbalancer.

Так что же случилось с установкой?

ответ

Смежные вопросы