CloudSigma PaaS permet aux utilisateurs d'exposer leurs applications à l'aide d'une adresse IP publique. Cette adresse doit être rattachée à un nœud du cluster Kubernetes . Il existe deux façons d'y parvenir dans l'environnement CloudSigma PaaS :
- La première méthode consiste à rattacher l'IP publique à un équilibreur de charge dédié.

- Une autre méthode consiste à rattacher l'IP publique à un nœud Worker de Kubernetes.
Dans ce tutoriel, nous vous guiderons sur la façon d'accéder à l'application Kubernetes en utilisant l'une ou l'autre de ces approches.
Configuration d'un équilibreur de charge dédié pour l'accès à l'application Kubernetes
Tout d'abord, nous allons apprendre à configurer un équilibreur de charge dédié pour l'accès à l'application :
- Rendez-vous sur le CloudSigma Marketplace pour localiser et installer le cluster Kubernetes. Ensuite, déployez votre application. À titre d'exemple, nous allons déployer le Jakarta EE Cargo Tracker.
- À côté de votre cluster Kubernetes, recherchez et cliquez sur Modifier la topologie de l'environnement. Dans la fenêtre qui s'ouvre sur votre écran, ajoutez un nœud d'équilibreur de charge dédié. Ensuite, rattachez-y une adresse IP publique comme ceci :

Dans notre exemple, nous avons utilisé l'équilibreur de charge NGINX . Plusieurs autres équilibreurs de charge sont disponibles, notamment HAProxy, LS Web ADC, et Varnish. Vous pouvez choisir celui que vous préférez utiliser.
Une fois la topologie modifiée, les modifications appliquées ressembleront à ceci :


3. L'étape suivante consiste à créer un enregistrement A pour un domaine personnalisé. Vous utiliserez la même adresse IP publique que celle utilisée lors des étapes précédentes. Dans cet exemple, nous utiliserons cargo-tracker.cloudsigma.website:

4. Nous pouvons maintenant rattacher notre domaine personnalisé au cluster K8s. Pour ce faire, nous allons envoyer une demande d'émission d'un certificat de confiance Let’s Encrypt SSL :
- Survolez l'équilibreur de charge et cliquez sur Add-Ons.
- Recherchez et installez Let’s Encrypt Free SSL:

- Dans la configuration, saisissez votre nom de domaine personnalisé, puis cliquez sur Installer. Dans notre cas, le nom de domaine est le suivant :

Enfin, nous avons maintenant rendu notre application accessible à l'aide du domaine personnalisé https://cargo-tracker.cloudsigma.website. Nous avons également chiffré le trafic sur notre application avec un certificat SSL Let's Encrypt valide et de confiance.
Accéder à l'application à l'aide de l'adresse IP publique du nœud Worker Kubernetes
Ensuite, nous examinerons l'autre approche que vous pouvez adopter pour rendre l'application disponible en dehors du cluster Kubernetes. Essentiellement, nous apprendrons comment rattacher une adresse IP publique à un nœud worker dans le cluster Kubernetes afin de rendre l'application directement accessible :
Continuons avec le même exemple que celui présenté précédemment. Nous utiliserons le même cluster sur lequel nous avons déployé notre application Cargo Tracker. Voici comment procéder :
1. Cliquez sur Modifier la topologie de l'environnement. Ajoutez l'adresse IP publique au nœud worker :

2. Ensuite, créez un enregistrement A pour votre domaine personnalisé et associez-le à l'adresse IP que vous venez d'ajouter. Assurez-vous d'utiliser un nom de domaine différent de celui utilisé dans le chapitre précédent. For example, we will use the following domain name: cargo-tracker-worker.cloudsigma.website:

3. Survolez le Control Plane ou le nœud Master et cliquez sur Add-Ons. Recherchez et installez Certificate Manager. Cela devrait installer un contrôleur cert-manager ainsi qu'un contrôleur d'ingress NGINX avec le type de service LoadBalancer. Ce dernier contient l'adresse IP associée à votre nœud worker. Il servira les ressources de la classe d'ingress « nginx-cert » :

4. Dans le champ indiqué, saisissez votre nom de domaine préféré et cliquez sur Appliquer:

5. Lors de l'installation, l'extension installe également une application de test appelée helloworld-cert. Vous pouvez simplement supprimer les ressources qu'elle utilise avec ces commandes :
|
1 2 3 4 5 |
$ kubectl delete deploy hello-cert-manager $ kubectl delete svc hello-cert-manager $ kubectl delete ing helloworld-cert |
Ces commandes doivent être saisies et exécutées à l'aide de SSH (SFTP) ou de la Web SSH Gate du Control Plane ou du Master Node. Survolez le nœud et cliquez sur l'option Web SSH à côté pour accéder à la passerelle.
L'autre option consiste à survoler le Control Plane ou Master Node et à cliquer sur Config. De là, allez dans le SFTP/SSH Gate et suivez les instructions fournies.
6. Afin de terminer le trafic SSL de l'application et de gérer le routage vers le service cargo-tracker, nous devons créer une ressource ingress appelée cargo-tracker-worker. Disons que nous utilisons cargo-tracker-worker-ingress.yaml. Vous pouvez utiliser un éditeur tel que vi pour créer un fichier puis coller le code suivant :
|
1 |
vi cargo-tracker-worker-ingress.yaml |
Après cela, procédez comme suit :
|
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. Lorsque vous créez cet ingress, Certificate Manager émettra automatiquement un certificat SSL Let’s Encrypt pour votre nouveau nom de domaine. Laissez une minute ou deux au système avant de vérifier si votre application est disponible sur le nouveau nom de domaine personnalisé, qui est https://cargo-tracker-worker.cloudsigma.website dans notre cas.
Et voilà ! En suivant ces étapes, vous avez exposé votre application en utilisant deux approches différentes. Par conséquent, vous verrez deux ingresses. Pour nous, ce sont :
- cargo-tracker
Cet ingress dessert le trafic de l'application qui passe par l'IP publique de votre équilibreur de charge dédié.
- cargo-tracker-worker
Cet ingress est configuré pour desservir le trafic de l'application qui provient directement de l'IP associée au nœud worker K8s.
Voici comment ils apparaîtront :

Selon le type d'implémentation pour lequel vous optez, vous n'aurez besoin que d'un seul ingress en production. CloudSigma PaaS donne à ses utilisateurs l'accès à un certain nombre d'outils pour effectuer l'équilibrage de charge selon les besoins de leurs applications. N'hésitez pas à lire et à en savoir plus sur l'équilibrage de charge sur la plateforme. Nous disposons également de guides détaillés sur les bases de l'équilibrage de charge avec des outils tels que NGINX et HAProxy parmi d'autres outils disponibles.
Vous pouvez essayer le PaaS de CloudSigma avec notre essai gratuit de 7 jours ou nous contacter si vous souhaitez que nous vous fournissions plus de détails et une démonstration de la plateforme.

Commentaires
Aucun commentaire pour l'instant. Soyez le premier.