• Aide
  • Eurêkoi Eurêkoi

Livre

Kubernetes : mise en oeuvre d'un cluster et déploiement de microservices

Résumé

Une guide pour créer pas à pas un cluster Kubernetes via deux méthodes, Kubeadm et Kubespray. La question de la sécurité et les opérations de maintien en condition opérationnelle sont ensuite traitées, ainsi que l'utilisation du cluster pour le déploiement applicatif, sa mise à jour progressive, son équilibrage de charge et sa supervision. ©Electre 2023


  • Autre(s) auteur(s)
  • Éditeur(s)
  • Date
    • C 2023
  • Notes
    • La couv. porte en plus : "En téléchargement : fichiers pour réaliser les exemples" ; "Informatique technique" ; "Version en ligne offerte ! pendant 1 an"
    • La 4e de couv. indique : "Sur www.editions-eni.fr : les fichiers nécassaires à la reproduction des exemples du livre (fichiers de paramétrages, codes sources, fichiers de déploiement)"
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (381 p.) : ill. ; 21 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-04237-9
  • Indice
  • Quatrième de couverture
    • Kubernetes

      Mise en oeuvre d'un cluster et déploiement de microservices

      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 oeuvre 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.


  • Tables des matières
      • Kubernetes

      • Mise en oeuvre d'un cluster et déploiement de microservices

      • 2e éditions

      • Éditions eni

      • Chapitre 1
      • Fonctionnement de Kubernetes
      • 1. Contenu du livre9
      • 1.1 Objectifs9
      • 1.2 Prérequis de lecture10
      • 1.3 Avertissement sur les versions de Kubernetes10
      • 1.4 Kubernetes et Azure11
      • 2. À quoi sert Kubernetes ?12
      • 2.1 Les besoins en déploiement applicatif12
      • 2.1.1 Montée en charge par répartition12
      • 2.1.2 Mises à jour progressives13
      • 2.1.3 Composition applicative robuste13
      • 2.2 Structuration du système d'information14
      • 2.2.1 Principes14
      • 2.2.2 Découplage obtenu par Kubernetes16
      • 3. Historique de Kubernetes18
      • 3.1 Aux origines : Google Borg18
      • 3.2 Transfert à la Cloud Native Computing Foundation19
      • 3.3 Et la concurrence ?19
      • 4. Principes d'architecture de Kubernetes21
      • 4.1 Mise en cluster21
      • 4.1.1 Principes21
      • 4.1.2 Les masters et leurs composants22
      • 4.1.3 Les nodes et leurs composants -25
      • 4.2 Concepts liés à Kubernetes27
      • 4.2.1 Pods27
      • 4.2.2 Namespaces29
      • 4.2.3 Services30
      • 4.2.4 IngressController33
      • 4.2.5 Volumes39
      • 4.2.6 Persistent Volume et Persistent Volume Claim42
      • 4.2.7 ConfigMap44
      • 4.2.8 Secrets49
      • 4.2.9 Deployment52
      • 4.2.10 ReplicaSet55
      • 4.2.11 DaemonSet56
      • 4.2.12 Résumé des concepts57
      • 4.3 Role Based Access Control58
      • 4.3.1 Principe58
      • 4.3.2 Role60
      • 4.3.3 Cluster Role60
      • 4.3.4 Role Binding61
      • 4.3.5 Cluster Role Binding63
      • 4.4 Notion de réseau64
      • 4.5 Kubernetes et Docker65
      • Chapitre 2
      • Création et gestion d'un cluster Kubernetes
      • 1. Méthodes d'installation d'une plateforme Kubernetes67
      • 1.1 Plusieurs façons de faire67
      • 1.2 Environnement de développement68
      • 1.3 Environnement on premise69
      • 1.4 Environnement cloud70
      • 2. Installation d'une plateforme Kubernetes72
      • 2.1 Généralités et préparation72
      • 2.1.1 Description du mode stacked73
      • 2.1.2 Description du mode external75
      • 2.1.3 Prérequis techniques77
      • 2.2 Installation avec Kubeadm78
      • 2.2.1 Initialisation des machines proxy78
      • 2.2.2 Configuration logicielle des machines proxy81
      • 2.2.3 Configuration de Keepalived82
      • 2.2.4 Validation du fonctionnement de Keepalived86
      • 2.2.5 Configuration de HAProxy87
      • 2.2.6 Initialisation des machines master89
      • 2.2.7 Configuration des machines master91
      • 2.2.8 Configuration de Docker92
      • 2.2.9 Installation des paquets pour Kubernetes95
      • 2.2.10 Préparation de la configuration réseau97
      • 2.2.11 Installation du cluster99
      • 2.2.12 Gestion des certificats102
      • 2.2.13 Jointure des autres serveurs master104
      • 2.2.14 Option de récupération automatique des certificats105
      • 2.2.15 Vérification de fonctionnement du cluster106
      • 2.2.16 Déploiement applicatif pour validation108
      • 2.2.17 Suppression du cluster118
      • 2.3 Installation avec Kubespray118
      • 2.3.1 Description de l'outil118
      • 2.3.2 Opérations préparatoires119
      • 2.3.3 Création éventuelle des machines proxy120
      • 2.3.4 Création des machines master122
      • 2.3.5 Paramétrage divers124
      • 2.3.6 Installation du cluster126
      • 2.3.7 Vérification de fonctionnement du cluster127
      • 3. Mise en ouvre d'un cluster Kubernetes132
      • 3.1 Connexion au cluster132
      • 3.1.1 Les utilisateurs132
      • 3.1.2 Modes de connexion133
      • 3.1.3 Le fichier KUBECONFIG133
      • 3.1.4 Gestion des contextes134
      • 3.1.5 Ajout du contexte pour les développeurs136
      • 3.1.6 Test du contexte pour les développeurs140
      • 3.1.7 Ajout du contexte pour les administrateurs141
      • 3.1.8 Test du contexte pour les administrateurs142
      • 3.1.9 Ajustement des autorisations pour les administrateurs143
      • 3.1.10 Ajustement des autorisations pour les développeurs145
      • 3.2 Exploitation du cluster149
      • 3.2.1 Binaire kubectl149
      • 3.2.2 Commandes de base150
      • 3.2.3 Commandes de déploiement154
      • 3.2.4 Commandes de gestion155
      • 3.2.5 Commandes de débogage156
      • 3.2.6 Commandes de paramétrage157
      • 3.3 Exposition des applications159
      • 3.3.1 Installation de l'Ingress Controller Nginx159
      • 3.3.2 Paramétrage d'une Ingress Rule162
      • 3.3.3 Validation du fonctionnement166
      • 3.3.4 Mise en place de la haute disponibilité166
      • 3.3.5 Passage à l'échelle de l'application168
      • 3.3.6 Gestion de versions170
      • 4. Maintien en condition opérationnelle d'un cluster Kubernetes174
      • 4.1 Surveillance de l'écosystème Kubernetes174
      • 4.1.1 Surveillance du cluster174
      • 4.1.2 Surveillance des pods176
      • 4.1.3 Présentation des outils de supervision176
      • 4.1.4 Architecture de supervision proposée177
      • 4.1.5 Mise en place de l'architecture178
      • 4.1.6 Paramétrage d'un tableau de bord182
      • 4.1.7 Utilisation des outils déployés183
      • 4.2 Filtrage réseau avec les Network Policies186
      • 4.2.1 Présentation des Network Policies186
      • 4.2.2 Exemple de Network Policy187
      • 4.2.3 Network Policies-standards189
      • 4.2.4 Mise en pratique des Network Policies190
      • 4.3 Quelques bonnes pratiques193
      • 4.3.1 Recommandations sur les créations de ressources Kubernetes193
      • 4.3.2 Recommandations sur les infrastructures cloud194
      • 4.3.3 Stratégie de téléchargement des images195
      • Chapitre 3
      • Déploiement d'applications avec Kubernetes
      • 1. Contexte197
      • 1.1 Objectifs généraux197
      • 1.1.1 Exploiter la plateforme Kubernetes mise en place197
      • 1.1.2 Remarque sur l'approche DevOps198
      • 1.1.3 Principaux enseignements à attendre200
      • 1.2 Outillage201
      • 1.2.1 Cluster Azure Kubernetes Services201
      • 1.2.2 Kubectl217
      • 1.2.3 Azure CLI217
      • 1.2.4 Paramétrage de kubectl219
      • 1.2.5 Docker pour Windows220
      • 2. Premier déploiement par ligne de commande222
      • 2.1 Contexte222
      • 2.2 Création du déploiement223
      • 2.3 Vérification du déploiement223
      • 2.4 Présence d'un pod224
      • 2.5 Exposition par un service225
      • 2.6 Test de l'application226
      • 2.7 Nettoyage227
      • 3. Second déploiement à l'aide d'un fichier de configuration228
      • 3.1 Objectifs228
      • 3.2 Application exemple229
      • 3.2.1 Présentation de l'application229
      • 3.2.2 Limites logicielles230
      • 3.2.3 Pourquoi des microservices ?231
      • 3.2.4 API232
      • 3.2.5 Scénarios d'utilisation234
      • 3.3 Développement logiciel238
      • 3.3.1 Code source et paramétrage238
      • 3.3.2 Intégration continue242
      • 3.4 Déploiement de l'application248
      • 3.4.1 Structure du projet de déploiement249
      • 3.4.2 Namespace250
      • 3.4.3 Fichier de paramétrage251
      • 3.4.4 Fichiers liés aux bases de données253
      • 3.4.5 Fichiers liés aux services256
      • 3.4.6 Définition de l'ingress259
      • 3.4.7 Lancement d'un seul coup264
      • 3.5 Vérification du déploiement265
      • 3.6 Paramétrage de l'application268
      • 3.6.1 Avec Postman268
      • 3.6.2 Avec curb278
      • 3.6.3 Modification des variables d'environnement278
      • 3.7 Test de l'application280
      • 3.8 Supervision du cluster281
      • 3.8.1 Azure Monitor Insights.282
      • 3.8.2 Azure Monitor logs286
      • 3.8.3 Kubernetes dashboard287
      • 3.8.4 Azure Monitor295
      • 3.8.5 Autres méthodes de monitoring298
      • 3.9 Scalabilité298
      • 3.9.1 Mode statique298
      • 3.9.2 Mode dynamique302
      • 3.10 Fonctionnement du déploiement continu308
      • 3.11 Mise à jour des versions applicatives317
      • 3.11.1 Commande de mise à jour317
      • 3.11.2 Fonctionnement en rolling updates319
      • 3.11.3 Amélioration du fonctionnement par les sondes323
      • 3.11.4 Historique de mises à jour330
      • 3.12 Gestion de la persistance333
      • 3.12.1 Kubernetes et les volumes333
      • 3.12.2 Utilisation d'un disque Azure334
      • 3.12.3 Remarque sur les bases de données en Kubernetes348
      • 3.12.4 Sauvegarde de bases de données349
      • 3.13 Utilisation de Secrets361
      • 3.14 Suppression de l'application368
      • 3.14.1 Suppression dans Kubernetes368
      • 3.14.2 Cas particulier sur l'ingress370
      • 3.14.3 Suppression des ressources Azure372
      • Index373

  • Origine de la notice:
    • Electre
  • Disponible - 681.5 GOU

    Niveau 3 - Informatique