Digital Ocean Kubernetes Services

Documentation Déploiement Kubernetes sur DigitalOcean

Ce document détaille les étapes pour configurer un cluster Kubernetes sur DigitalOcean avec doctl, déployer une application web pour l'entreprise fictive ALPHA sur tk.skyfik.net, configurer un Service Kubernetes, un Ingress, et des certificats TLS avec cert-manager tout en utilisant le registre de conteneurs de Digital Ocean

Prérequis

  • Un compte DigitalOcean avec un cluster Kubernetes (k8s-imad) et un registre de conteneurs (imad-cr).

  • doctl installé via snap.

  • kubectl et helm installés.

  • Outils supplémentaires : vim, k9s (facultatif, pour l'interface de gestion Kubernetes).

  • Un domaine (tk.skyfik.net) configuré dans le DNS pour pointer vers l'adresse IP du service NGINX Ingress.

Étapes de configuration

1. Installation et configuration de doctl

Docs officiellle

Initialiser l'authentification :

doctl auth init

Fournir le token d'accès DigitalOcean.

Vérifier les comptes configurés :

Obtenir les informations du compte :

Connexion au registre de conteneurs DigitalOcean ( si vous utiliser le registry digital ocean ) :

Connecter doctl à Docker :

Vérifier les secrets du registre dans Kubernetes :

Vérifie la présence du secret registry-imad-cr.

2. Configuration du cluster Kubernetes

Créer un répertoire de travail :

Sauvegarder la configuration kubeconfig du cluster :

Enregistre la configuration du cluster k8s-imad dans ~/.kube/config.

Vérifier les nœuds du cluster :

Lister les namespaces :

Utiliser k9s pour gérer le cluster si installé(facultatif) :

Ouvre l'interface k9s pour gérer le cluster.

3. Création et déploiement de l'application web

Créer la structure de répertoires pour l'application :

Créer le fichier html/index.html :

Contenu du fichier :

Créer un fichier Dockerfile :

Contenu du fichier :

Construire l'image Docker :

Tagger l'image pour le registre DigitalOcean :

Pousser l'image vers le registre :

4. Déploiement de l'application sur Kubernetes

Créer un fichier deployment.yaml :

Contenu du fichier :

Créer un fichier service.yaml :

Contenu du fichier :

Appliquer les configurations :

Vérifier le déploiement et le service :

5. Configuration de l'Ingress avec TLS

Installer le contrôleur NGINX Ingress :

Vérifier le service NGINX Ingress :

Créer un fichier certificat.yaml pour cert-manager :

Contenu du fichier :

Installer cert-manager :

Appliquer le ClusterIssuer :

Créer un fichier ingress.yaml :

Contenu du fichier :

Appliquer l'Ingress :

Vérifier l'état des ressources :

6. Configuration DNS

  • Configurez le domaine tk.skyfik.net dans votre fournisseur DNS pour pointer vers l'adresse IP publique du service nginx-ingress-ingress-nginx-controller.

  • Obtenez l'IP du Load Balancer avec :

7. Dépannage

  • Vérifier les logs d'un pod :

  • Détailler l'Ingress :

  • Vérifier les événements du certificat :

  • Problèmes de registre : Assurez-vous que le secret registry-imad-cr existe :

Structure des fichiers

Dans le répertoire DOKS/alpha-web/ :

Architecture

Conclusion

Cette configuration déploie une application web sur un cluster Kubernetes DigitalOcean, accessible via tk.skyfik.net avec un certificat TLS fourni par Let's Encrypt. Utilisez k9s ou kubectl pour surveiller et gérer vos ressources.

Last updated

Was this helpful?