Google Cloud Ingress retornando 404 para externalName

1

tentando configurar meus Kubernetes do GC. Usando o controlador de ingresso para o balanceamento de carga. Embora funcione perfeitamente para serviços conectados a contêineres em execução em meus kubernetes, luto para que funcione para o meu wordpress externo.

Eu segui a explicação no link e criei um serviço sem seletor.

apiVersion: v1
kind: Service
metadata:
    name: external-wordpress-service
    annotations: 
        ingress.kubernetes.io/preserve-host: "false"
spec:
    type: ExternalName
    externalName: xyz.myraidbox.de

Então eu edito meu ingress.yaml para apontar para este serviço

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: spx-ingress
spec:
  tls:
  - hosts:
    - domain.com
    - www.domain.com
    secretName: le-tls-cert-prod-04
  backend:
    serviceName: frontend-service
    servicePort: 80
  rules:
  - http:
      paths:
      - path: /
        backend:
          serviceName: frontend-service
          servicePort: 80
      - path: /test/
        backend:
          serviceName: external-wordpress-service
          servicePort: 80

Então o plano é ter o www.domain.com/test/ para acessar o meu wordpress externo no nível da raiz

www.domain.com/test/ - > xyz.myraidbox.de

Depois de quase um bilhão de edições, ainda recebo o 404 e meu frontend retorna a página 404, em vez do conteúdo do meu WP externo.

Alguma sugestão? Thx antecipadamente

Felicidades Andy

    
por Andreas H 12.07.2018 / 10:42

1 resposta

0

Vejo que o back-end do Ingress não está configurado para apontar para um recurso de kubernetes, mas aponta para um site externo (wordpress). Isso é possível, você pode criar um back-end que aponte para um site externo no Service , no entanto, você precisaria adicionar mais especificações ao Service .

Solução: tente seguir este exemplo em este tópico do GitHub e especifique um port 80, targetport e protocol no Service .

Da seguinte maneira:

kind: Service
apiVersion: v1
metadata:
  name: external-wordpress-service
  annotations: 
        ingress.kubernetes.io/preserve-host: "false"
spec:
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80
  type: ExternalName
  externalName: xyz.myraidbox.de
    
por 19.07.2018 / 19:54