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

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

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