M2i Formation

Google Kubernetes Engine - Architecting

Par M2i Formation

Objectifs

  • Décrire le déploiement et la gestion d'applications conteneurisées sur Google Kubernetes Engine (GKE) et les autres services fournis par Google Cloud Platform (GCP)
  • Explorer et déployer des éléments de solution, notamment des composants d'infrastructure tels que des pods, des conteneurs, des déploiements et des services (ainsi que des réseaux et des services d'application)
  • Déployer des solutions, notamment la gestion de la sécurité et des accès, la gestion des ressources et la surveillance des ressources
  • Appréhender le fonctionnement des conteneurs de logiciels
  • Comprendre les choix GCP pour les services de stockage managés
  • Surveiller les applications exécutées dans Kubernetes Engine
  • Comprendre l'architecture de Kubernetes
  • Concevoir l'architecture de GCP
  • Comprendre le fonctionnement de la mise en réseau des pods dans Kubernetes Engine
  • Créer et gérer des clusters de Kubernetes Engine à l'aide de la console GCP et des commandes gcloud / kubectl
  • Lancer, annuler et exposer des jobs dans Kubernetes
  • Gérer le contrôle d'accès à l'aide de Kubernetes RBAC et Google Cloud IAM
  • Gérer les stratégies de sécurité des pods et des réseaux
  • Utiliser des "secrets" et des "ConfigMaps" pour isoler les informations d'identification de sécurité et les artefacts de configuration.

Programme

Introduction à GCP

  • Utiliser la console de GCP
  • Utiliser Cloud Shell
  • Définir le Cloud Computing
  • Identifier les services de calcul GCP
  • Comprendre les régions et les zones
  • Assimiler la hiérarchie des ressources Cloud
  • Administrer les ressources GCP

Conteneurs et Kubernetes dans GCP

  • Créer un conteneur en utilisant Cloud Build
  • Stocker un conteneur dans le registre de conteneurs
  • Comprendre la relation entre Kubernetes et Google Kubernetes Engine (GKE)
  • Comprendre comment choisir parmi les plateformes de calcul GCP

Architecture de Kubernetes

  • Comprendre l'architecture de Kubernetes : pods, espaces de noms
  • Connaître les composants du "control plane" de Kubernetes
  • Créer des images de conteneur à l'aide de Google Cloud Build
  • Stocker les images de conteneur dans Google Container Registry
  • Créer un cluster Kubernetes Engine

Opérations Kubernetes

  • Travailler avec la commande kubectl
  • Inspecter le cluster et les pods
  • Afficher une sortie de console pods
  • Se connecter à un pod de manière interactive

Déploiements, jobs et mise à l'échelle

  • Créer et utiliser des déploiements
  • Créer et exécuter des jobs et CronJobs
  • Mettre à l'échelle les clusters manuellement et automatiquement
  • Configurer l'affinité noeud et pod
  • Installer des logiciels dans un cluster avec les diagrammes Helm et le "marketplace" Kubernetes

Réseau GKE

  • Créer des services pour exposer les applications en cours d'exécution dans les pods
  • Utiliser des équilibreurs de charge pour exposer les services à des clients externes
  • Créer des ressources Ingress pour l'équilibrage de charge HTTP(S)
  • Tirer parti de l'équilibrage de la charge natif du conteneur pour améliorer l'équilibrage de la charge du pod
  • Définir les stratégies réseau Kubernetes pour autoriser et bloquer le trafic vers les pods

Données persistantes et stockage

  • Utiliser des "secrets" pour isoler les informations d'identification de sécurité
  • Utiliser des "ConfigMaps" pour isoler les artefacts de configuration
  • Publier et annuler les mises à jour de "secrets" et de "ConfigMaps"
  • Configurer les volumes de stockage persistant pour les pods Kubernetes
  • Utiliser StatefulSet pour vous assurer que les revendications sur les volumes de stockage persistants, persistent lors des redémarrages

Contrôle d'accès et sécurité dans Kubernetes et Kubernetes Engine

  • Comprendre l'authentification et l'autorisation Kubernetes
  • Définir les rôles Kubernetes RBAC et les liaisons de rôle pour accéder aux ressources dans les espaces de noms
  • Déterminer les rôles de cluster Kubernetes RBAC et les liaisons de rôle de cluster pour l'accès aux ressources de ce dernier
  • Définir les politiques de sécurité de pod Kubernetes
  • Comprendre la structure de GCP IAM
  • Définir les rôles et les stratégies IAM pour l'administration du cluster Kubernetes Engine

Journalisation et surveillance

  • Utiliser Stackdriver pour surveiller et gérer la disponibilité et les performances
  • Localiser et inspecter les journaux Kubernetes
  • Créer des sondes pour les contrôles de bien-être sur les applications

Utilisation des services de stockage gérés par GCP à partir d'applications Kubernetes

  • Comprendre les avantages et les inconvénients de l'utilisation d'un service de stockage géré par rapport au stockage conteneurisé autogéré
  • Permettre aux applications s'exécutant dans GKE d'accéder aux services de stockage GCP
  • Comprendre les cas d'utilisation de Cloud Storage, Cloud SQL, Cloud Spanner, Cloud Bigtable, Cloud Firestore et BigQuery, à partir d'une application Kubernetes