Kubernetes est la norme de facto pour l'orchestration de conteneurs, et Google Kubernetes Engine (GKE) est un leader dans le domaine des solutions Kubernetes gérées. En 2018, Google a déployé Kubernetes dans les centres de données grâce à une nouvelle solution dénommée Anthos, une extension gérée et certifiée de la plate-forme cloud GKE.
En réponse aux premiers résultats positifs et en tenant compte des besoins des clients, Google a élargi son offre afin de faciliter votre modernisation.
Anthos est une plate-forme moderne de gestion d'applications annoncée par Google lors de la conférence Next 2019. Cette plate-forme fournit les outils et la technologie dont vous avez besoin pour créer des solutions modernes, hybrides et multicloud à partir des principes de base de GKE. Anthos comporte plusieurs fonctionnalités, dont les suivantes :
Provisionnement d'infrastructure à la fois dans le cloud et sur site
Outils de gestion de l'infrastructure, sécurité, règles et solutions de conformité
Développement simplifié des applications, détection de services et télémétrie, gestion des services et migration des charges de travail sur site vers le cloud
Dans cet atelier, vous allez déployer des clusters Anthos sur AWS. Notez qu'Anthos offre un certain nombre d'autres options de déploiement, comme les clusters Anthos sur bare metal, les clusters Anthos sur VMware et les clusters Anthos sur Azure. De plus, vous allez utiliser des clusters associés, qui sont des clusters Kubernetes tiers enregistrés dans votre parc.
Objectifs
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
Créer et enregistrer un cluster Anthos GKE sur Google Cloud
Créer et enregistrer un cluster Anthos sur AWS
Accéder au cluster Anthos sur AWS à l'aide de la passerelle Connect
Examiner les configurations de cluster pour AWS et Google Cloud à l'aide de l'interface GKE de la console Google Cloud
Déployer des charges de travail et des services dans des clusters Anthos sur Google Cloud et AWS
Obtenir des informations sur votre déploiement multicloud à l'aide du tableau de bord Anthos de la console Google Cloud
Architecture de l'atelier
Prérequis
Dans cette tâche, vous allez utiliser Qwiklabs pour initialiser votre atelier.
Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.
Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.
Vérifiez le temps imparti pour l'atelier (par exemple : 01:15:00) : vous devez pouvoir le terminer dans ce délai.
Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début.
Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.
Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.
Cliquez sur Ouvrir la console Google.
Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Une fois la connexion initiale effectuée, le tableau de bord du projet s'affiche.
Cliquez sur Sélectionner un projet, puis mettez en surbrillance l'ID de votre projet Google Cloud. Enfin, cliquez sur Ouvrir pour sélectionner le projet.
Activer Google Cloud Shell
Google Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud.
Google Cloud Shell vous permet d'accéder à vos ressources Google Cloud grâce à une ligne de commande.
Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".
Cliquez sur Continuer.
Le provisionnement et la connexion à l'environnement prennent quelques instants. Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Par exemple :
gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project =
Exemple de résultat :
[core]
project = qwiklabs-gcp-44776a13dea667a6
Remarque : Pour consulter la documentation complète sur gcloud, accédez au guide de présentation de la gcloud CLI.
Tâche 1 : Configurer votre projet
Pour accéder à certains types de ressources dans Google Cloud, vous devez d'abord activer quelques API. Celles-ci sont activées automatiquement lorsque vous accédez pour la première fois à un service via l'interface utilisateur ou la ligne de commande. Pour simplifier le processus et réduire les invites utilisateur, vous devez activer explicitement les API nécessaires.
Dans Cloud Shell, configurez les variables d'environnement suivantes, qui seront utilisées dans les scripts de l'atelier :
L'installation de votre cluster GKE devrait commencer. La création du cluster prend environ cinq minutes. Vous pouvez donc passer à la tâche suivante pendant que l'installation se poursuit en arrière-plan.
Tâche 3 : Examiner les ressources AWS provisionnées et préparer l'environnement
Dans cet atelier, l'architecture de cloud privé virtuel (VPC) AWS suivante a été provisionnée afin de vous permettre d'exécuter des clusters Anthos sur AWS. Consultez la documentation Créer un VPC AWS pour savoir comment reproduire la procédure de configuration.
Le VPC AWS a été déployé dans us-east-1 et utilise la plage CIDR d'adresses IP
10.0.0.0/16. Il contient les ressources suivantes :
Trois sous-réseaux privés dans trois zones de disponibilité différentes : us-east-1a, us-east-1b et us-east-1c
Par la suite, vous allez déployer les nœuds du plan de contrôle, les points de terminaison de l'équilibreur de charge et les nœuds de calcul du cluster dans ces sous-réseaux.
Trois sous-réseaux publics dans les mêmes zones de disponibilité que les sous-réseaux privés
Une passerelle NAT dans chaque sous-réseau public pour fournir un accès Internet sortant aux sous-réseaux privés et aux points de terminaison publics de l'équilibreur de charge
Une passerelle Internet qui crée une route depuis les sous-réseaux publics afin d'établir la connectivité Internet
Tous les sous-réseaux sont tagués pour la détection automatique de sous-réseaux. Ainsi, lorsque vous créez un service Kubernetes, un équilibreur de charge AWS peut être provisionné dans ces réseaux.
Les équilibreurs de charge internes sont provisionnés dans les sous-réseaux privés, et les équilibreurs de charge Web dans les sous-réseaux publics. Le tag utilisé détermine le type d'équilibreur de charge.
Examiner les ressources lancées dans la console AWS
Sur la page d'instructions de Qwiklabs, effectuez un clic droit sur le bouton d'URL de la console AWS, puis sélectionnez Ouvrir le lien dans la fenêtre de navigation privée (ou tout autre élément équivalent dans votre navigateur).
Connectez-vous à l'aide des identifiants AWS Username (Nom d'utilisateur AWS) et AWS Password (Mot de passe AWS) fournis par Qwiklabs.
Dans la barre de recherche de la fenêtre de la console, saisissez vpc et appuyez sur ENTRÉE.
Toutes les ressources réseau AWS qui ont été déployées sont affichées dans un tableau de bord.
(Facultatif) Examinez les ressources créées et vérifiez qu'elles correspondent au schéma de l'architecture de l'atelier présenté dans la section Objectifs de ce guide. Vous verrez peut-être d'autres ressources qu'AWS crée dans chaque nouveau compte, mais vous pouvez les ignorer.
Notez les réponses à ces questions :
Quelles sont les plages CIDR d'adresses IP associées aux sous-réseaux privés ?
Quels sont les tags associés aux sous-réseaux ?
Quelles sont les adresses IP Elastic associées aux passerelles NAT ?
Configurer la CLI AWS
Dans la console Google Cloud, ouvrez un nouvel onglet Cloud Shell.
Dans cet onglet, configurez l'ID du projet comme variable d'environnement :
export PROJECT_ID=$(gcloud config get-value project)
gcloud config set project $PROJECT_ID
Téléchargez et installez l'interface de ligne de commande AWS :
Récupérez les rôles de l'API AWS qu'utilisera l'API Anthos Multi-Cloud pour créer et gérer les clusters et les pools de nœuds :
API_ROLE_ARN=$(aws iam list-roles \
--query 'Roles[?RoleName==`aws-cluster-anthos-api-role`].Arn' \
--output text)
Ce rôle dispose d'une règle associée à des autorisations de gérer AWS Key Management Service (KMS), Elastic Compute Cloud (EC2), Auto Scaling, Elastic Load Balancing (ELB) et Identity and Access Management (IAM).
Les clusters Anthos sur AWS nécessitent deux clés KMS AWS. Dans cet atelier, vous vous servirez de la même clé pour les deux cas d'utilisation. Les clés KMS assurent le chiffrement :
des données pendant le processus d'installation avec le chiffrement encapsulé ;
des secrets de la couche d'application dans vos clusters d'utilisateurs.
Vous remarquerez que la plage CIDR d'adresses IP 10.1.0.0/16 est utilisée pour les services ClusterIP de Kubernetes et que la plage CIDR d'adresses IP 10.2.0.0/16 est utilisée pour les pods Kubernetes. Ces plages CIDR font partie du VPC AWS que vous avez créé, mais pas des sous-réseaux. Les sous-réseaux hébergent les nœuds du cluster.
Félicitations ! Vous avez commencé à créer un cluster Anthos sur AWS. Ce processus prend environ cinq minutes.
En attendant que le cluster soit provisionné, accédez à l'onglet de la console AWS dans votre navigateur et notez les VM créées.
Notez les réponses à ces questions :
Combien de VM ont été créées pour le plan de contrôle de votre cluster d'utilisateur (vous devrez peut-être attendre une minute et actualiser pour voir les VM) ?
Dans quelles zones se trouvent les nœuds du plan de contrôle ?
Sur le côté gauche de la console AWS, faites défiler la page jusqu'à Load Balancing (Équilibrage de charge), puis sélectionnez Load Balancers (Équilibreurs de charge).
Notez les réponses à ces questions :
Combien d'équilibreurs de charge ont été créés ?
À quoi sert chacun d'entre eux ?
Revenez à l'onglet Cloud Shell que vous avez ouvert dans le navigateur et lorsque la commande a terminé, générez une clé privée asymétrique, puis importez sa clé publique dans AWS :
Kubernetes control plane is running at https://connectgateway.googleapis.com...
CoreDNS is running at https://connectgateway.googleapis.com...
Metrics-server is running at https://connectgateway.googleapis.com...
Notez que vous ne vous connectez pas directement au cluster Anthos sur AWS.
Vous vous connectez par le biais de la passerelle Anthos Connect, qui transmet ensuit les requêtes de manière sécurisée au serveur d'API Kubernetes via l'agent Connect.
Vérifiez que vous voyez bien vos nœuds de calcul :
kubectl get nodes
Pour autoriser l'agent gke-system/gke-telemetry-agent de Kubernetes Workload Identity à écrire des journaux sur Cloud Logging et des métriques sur Cloud Monitoring, exécutez cette commande :
Les clusters Anthos sur AWS ne peuvent créer et importer des journaux système et des métriques dans la suite Google Cloud Operations que s'ils y sont autorisés.
Tâche 5 : Connecter le cluster Anthos sur AWS à la console Google Cloud
Dans votre navigateur, passez à l'onglet où est ouverte la console Google Cloud.
Dans le menu de navigation, cliquez sur Kubernetes Engine > Clusters.
Dans la liste des clusters, à la ligne aws-cluster, cliquez sur le menu à trois points
Cliquez sur Log in (Connexion), puis sélectionnez Utiliser mon identité Google pour me connecter. Enfin, cliquez sur Se connecter.
Cliquez sur l'entrée aws-cluster afin d'afficher les informations concernant votre cluster Anthos sur AWS.
Dans le menu de navigation, cliquez sur Anthos > Tableau de bord.
Un cluster s'affiche.
Cliquez sur Afficher les clusters.
Cliquez sur l'entrée aws-cluster.
Un volet "Détails" affiche les informations concernant votre cluster Anthos AWS.
Tâche 6 : Enregistrer le cluster GKE sur Anthos Hub
Retournez au premier onglet Cloud Shell.
Vérifiez que votre cluster a bien été créé. Le résultat de la commande de création initiale du cluster doit ressembler à ceci :
NAME LOCATION MASTER_VERSION...
gcp-cluster us-central1-b 1.21.5-gke.1302 ...
Vous devrez peut-être patienter une minute ou deux avant que le cluster soit créé.
Pour configurer kubectx avec un nom court pour le contexte kubectl servant à gérer le cluster Google Cloud, exécutez la commande suivante :
Lors de l'enregistrement du cluster, vous pouvez configurer l'agent Connect de sorte qu'il utilise soit la fonctionnalité Workload Identity, soit un compte de service Google Cloud. Dans cet atelier, vous allez utiliser Workload Identity.
Enregistrez le cluster GKE sur Anthos Hub :
gcloud beta container hub memberships register $GCP_CLUSTER_NAME \
--gke-cluster=$GCP_CLUSTER_ZONE/$GCP_CLUSTER_NAME \
--enable-workload-identity
Remarque :
si vous voyez le message d'erreur PERMISSION_DENIED: hub default service account does not have access (AUTORISATION REFUSÉE : le compte de service Hub par défaut n'a pas accès), patientez une minute, puis exécutez une nouvelle fois la commande. Si l'opération échoue à nouveau, répétez le cycle attente/réexécution une ou deux fois.
Un problème connu se produit lors de l'enregistrement des clusters GKE à l'aide de Workload Identity. La première tentative échoue, mais cela fonctionne une à trois minutes plus tard.
Dans la console Cloud, accédez au menu de navigation, puis cliquez sur Anthos > Tableau de bord. Deux clusters disponibles doivent à présent figurer sous État du cluster.
Cliquez sur Afficher les clusters. Une liste contenant votre cluster GKE sur Google Cloud s'affiche.
Cliquez sur l'entrée gcp-cluster pour afficher les détails du cluster.
Notez la réponse à cette question : À quoi sert le bouton Gérer les fonctionnalités dans le volet "Détails" ?
Tâche 7 : Déployer des applications sur vos clusters
Effectuer un déploiement simple sur votre cluster Anthos sur Google Cloud
Dans votre navigateur, revenez à l'onglet Cloud Shell. Passez au premier onglet du terminal Cloud Shell, dans lequel vous avez initialement créé le cluster sur Google Cloud.
Assurez-vous que kubectl est configuré dans cette fenêtre de terminal pour pointer vers votre cluster Google Cloud :
kubectx gcp
Créez un fichier manifeste pour le déploiement Kubernetes d'une application simple :
Créez le déploiement sur votre cluster Google Cloud :
kubectl apply -f deployment.yaml
Dans la console Cloud, accédez à Kubernetes Engine > Charges de travail, puis vérifiez que le déploiement a bien été créé et que les pods sont en cours d'exécution.
Vous pouvez également vérifier les pods à partir de la ligne de commande :
kubectl get pods --selector=app=products
Retournez à l'onglet Cloud Shell. Créez un fichier manifeste de service Kubernetes pour votre application :
Créez le service en exécutant la commande suivante :
kubectl apply -f service.yaml
Dans la console Cloud, accédez à Kubernetes Engine > Services, puis vérifiez que le service a bien été créé et que l'adresse IP externe a été attribuée. Le service est fonctionnel après une à deux minutes.
Vous pouvez également vérifier les pods à partir de la ligne de commande :
kubectl get service my-lb-service
Une fois que le service est prêt, récupérez l'adresse IP externe de l'équilibreur de charge et chargez-la dans un nouvel onglet du navigateur. Le résultat doit ressembler à ce qui suit :
Vous pouvez également utiliser l'interface utilisateur de gestion GKE dans la console.
Passez à l'onglet dans lequel la console Google Cloud est affichée.
Dans le menu de navigation, cliquez sur Kubernetes Engine > Charges de travail.
Une deuxième entrée my-deployment-50001 est affichée, pour aws-cluster cette fois-ci.
Dans le volet du menu, cliquez sur Services et entrées.
Deux entrées my-lb-service s'affichent, une pour chaque cluster.
Dans la colonne Points de terminaison, cliquez sur le lien du service aws-clustermy-lb-service.
Le même message hello world que vous avez vu lorsque vous avez déployé gcp-cluster doit s'afficher. Si vous rencontrez une erreur, patientez une ou deux minutes le temps que la configuration de l'équilibreur de charge dans AWS soit terminée, puis réessayez.
Tâche 8 : Nettoyer l'environnement
Supprimez les ressources Kubernetes du cluster Anthos sur AWS :
Dans cet atelier, vous avez créé et enregistré des clusters Anthos GKE sur Google Cloud et AWS. Vous avez géré des clusters à l'aide de la CLI et de la console Google Cloud. Vous avez déployé des charges de travail à l'aide des commandes kubectl standards sur les deux clusters.
Terminer l'atelier
Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.
Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.
Le nombre d'étoiles correspond à votre degré de satisfaction :
1 étoile = très insatisfait(e)
2 étoiles = insatisfait(e)
3 étoiles = ni insatisfait(e), ni satisfait(e)
4 étoiles = satisfait(e)
5 étoiles = très satisfait(e)
Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.
Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.
Copyright 2020 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.
Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.
Utilisez la navigation privée
Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
Cliquez sur Ouvrir la console en navigation privée
Connectez-vous à la console
Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.
Ce contenu n'est pas disponible pour le moment
Nous vous préviendrons par e-mail lorsqu'il sera disponible
Parfait !
Nous vous contacterons par e-mail s'il devient disponible
Un atelier à la fois
Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci
Utilisez la navigation privée pour effectuer l'atelier
Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
Créer et utiliser des clusters Anthos dans les environnements GCP et AWS
Durée :
2 min de configuration
·
Accessible pendant 180 min
·
Terminé après 85 min