Greifen Sie über Ingress auf den Dienst im Remote-Kubernetes-Cluster zu

8

Ich versuche, auf einen Dienst in einem vorhandenen Kubernetes-Cluster zuzugreifen, der auf einem Remotecomputer bereitgestellt wird. Ich habe den Cluster so konfiguriert, dass er kubectlvon meinem lokalen Mac aus zugänglich ist .

$ kubectl cluster-info
Kubernetes master is running at https://192.168.58.114:6443
KubeDNS is running at https://192.168.58.114:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

Die Eingangskonfiguration für den Dienst, den ich verbinden möchte, lautet:

kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: gw-ingress
  namespace: vick-system
  selfLink: /apis/extensions/v1beta1/namespaces/vick-system/ingresses/gw-ingress
  uid: 52b62da6-01c1-11e9-9f59-fa163eb296d8
  resourceVersion: '2695'
  generation: 1
  creationTimestamp: '2018-12-17T06:02:23Z'
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: >
      {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{"kubernetes.io/ingress.class":"nginx","nginx.ingress.kubernetes.io/affinity":"cookie","nginx.ingress.kubernetes.io/session-cookie-hash":"sha1","nginx.ingress.kubernetes.io/session-cookie-name":"route"},"name":"gw-ingress","namespace":"vick-system"},"spec":{"rules":[{"host":"wso2-apim-gateway","http":{"paths":[{"backend":{"serviceName":"gateway","servicePort":8280},"path":"/"}]}}],"tls":[{"hosts":["wso2-apim-gateway"]}]}}
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/affinity: cookie
    nginx.ingress.kubernetes.io/session-cookie-hash: sha1
    nginx.ingress.kubernetes.io/session-cookie-name: route
spec:
  tls:
    - hosts:
        - wso2-apim-gateway
  rules:
    - host: wso2-apim-gateway
      http:
        paths:
          - path: /
            backend:
              serviceName: gateway
              servicePort: 8280
status:
  loadBalancer:
    ingress:
      - ip: 172.17.17.100

Meine Liste der Dienstleistungen sind: Geben Sie hier die Bildbeschreibung ein

Meine /etc/hostsDatei sieht wie folgt aus:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost

172.17.17.100 wso2-apim-gateway wso2-apim wso2sp-dashboard

Welche URL sollte ich verwenden, um über meinen lokalen Browser auf diesen Dienst zuzugreifen? Sollte ich weitere Konfigurationen vornehmen?

Pasan W.
quelle

Antworten:

3

https://wso2-apim-gateway/ist die URL, die gatewaygemäß Ihrer Konfiguration auf den Dienst verweist. Dies wird durch den host: wso2-apim-gatewayTeil Ihrer Konfiguration definiert. Beachten Sie, dass Ihr Load Balancer ( 172.17.17.100) eine private IP-Adresse ist. Sie müssen sich also im selben Netzwerk befinden, um darauf zugreifen zu können.

Ich kann keine weitere Konfiguration sehen, außer vielleicht TLS-Zertifizierungen. Wenn Sie eine 5xx-Antwort erhalten, möchten Sie möglicherweise die Protokolle der Ingress-Nginx-Bereitstellung / des Replikatsatzes überprüfen.

user2640621
quelle
Ja. Das Problem war mit der externen IP des von mir verwendeten Nodeports. Ich habe es auf die tatsächliche IP des Remote-Hosts bearbeitet, auf dem es ausgeführt wurde, und auch den Eintrag in / etc / hosts durch diese IP ersetzt, und die Dinge haben gut funktioniert.
Pasan W.