Ce livre sur Kubernetes s'adresse aussi bien aux développeurs qu'aux administrateurs système qui souhaitent comprendre le fonctionnement de la plateforme Kubernetes pour être en mesure de déployer des applications informatiques sur une architecture distribuée. Une expérience d'utilisation courante de Docker est souhaitée pour profiter au mieux des fonctionnalités de cet outil qui, couplées à celles de Kubernetes, sont présentées dans certains...
Ce livre sur Kubernetes s'adresse aussi bien aux développeurs qu'aux administrateurs système qui souhaitent comprendre le fonctionnement de la plateforme Kubernetes pour être en mesure de déployer des applications informatiques sur une architecture distribuée. Une expérience d'utilisation courante de Docker est souhaitée pour profiter au mieux des fonctionnalités de cet outil qui, couplées à celles de Kubernetes, sont présentées dans certains exemples.
Une fois le fonctionnement de base et le principe d'architectures de Kubernetes étudiés, le livre expose en détail, au-delà des enjeux du paramétrage, deux méthodes pour installer la plateforme et créer un cluster Kubernetes : Kubeadm et Kubespray. La question de la sécurité ainsi que les opérations de maintien en condition opérationnelle d'un cluster sont ensuite traitées.
La suite du livre est dédiée à l'utilisation d'un cluster pour le déploiement applicatif et montre, en se basant sur un exemple d'application en microservices, comment déployer des services logiciels sur le cluster, que ce soit en ligne de commande ou à l'aide d'un fichier de configuration. Avec une approche toujours très pragmatique, la supervision du cluster, la mise à jour progressive d'une application ou encore l'équilibrage de charge sont étudiés. Cette partie du livre est également l'occasion pour le lecteur de découvrir l'utilisation de services Kubernetes dans le cloud.
Teinté de tous les retours d'expériences industrielles et des bonnes pratiques des auteurs, ce livre permet au lecteur d'obtenir une vision professionnelle de la mise en œuvre d'un cluster et de devenir ainsi rapidement efficace dans l'utilisation de Kubernetes en production.
Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.
a. Exploiter la plateforme Kubernetes mise en place
b. Remarque sur l’approche DevOps
c. Principaux enseignements à attendre
2. Outillage
a. Cluster Azure Kubernetes Services
b. Kubectl
c. Azure CLI
d. Paramétrage de kubectl
e. Docker pour Windows
Premier déploiement par ligne de commande
1. Contexte
2. Création du déploiement
3. Vérification du déploiement
4. Présence d’un pod
5. Exposition par un service
6. Test de l’application
7. Nettoyage
Second déploiement à l’aide d’un fichier de configuration
1. Objectifs
2. Application exemple
a. Présentation de l’application
b. Limites logicielles
c. Pourquoi des microservices ?
d. API
e. Scénarios d’utilisation
3. Développement logiciel
a. Code source et paramétrage
b. Intégration continue
4. Déploiement de l’application
a. Structure du projet de déploiement
b. Namespace
c. Fichier de paramétrage
d. Fichiers liés aux bases de données
e. Fichiers liés aux services
f. Définition de l’Ingress
g. Lancement d’un seul coup
5. Vérification du déploiement
6. Paramétrage de l’application
a. Avec Postman
b. Avec curl
c. Modification des variables d’environnement
7. Test de l’application
8. Supervision du cluster
a. Azure Monitor Insights
b. Azure Monitor logs
c. Kubernetes dashboard
d. Azure Monitor
e. Autres méthodes de monitoring
9. Scalabilité
a. Mode statique
b. Mode dynamique
10. Fonctionnement du déploiement continu
11. Mise à jour des versions applicatives
a. Commande de mise à jour
b. Fonctionnement en rolling updates
c. Amélioration du fonctionnement par les sondes
d. Historique de mises à jour
12. Gestion de la persistance
a. Kubernetes et les volumes
b. Utilisation d’un disque Azure
c. Remarque sur les bases de données en Kubernetes
d. Sauvegarde de bases de données
13. Utilisation de Secrets
14. Suppression de l’application
a. Suppression dans Kubernetes
b. Cas particulier sur l’ingress
c. Suppression des ressources Azure
Jean-Philippe GOUIGOUX
Ingénieur avec un double diplôme en Génie des Systèmes Mécaniques et automatisation de l'Université de Technologie de Compiègne et de Cranfield University, Jean-Philippe GOUIGOUX travaille aujourd'hui pour Salvia Développement en tant que directeur technique d'un groupe de six business units, ce qui lui permet de mettre en œuvre son approche d'industrialisation de l'édition logicielle. Jean-Philippe GOUIGOUX est reconnu Microsoft MVP (Most Valuable Professional) dans diverses spécialités depuis 2011, et certifié TOGAF. Il intervient régulièrement en conférences sur des sujets informatiques variés allant de la gestion de données à Docker, en passant par la performance en .NET. Passionné par le partage de ses connaissances, il est auteur de plusieurs livres et vidéos parus aux Éditions ENI.
Après avoir débuté en tant qu'administrateur système, réseau et sécurité, Kévin LENGLET s'est ensuite dirigé vers une carrière de consultant dans les technologies cloud et open source, dont les services d’orchestration. Au cours de ces missions, il est régulièrement intervenu auprès de grands comptes sur des environnements disposant de Kubernetes et OpenShift pour les conseiller dans la mise en place de ces plateformes dans les règles de l'art. Aujourd'hui ingénieur SRE pour la société MGDIS et récemment certifié Kubernetes Administrator (CKA), il partage dans ce livre toute son expertise sur le déploiement d'applications et le maintien en condition opérationnelle d'un cluster Kubernetes.