3

Ich habe einen Restfull Service hinter selbst signierten Cert durch NGINX in Google Cloud Kubernetes Infrastruktur. Kubernetes Service Loader macht 443 verfügbar und routet den Verkehr diese Container. Alles funktioniert gut wie erwartet, abgesehen davon, dass interne Kunden gebeten werden, die Warnmeldung "Self Sign Cert" zu ignorieren! Es ist Zeit, zu CA-Zertifikat nur so weit zu verschieben, wie ich sehe, ist https loader, aber ich konnte nicht herausfinden, wie wir den Verkehr zu Service-Lader oder direkt zu Pods als Service-Lader (http loader)HTTP (S) Load Balancing für Kubernetes/Docker

umleiten können Jede Hilfe Apprecaited

Antwort

3
  1. Update-Firewall-Regeln für

    IP: 130.211.0.0/22 
    tcp:30000-32767 
    
  2. erstellen NodePort Typen Service

    apiVersion: v1 
    kind: Service 
    metadata: 
        name: yourservicenodeport 
        labels: 
        name: your-service-node-port 
    spec: 
        type: NodePort 
        ports: 
        - port: 80 
         nodePort: 30001 
        selector: 
        name: yourpods 
    
  3. Gesundheit Erstellen Check

    Für den nodeport, in diesem Fall i t ist; 30001

  4. Erstellen Sie einen Ingress-Service;

    apiVersion: extensions/v1beta1 
    kind: Ingress 
    metadata: 
        name: youTheking-ingress-service 
    spec: 
        backend: 
        serviceName: yourservice 
        servicePort: 80 
    
  5. Warten Sie einige Minuten, geduldig

  6. Ändern Sie den Gesundheits-Check auf http Load Balancer

    ein. Wechseln Sie zur Registerkarte Load Balancing on Networking

    b. Klicken Sie auf Advance-Menü

    c. Go Backend Services und Bearbeiten

    d.Aktualisieren Sie Gesundheits-Check-Option verwenden, einen für nodeport Service erstellt

  7. Wiederholen Sie Schritt 5 zum Beispiel Gruppe zu erkennenden Gesundheit

  8. SSL erforderlich ist, gehen Sie zurück, um das Darlehen Balancer, zu bearbeiten, Frontend-Konfiguration klicken, dann hinzufügen https mit cert

  9. Sie sind bereit, die zweite Option mit L7 zum Lastenausgleich rollen

+0

Firewall-Regel und Standardzustandsprüfung auf 'nodePort' (30001 in diesem Fall), Pfad'/'werden von GCP erstellt, keine Notwendigkeit, es zu tun –

+0

Hatten Sie dieses Problem mit Ihrem Load Balancer? http://stackoverflow.com/questions/40763718/kubernetes-https-ingress-in-google-container-engine –

0

Ich bin mir nicht sicher, dass ich Sie Frage vollständig verstehe, aber ich werde versuchen, es trotzdem zu beantworten.

Sie haben zwei Möglichkeiten für Ihren Dienst mit einem Zertifikat signiert von einer vertrauenswürdigen CA aussetzt:

  1. Tun Sie, was Sie heute tun, sondern mit dem realen cert. Sie werden wahrscheinlich das Cert in ein Geheimnis setzen und Ihre Nginx-Konfiguration darauf richten, um das Cert zu laden.

  2. Ersetzen Sie Nginx mit dem Google L7 Lastenausgleich. Sie würden Ihr Zertifikat auf Google hochladen, den L7-Balancer so konfigurieren, dass er HTTPS beendet und Traffic an Ihre Back-Ends weiterleitet.

+0

ich versuchte. Was ich nicht herausfinden konnte ist, dass ich beim Backend-Service die Maschinen in den Container-Cluster aufnehmen kann, aber ich kann keine Pods angeben, die den Verkehr auf diesem Cluster bekommen sollen. Wir können Load-Balancer-Dienst über Kubernetes konfigurieren, ich kann die Bezeichnung für den Pod-Namen angeben, damit diese Container den Verkehr erhalten – East2West

+0

Um den L7-Balancer mit einem Kubernetes-Dienst zu verbinden, sollten Sie den Dienst als 'NodePort'-Dienst bereitstellen und dann konfigurieren Der L7-Dienst verteilt den Datenverkehr auf allen Computern in Ihrem Cluster auf dem Port, der dem Dienst zugewiesen ist. –

+0

Gibt es Dokumentation/Beispiel für die Einrichtung von l7 mit NodePort? – East2West