Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Kubernetes multi-cloud avec Google Anthos et AWS (partie 2)

By Mike SparrSep 24, 20204 min read

Cette page est également disponible en English, Deutsch, Español, Italiano, 日本語 et Português.

Dans le premier article, nous avons présenté un aperçu d'Anthos GKE sur AWS, ainsi que quelques cas d'usage et fonctionnalités qu'il apporte à la plateforme Amazon Web Services. Place maintenant à la pratique, avec des instructions pas à pas (sans fioritures) pour le mettre en place.

Pour simplifier les instructions en ligne de Google, j'ai réécrit certaines commandes afin de les rendre moins fragmentées et supprimé quelques étapes manuelles. L'équipe produit Anthos travaille à intégrer encore davantage d'étapes dans la CLI pour simplifier la configuration ; cela ne fera donc que s'améliorer avec le temps, et certaines de ces étapes sont susceptibles d'évoluer.

Voici le deuxième volet d'une série de 3 articles consacrés à Anthos GKE de Google :

Architecture

Source : Google

Prérequis

  • Un compte Google Cloud Platform (GCP) actif avec Anthos (essai) activé
  • Un compte Amazon Web Services (AWS) actif
  • Un terminal sur votre machine locale ou un accès à un terminal distant
  • JQ installé pour le parsing JSON en CLI
  • Terraform CLI installé [optionnel] pour exécuter les commandes TF

TL;DR

Nous allons couvrir quatre étapes principales, chacune accompagnée d'un script dédié qui en met en évidence les tâches :

  1. Créer les clés et les rôles IAM dans AWS et GCP, puis télécharger et installer la CLI anthos-gke (l'étape de téléchargement nécessite actuellement une approbation de Google : contactez votre account manager dès que possible).
  2. Configurer votre cluster de gestion (control plane), amorcer les scripts Terraform qui le créeront, puis exécuter Terraform pour configurer AWS et installer le control plane.
  3. Utiliser Terraform pour amorcer la configuration de votre premier cluster, créer un tunnel vers votre bastion AWS et exécuter kubectl pour créer votre premier cluster (cluster-0).
  4. Ajouter un ClusterRoleBinding au cluster, générer un token d'authentification et connecter la console GCP à votre nouveau cluster pour centraliser le monitoring et l'administration.

1\. Configuration initiale des clés et téléchargement de la CLI Anthos

Prérequis Anthos GKE sur AWS (configuration)

Vous préférerez peut-être copier/coller les tâches ci-dessus dans votre terminal et les exécuter une à une (recommandé pour un premier essai, afin de faciliter le débogage). Une fois ces étapes terminées, vous devriez pouvoir lancer les commandes suivantes et obtenir un résultat similaire à celui ci-dessous.

2\. Créer un cluster de gestion (control plane)

Une fois les commandes anthos-gke init et apply exécutées, la CLI génère du code Terraform dans votre répertoire de travail et l'applique pour mettre en place votre infrastructure sur AWS. Elle installe ensuite le cluster de gestion (control plane).

La CLI anthos-gke génère des scripts Terraform sur votre machine et les exécute

Remarque : en cas de souci, il suffit de réutiliser les scripts Terraform et la CLI Terraform pour réappliquer vos paramètres.

3\. Créer votre premier cluster

Si vous êtes arrivé jusqu'ici, félicitations ! Techniquement, tout est désormais en place : vous pouvez exploiter les définitions de ressources personnalisées (CRD) AWSCluster et AWSNodePool pour créer clusters et node pools selon vos besoins.

Le code Terraform généré expose plusieurs outputs qui produisent un manifeste à appliquer au control plane ; le cluster de gestion GKE se chargera ensuite de provisionner votre nouveau cluster.

Astuce : examinez le fichier cluster-0.yaml généré par Terraform. Avant d'appliquer le manifeste, pensez à réduire les valeurs min/max des nœuds pour limiter la dépense cloud. Pour en savoir plus, consultez l'architecture d'Anthos GKE sur le site de Google.

Création de votre premier cluster GKE sur AWS

Astuce de pro : utilisez la commande watch pour suivre le statut jusqu'à Provisioned.

CMD : watch kubectl get AWSClusters

4\. Connecter votre cluster au GKE Hub

Une fois votre token généré et copié dans le presse-papiers, revenez dans la console GCP, cliquez sur Login pour le cluster, sélectionnez Token et collez le token.

Authentification de l'admin GKE (GKE Hub) auprès de votre cluster AWS

Félicitations !

Si vous êtes arrivé jusqu'ici, bravo. Les tâches ne sont finalement pas si lourdes, et j'ai ajouté quelques variables d'environnement en tête de chaque script au cas où ils seraient exécutés séparément. Si vous copiez/collez les commandes dans un même shell, vous pouvez ignorer les tâches liées au bastion, au proxy et au contexte dans chaque fichier, et configurer et authentifier vos clusters sans difficulté.

Et la suite

Dans le prochain article, nous verrons comment déployer des workloads sur votre cluster et les faire interagir avec d'autres services AWS.

Revenez ici pour retrouver le lien dès qu'il sera disponible, ou suivez-moi pour rester informé de mes nouvelles publications. Vous pouvez également consulter notre site https://blog.doit-intl.com pour découvrir nos différents articles.