CloudSigma PaaS pozwala użytkownikom na udostępnianie swoich aplikacji za pomocą publicznego adresu IP. Adres ten musi być przypisany do węzła ze środowiska klastra Kubernetes. Istnieją dwa sposoby na osiągnięcie tego w środowisku CloudSigma PaaS:
- Jednym ze sposobów jest przypisanie publicznego adresu IP do dedykowanego load balancera.

- Innym sposobem jest przypisanie publicznego adresu IP do węzła Worker z Kubernetes.
W tym samouczku przeprowadzimy Cię przez proces uzyskiwania dostępu do aplikacji Kubernetes przy użyciu jednego z tych podejść.
Konfiguracja dedykowanego load balancera w celu uzyskania dostępu do aplikacji Kubernetes
Najpierw dowiemy się, jak skonfigurować dedykowany load balancer w celu uzyskania dostępu do aplikacji:
- Przejdź do CloudSigma Marketplace aby zlokalizować i zainstalować klaster Kubernetes. Następnie wdroż swoją aplikację. Jako przykład wdrożymy Jakarta EE Cargo Tracker.
- Obok swojego klastra Kubernetes znajdź i kliknij Change Environment Topology. W oknie, które otworzy się na ekranie, dodaj węzeł Dedicated Load Balancer. Następnie przypisz do niego publiczny adres IP w ten sposób:

W naszym przykładzie użyliśmy load balancera NGINX. Dostępnych jest wiele innych load balancerów, w tym HAProxy, LS Web ADC, oraz Varnish. Możesz wybrać ten, który wolisz.
Po zakończeniu modyfikacji topologii zastosowane zmiany będą wyglądać następująco:


3. Następnym krokiem jest utworzenie rekordu A dla własnej domeny. Użyjesz tego samego publicznego adresu IP, którego użyłeś w poprzednich krokach. W tym przykładzie użyjemy cargo-tracker.cloudsigma.website:

4. Teraz możemy przypisać naszą własną domenę do klastra K8s. Aby to zrobić, wyślemy żądanie wydania zaufanego Let’s Encrypt SSL certyfikatu:
- Najejdź kursorem na Load Balancer i kliknij Add-Ons.
- Znajdź i zainstaluj Let’s Encrypt Free SSL:

- W konfiguracji wprowadź nazwę swojej własnej domeny, a następnie kliknij Install. W naszym przypadku nazwa domeny jest następująca:

Ostatecznie nasza aplikacja jest teraz dostępna pod własną domeną https://cargo-tracker.cloudsigma.website. Zaszyfrowaliśmy również ruch w naszej aplikacji za pomocą ważnego i zaufanego certyfikatu Let’s Encrypt SSL.
Uzyskiwanie dostępu do aplikacji przy użyciu publicznego adresu IP węzła Worker Kubernetes
Następnie przyjrzymy się alternatywnemu podejściu, które można zastosować, aby udostępnić aplikację poza klastrem Kubernetes. W zasadzie dowiemy się, jak przypisać publiczny adres IP do węzła worker w klastrze Kubernetes, aby aplikacja była bezpośrednio dostępna:
Kontynuujmy z tym samym przykładem, który pokazaliśmy wcześniej. Użyjemy tego samego klastra, na którym wdrożyliśmy naszą aplikację Cargo Tracker. Oto jak postępować:
1. Kliknij Change Environment Topology. Dodaj publiczny adres IP do węzła worker:

2. Następnie utwórz rekord A dla swojej własnej domeny i skieruj go na adres IP, który właśnie dodałeś. Upewnij się, że używasz nazwy domeny innej niż ta użyta w poprzednim rozdziale. Na przykład użyjemy następującej nazwy domeny: cargo-tracker-worker.cloudsigma.website:

3. Najedź kursorem na węzeł Control Plane lub Master i kliknij Add-Ons. Zlokalizuj i zainstaluj Certificate Manager. Powinno to zainstalować kontroler cert-manager wraz z kontrolerem ingress NGINX typu usługi LoadBalancer. Ten ostatni zawiera adres IP powiązany z Twoim węzłem worker. Będzie on obsługiwał zasoby klasy ingress „nginx-cert”:

4. W podanym polu wprowadź preferowaną nazwę domeny i kliknij Apply:

5. W momencie instalacji dodatek instaluje również aplikację testową o nazwie helloworld-cert. Możesz po prostu usunąć zasoby, z których korzysta, za pomocą tych poleceń:
|
1 2 3 4 5 |
$ kubectl delete deploy hello-cert-manager $ kubectl delete svc hello-cert-manager $ kubectl delete ing helloworld-cert |
Te polecenia należy wprowadzić i wykonać za pomocą SSH (SFTP) lub Web SSH Gate dla Control Plane lub Master Node. Najedź kursorem na węzeł i kliknij na Web SSH obok niego, aby uzyskać dostęp do bramy.
Inną opcją jest najechanie kursorem na Control Plane lub Master Node i kliknięcie na Config. Stąd przejdź do SFTP/SSH Gate i postępuj zgodnie z podanymi instrukcjami.
6. Aby zakończyć ruch SSL aplikacji i obsłużyć routing do usługi cargo-tracker, musimy utworzyć zasób ingress o nazwie cargo-tracker-worker. Załóżmy, że używamy cargo-tracker-worker-ingress.yaml. Możesz użyć edytora takiego jak vi aby utworzyć plik, a następnie wkleić następujący kod:
|
1 |
vi cargo-tracker-worker-ingress.yaml |
Następnie postępuj w następujący sposób:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: cargo-tracker-worker namespace: default annotations: kubernetes.io/ingress.class: nginx-cert cert-manager.io/cluster-issuer: "letsencrypt-prod" kubernetes.io/tls-acme: "true" nginx.ingress.kubernetes.io/affinity: "cookie" nginx.ingress.kubernetes.io/affinity-mode: "persistent" nginx.ingress.kubernetes.io/session-cookie-expires: "172800" nginx.ingress.kubernetes.io/session-cookie-max-age: "172800" spec: tls: - hosts: - cargo-tracker-worker.cloudsigma.website secretName: external-domain-tls rules: - host: cargo-tracker-worker.cloudsigma.website http: paths: - path: / pathType: ImplementationSpecific backend: service: name: cargo-tracker port: number: 80 |
|
1 |
$ kubectl apply -f cargo-tracker-worker-ingress.yaml |
7. Po utworzeniu tego ingressu, Certificate Manager automatycznie wyda certyfikat SSL Let’s Encrypt dla Twojej nowej nazwy domeny. Daj systemowi minutę lub dwie, zanim sprawdzisz, czy Twoja aplikacja jest dostępna pod nową niestandardową nazwą domeny, którą w naszym przypadku jest https://cargo-tracker-worker.cloudsigma.website w naszym przypadku.
I voila! Postępując zgodnie z tymi krokami, udostępniłeś swoją aplikację przy użyciu dwóch różnych podejść. W rezultacie zobaczysz dwa ingressy. W naszym przypadku są to:
- cargo-tracker
Ten ingress obsługuje ruch aplikacji przychodzący przez publiczny adres IP Twojego dedykowanego load balancera.
- cargo-tracker-worker
Ten ingress jest skonfigurowany do obsługi ruchu aplikacji, który napływa bezpośrednio z adresu IP przypisanego do węzła roboczego (worker node) K8s.
Oto jak będą się prezentować:

W zależności od wybranego rodzaju wdrożenia, w środowisku produkcyjnym będziesz potrzebować tylko jednego ingressu. CloudSigma PaaS daje swoim użytkownikom dostęp do wielu narzędzi do wykonywania równoważenia obciążenia w zależności od potrzeb ich aplikacji. Zachęcamy do przeczytania i dowiedzenia się więcej o równoważeniu obciążenia na platformie. Posiadamy również szczegółowe przewodniki na temat podstaw równoważenia obciążenia za pomocą takich narzędzi jak NGINX oraz HAProxy spośród innych dostępnych narzędzi.
Możesz wypróbować CloudSigma’s PaaS w ramach naszego 7-dniowego bezpłatnego okresu próbnego lub skontaktować się z nami, jeśli chcesz, abyśmy przekazali Ci więcej szczegółów i zaprezentowali platformę.

Komentarze
Brak komentarzy. Bądź pierwszy.