Zurück zum Blog

Erkundung von CloudSigma PaaS: So greifen Sie über eine öffentliche IP-Adresse auf eine Kubernetes-Anwendung zu

Erkundung von CloudSigma PaaS: So greifen Sie über eine öffentliche IP-Adresse auf eine Kubernetes-Anwendung zu

CloudSigma PaaS ermöglicht es Benutzern, ihre Anwendungen über eine öffentliche IP-Adresse bereitzustellen. Diese Adresse muss an einen Knoten aus der Kubernetes-Cluster-Umgebung angehängt werden. Es gibt zwei Möglichkeiten, dies in der CloudSigma PaaS-Umgebung zu erreichen:

  • Eine Möglichkeit besteht darin, die öffentliche IP an einen dedizierten Load Balancer anzuhängen.1-Public IP for Access to Kubernetes Application in Jelastic PaaS
  • Eine andere Möglichkeit besteht darin, die öffentliche IP an einen Worker-Knoten von Kubernetes anzuhängen.

In dieser Anleitung zeigen wir Ihnen, wie Sie über einen dieser beiden Ansätze Zugriff auf die Kubernetes-Anwendung erhalten.

Einrichten eines dedizierten Load Balancers für den Zugriff auf Kubernetes-Anwendungen

Zuerst lernen wir, wie man einen dedizierten Load Balancer für den Anwendungszugriff einrichtet:

  1. Gehen Sie zum CloudSigma Marketplace, um das Kubernetes-Cluster zu finden und zu installieren. Stellen Sie dann Ihre Anwendung bereit. Als Beispiel werden wir den Jakarta EE Cargo Tracker.
  2. Suchen und klicken Sie neben Ihrem Kubernetes-Cluster auf Umgebungstopologie ändern. Fügen Sie im sich öffnenden Fenster einen dedizierten Load-Balancer-Knoten hinzu. Hängen Sie dann eine öffentliche IP-Adresse wie folgt daran an:

2-Public IP Jelastic PaaS

In unserem Beispiel haben wir den NGINX-Load-Balancer-Knoten verwendet. Es stehen mehrere andere Load Balancer zur Verfügung, darunter HAProxy, LS Web ADC und Varnish. Sie können denjenigen wählen, den Sie bevorzugen.

Wenn Sie mit der Änderung der Topologie fertig sind, sehen die angewendeten Änderungen wie folgt aus:

3-Public IP for Access to Kubernetes Application in Jelastic PaaS

4-Public IP for Access to Kubernetes Application in Jelastic PaaS

3. Der nächste Schritt besteht darin, einen A-Eintrag für eine benutzerdefinierte Domain zu erstellen. Sie verwenden dieselbe öffentliche IP-Adresse, die Sie in den vorherigen Schritten verwendet haben. In diesem Beispiel verwenden wir cargo-tracker.cloudsigma.website:

5-Public IP for Access to Kubernetes Application in Jelastic PaaS

4. Jetzt können wir unsere benutzerdefinierte Domain an das K8s-Cluster anhängen. Dazu senden wir eine Anfrage zur Ausstellung eines vertrauenswürdigen Let’s Encrypt SSL-Zertifikats:

  • Bewegen Sie den Mauszeiger über den Load Balancer und klicken Sie auf Add-Ons.
  • Suchen und installieren Sie Let’s Encrypt Free SSL:

6-Public IP for Access in Jelastic PaaS-02

  • Geben Sie in der Konfiguration Ihren benutzerdefinierten Domainnamen ein und klicken Sie dann auf Installieren. In unserem Fall lautet der Domainname wie folgt:

7-Public IP for Access to Kubernetes Application in Jelastic PaaS-

Schließlich haben wir nun unsere Anwendung so eingerichtet, dass wir über die benutzerdefinierte Domain https://cargo-tracker.cloudsigma.website darauf zugreifen können. Wir haben auch den Datenverkehr unserer Anwendung mit einem gültigen und vertrauenswürdigen Let’s Encrypt SSL-Zertifikat verschlüsselt.

Zugriff auf die Anwendung über die öffentliche IP-Adresse des Kubernetes-Worker-Knotens erhalten

Als Nächstes betrachten wir den alternativen Ansatz, den Sie wählen können, um die Anwendung außerhalb des Kubernetes-Clusters verfügbar zu machen. Im Wesentlichen lernen wir, wie man eine öffentliche IP-Adresse an einen Worker-Knoten im Kubernetes-Cluster anhängt, um die App direkt zugänglich zu machen:

8-Public IP for Access to Kubernetes Application in Jelastic PaaS

Fahren wir mit demselben Beispiel fort, das wir Ihnen zuvor gezeigt haben. Wir verwenden dasselbe Cluster, auf dem wir unsere Cargo Tracker-Anwendung bereitgestellt haben. So gehen Sie vor:

1. Klicken Sie auf Umgebungstopologie ändern. Fügen Sie die öffentliche IP-Adresse zum Worker-Knoten hinzu:

9.1-Public IP for Access in Jelastic PaaS

2. Erstellen Sie als Nächstes einen A-Eintrag für Ihre benutzerdefinierte Domain und weisen Sie ihn der soeben hinzugefügten IP zu. Stellen Sie sicher, dass Sie einen Domainnamen verwenden, der sich von dem im vorherigen Kapitel verwendeten unterscheidet. Wir verwenden beispielsweise den folgenden Domainnamen: cargo-tracker-worker.cloudsigma.website:

9.2-Public IP for Access to Kubernetes Application in Jelastic PaaS

3. Bewegen Sie den Mauszeiger über die Control Plane oder den Master-Knoten und klicken Sie auf Add-Ons. Suchen und installieren Sie Certificate Manager. Dadurch sollte ein cert-manager-Controller zusammen mit einem NGINX-Ingress-Controller mit dem Service-Typ LoadBalancer installiert werden. Letzterer enthält die IP-Adresse, die Ihrem Worker-Knoten zugeordnet ist. Er wird die Ingress-Klassen-Ressourcen „nginx-cert“ bedienen:

10-Public IP for Access to Kubernetes Application in Jelastic PaaS-01

4. Geben Sie in das entsprechende Feld Ihren bevorzugten Domainnamen ein und klicken Sie auf Anwenden:

11-Public IP for Access to Kubernetes Application in Jelastic PaaS

5. Zum Zeitpunkt der Installation installiert das Add-on auch eine Testanwendung namens helloworld-cert. Sie können die von ihr verwendeten Ressourcen einfach mit diesen Befehlen löschen:

Diese Befehle sollten eingegeben und ausgeführt werden über SSH (SFTP) oder das Web SSH Gate der Control Plane oder des Master-Knotens. Bewegen Sie den Mauszeiger über den Knoten und klicken Sie auf die Web SSH -Option daneben, um auf das Gate zuzugreifen.

Die andere Möglichkeit besteht darin, den Mauszeiger über die Control Plane oder Master Node zu bewegen und auf Config zu klicken. Gehen Sie von hier aus zum SFTP/SSH Gate und folgen Sie den Anweisungen.

6. Um den SSL-Verkehr der Anwendung zu beenden und das Routing zum cargo-tracker-Dienst zu verwalten, müssen wir eine Ingress-Ressource namens cargo-tracker-worker. erstellen. Nehmen wir an, wir verwenden cargo-tracker-worker-ingress.yaml. Sie können einen Editor wie vi verwenden, um eine Datei zu erstellen und dann den folgenden Code einzufügen:

Gehen Sie danach wie folgt vor:

7. Wenn Sie diesen Ingress erstellen, stellt der Certificate Manager automatisch ein Let’s Encrypt SSL-Zertifikat für Ihren neuen Domainnamen aus. Geben Sie dem System ein oder zwei Minuten Zeit, bevor Sie überprüfen, ob Ihre App unter dem neuen benutzerdefinierten Domainnamen verfügbar ist, der in unserem Fall https://cargo-tracker-worker.cloudsigma.website lautet.

Und voilà! Wenn Sie diese Schritte befolgen, haben Sie Ihre Anwendung mit zwei verschiedenen Ansätzen bereitgestellt. Als Ergebnis sehen Sie zwei Ingresses. In unserem Fall sind dies:

  • cargo-tracker

Dieser Ingress bedient den Anwendungsdatenverkehr, der über die öffentliche IP Ihres dedizierten Load Balancers eingeht.

  • cargo-tracker-worker

Dieser Ingress ist so konfiguriert, dass er den Anwendungsdatenverkehr bedient, der direkt von der IP-Adresse eingeht, die dem K8s-Worker-Knoten zugewiesen ist.

So werden sie angezeigt:

12-Public IP for Access in Jelastic PaaS

Je nachdem, für welche Art von Implementierung Sie sich entscheiden, benötigen Sie in der Produktion nur einen Ingress. CloudSigma PaaS bietet seinen Nutzern Zugriff auf eine Reihe von Tools zur Durchführung von Lastverteilung wie es von ihren Anwendungen benötigt wird. Lesen Sie gerne mehr über Lastverteilung auf der Plattform. Wir haben auch detaillierte Anleitungen zu den Grundlagen der Lastverteilung mit Tools wie NGINX und HAProxy und anderen verfügbaren Tools.

Sie können CloudSigma’s PaaS mit unserer 7-tägigen kostenlosen Testversion testen oder uns kontaktieren, wenn Sie möchten, dass wir Ihnen weitere Details und eine Plattform-Demo zur Verfügung stellen. 

7 Tage kostenlos testen

author

Zhenya Mocheva

Autor · CloudSigma

Preslav Dobrev ist ein kreativer Designer bei CloudSigma und konzentriert sich auf eine konsistente Unternehmensidentität durch traditionelle und innovative Marketingkanäle. Er versteht es meisterhaft, künstlerische Vision mit strategischem Marketing zu verbinden, um wirkungsvolle Markengeschichten zu schaffen.

Kommentare

Noch keine Kommentare. Schreiben Sie den ersten.