pygeoapi kubernetes introduction

Table of Contents

Introduction

Contexte

L’objectif de cette série d’articles est de partager les apprentissages du développement d’infrastructures de services SIG cloud-native, à partir de socles logiciels open-source.

Ces exercices s’inspirent de projets réels, réalisés dans le cadre professionnel. Les avantages de ce type d’architecture sont nombreux:

  • maintenabilité: CI/CD basé sur des pratiques modernes de développement logiciel
  • flexibilité:
    • liberté des choix techniques permettant d’attendre des niveaux de performance optimum
    • modularité facilitant la mise en place de solutions sur mesure
  • performance: mise à l’échelle en temps réel avec des coûts d’infrastructure cohérents

Prerequis

  • compréhesion des principes de l’architecture logicielle conteneurisées
  • connaissance de base de kubernetes

Il est possible de suivre cette série d’articles comme un tutoriel, il faut alors disposer d’un environment kubernetes.

Les exemples illustrant ces articles se basent sur une instance minikube. Minikube est une solution pratique et économique pour disposer des fonctionnalité de kubernetes sur un environnement de développement local, sans nécessiter d’un abonnement cloud. Il est cependant possible de réaliser ces exercices sur une instance complète de kubernetes moyennant quelques ajustements de commandes.

Voici la description de la stack technique sur laquelle se base ce tutoriel:

  • OS Windows 11
  • WSL2 installé avec une distribution Ubuntu
  • Minikube installé sur WSL2 Ubuntu (requière kubectl)
  • Docker installé sur WSL2 Ubuntu et utilisé comme driver de conteneurisation minikube
  • Ingress addon installé sur minikube

Objectif du tutoriel

Dans cet article nous allons deployer une instance de pygeoapi dans un cluster kubernetes. Pygeoapi est un serveur SIG implementant les spécifications d’APIs OGC. La conformité des APIs SIG avec les standards définis du secteur est un facteur crutial d’interopérabilité.