Skip to main content

Google Kubernetes Engine

Mise en place d'un cluster GKE

Dans la section CALCUL de GCP, allez sur le service Kubernetes Engine > Clusters.

image-1652628929254.png

Une fois sur cette page, il peut vous être demandé d'activer GKE. Cela fait, cliquez sur le bouton Créer pour ajouter un nouveau cluster, puis choisissez le mode GKE Standard.

image-1652629034513.png

Configuration du cluster

Paramètres de base du cluster

  • Donnez un nom à votre cluster
  • Choisissez une zone proche de là où vous trouvez
  • Choisissez une version de Kubernetes (celle proposée par défaut est très bien)

image-1652629212093.png

Pools de nœuds

  • Donnez un nom à votre pool
  • Choisissez la taille
  • Pour éviter une surfacturation, laissez décoché l'autoscaling

Le nombre de noeuds peut être redimensionnable manuellement après la création du cluster en cas de besoin

image-1652629345086.png

  • Côté nœuds, laissez le type d'image à Container Optimized pour minimiser la consommation de ressources
  • Sélectionnez aussi le type de nœuds

 En dessous de 2 Go de RAM cela va être limite, surtout si vous souhaitez utiliser des annotations de demande de ressources dans vos pods car ceux présents de base prennent déjà quasiment tout.

  • Taille du disque : 30 Go pour minimiser les frais
  • Le reste des options peuvent être laissées par défaut

image-1652629678303.png

image-1652629683773.png

Réseau

Vous pouvez définir la visibilité de votre Cluster (par défaut public) ainsi que le réseau sur lequel il se trouve.
On peut laisser par défaut.

image-1652629788957.png

Création

Cliquez ensuite sur Créer en bas de la page pour créer le cluster Kubernetes.

Après quelques minutes, ce dernier devrait apparaitre dans la liste des clusters avec un état Vert signifiant qu'il est opérationnel.

image-1652629916014.png

Connexion au Cluster via la console GCP

pour manipuler notre cluster, on peut s'y connecter via la console GCP.

En allant voir les détails du cluster, cliquez sur Connecter, puis copiez collez la commande de connexion dans votre console Cloud Shell.

image-1652632632066.png

image-1652632639577.png

On peut désormais effectuer quelques tests avec la commande kubectl

image-1652632700593.png

Configuration d'un Ingress

Mise en place d'un LoadBalancer

Lorsqu'une application tourne sur votre cluster, elle n'est pas directement exposée sur internet. Le mieux est de la rendre visible derrière un LoadBalancer autogéré par GCP.

Pour cela, votre déploiement doit être exposé par service de type LoadBalancer :

kind: Service
apiVersion: v1
metadata:
  name: <deploymentName>
spec:
  selector:
    run: <deploymentName>
  ports:
    - protocol: TCP
      port: <WantedExposedPort>
      targetPort: <podExposedPort>
  type: LoadBalancer

En vous rendant sur GCP > Kubernetes Engine > Services et entrées, vous devriez pouvoir vérifier que votre LoadBalancer fonctionne et pointe correctement sur votre déploiement.

image-1652630306810.png

Vérifier que votre accès à votre service fonctionne correctement en vous rendant sur le Point de terminaison

image-1652630431654.png

Activation d'un Ingress

Il faut maintenant activer l'exposition de ce LoadBalancer derrière un domaine et avec un certificat HTTPS.

Pour faire cela, cochez votre LoadBalancer puis cliquez sur Créer un Ingress

image-1652630585785.png

Donnez un nom à votre entrée

image-1652630635338.png

Définissez ensuite les règles d'accès à votre LoadBalancer, notamment le domaine par lequel y acceder

Une fois l'IP publique de ce point d'entrée définis, il faudra bien sûr aller mettre à jour l'enregistrement DNS de type A et AAAA pour qu'il pointe sur ce dernier

image-1652631516067.png

Dans la section Frontend Configuration, vous pouvez définir si ce dernier sera accessible en HTTP/HTTPS

Vous pouvez soit fournir un certificat existant, soit laisser GCP gérer ça pour vous.

image-1652631611562.png

image-1652631642312.png

Vérifier que votre configuration est bonne, puis cliquez sur Créer

image-1652631690399.png

Après quelques minutes, notre déploiement Ingress devrait apparaitre dans la section Services réseau > Équilibrage de charge

image-1652631766683.png

En allant consulter les détails, on peut y retrouver l'adresse IP attribuée ainsi que d'autres informations sur son fonctionnement, notamment les certificats utilisés.

image-1652631841629.png

Une fois votre zone DNS mis à jour et votre cache DNS rafraichis, vous pouvez accéder à votre service via votre domaine.

image-1652631908506.png

La génération du certificat peut prendre un peu de temps (~1h)