Skip to content

Installation d'un Cluster Kubernetes OVH géré avec Muppy

Ce document décrit comment configurer un OVH Managed Kubernetes Cluster OVH pour une utilisation avec muppy.io / Pack8s.

OVH Public Cloud - Managed Kubernetes Service

Tout d'abord vous devez sélectionner ou créer un projet OVH Public Cloud.

Création d'un VRACK

Si vous n'en avez pas, vous devez créer un vRack et y attacher votre projet Public Cloud.

Création d'un Private Network

Vous devez créer un réseau privé qui sera utilisé par le K8s et la base de données.

  • Sélectionnez la Localisation
  • Nommez votre réseau privé
  • Cochez Créez une Gateway et connectez-vous au réseau privé
  • Cochez Définir un ID de VLAN

Lancer la création du Private Network.

Warning

L'ID du VLAN définit la plage d'addresse IP affectée: 10.{ID}.0.0/16

Création d'un Managed Kubernetes Service

  • Sélectionnez Managed Kubernetes Service
  • Cliquez sur Créer un Cluster
  • Sélectionnez une localisation ; elle doit être la même que celle du cluster PostgreSQL.
  • Sélectionnez la version de K8s ; prendre la version recommandée
  • Sélectionnez un réseau privé pour ce cluster:
    • Réseau privé attaché: Sélectionez le réseau privé que vous venez de créer
    • Passerelle réseau: lorsque cette option est activée, le traffic sortant des nodes passe une passerelle ce qui permet de maitriser l'IP utilisée par les nodes pour se connecter à des ressources externes.
  • Sélectionnez un type de noeud (Utilisez Discovery D2-8 pour les tests / dev)
  • Configurer la taille du pool de noeuds:

    • Vous avez le choix entre l Autoscaling ou un nombre de noeuds fixe. Cochez Autoscaling actif pour les Dev / Tests.
  • Sélectionnez le monde de facturation (Vous pouvez utiliser Horaire pour les Dev / Tests, mais voud devrez penser à couper vos serveurs.)

Warning

L'utilisation d'une Gateway est obligatoire, si vous voulez que tous vos noeud (y compris ceux qui seront provisionnés dynamiquement) disposent d'une IP fixe et connue.

Création d'un cluster PostgreSQL

Créez une instance avec les caractéristiques suivantes:

  • Modèle: il doit être identique entre toutes les instances PostgreSQL répliquées.
  • Localisation: La localisation doit être compatible avec Managed Kubernetes Cluster si vous l'utilisez.
  • Image: Ubuntu 22.04
  • Clé SSH: Celle de Muppy
  • Nom de l'instance: le nom de doit pas contenir de référence au modèle de l'intance mais il est intéressant de laisser la localisation.
  • Sauvegarde automatisée: Si la taille de vos bases de données le permet, prenez une Rotation 7.
  • Réseau:
    • Mode Privé et sélectionnez le Private network que vous avez créé.
    • Cochez Attachez une Floating IP à cette instance (cf. note ci-dessous )
  • Période de Facturation: Si la base n'est pas destinée à des fins de tests (donc temporaire), sélectionnez Mensuel

Note

La Floating IP est nécessaire pour:

  • permettre au serveur d'être intégré dans un RCS
  • permettre à muppy de se connecter au server.

Création d'un RCS

Sur le Cluster PostgreSQL Primary, vérifiez:

  • La cohérence des IPs:
    • Host IP: C'est l'IP Privé du Host
    • Control: C'est l'IP utilisée par Muppy pour se connecter en SSH. En général, c'est une Floating IP Public chez OVH
    • Public IP: Utilisez le bouton Detect (l'IP dépend de la gateway)

Warning

Si ces 3 IPs ne sont pas correctement configurées, le setup du RCS et de la Haute Disponibilité va échouer.

Enrollement du Cluster k8s dans Muppy

Ensuite, vous devez:

  • Créer le Cluster k8s dans Muppy
  • Installer les Packages d'infrastructure Muppy

Création du Cluster k8s dans Muppy

Dans le menu Muppy / K8s / K8s Clusters:

  • Créer un Cluster
  • Uploader le fichier Kubeconfig du Cluster
    • La procédure de récupération du fichier Kubeconfig dépend du provider
  • Définissez le Qualifier, Provider et la Availability Zone
  • Cliquez sur le bouton Update Info et vérifiez que Muppy récupère les Namespaces.

Installation des Packages d'infrastructure

L'installation des Packages d'Infrastructure est documentée içi: Packages Infrastructure

Veuillez noter les spécificités suivantes des clusters OVH Managed Kubernetes Cluster (OVH MKS): * Cert-Manager est déployé dans le cluster * Traefik est configuré en Ingress et connecté à un Kubernetes Load Balancer * Les Certificats peuvent être vérifiés en HTTP ou en DNS.