Prérequis

Cette page décrit la procédure à suivre avant d'installer des clusters Anthos sur AWS (GKE sur AWS).

Environnement

Pour installer Anthos clusters on AWS, vous avez besoin d'un environnement dans lequel vous pouvez installer et exécuter différents outils. Les étapes suivantes supposent que vous utilisez une interface système Bash sous Linux ou macOS. Si vous n'avez pas accès à un environnement shell Bash, vous pouvez utiliser Cloud Shell.

Exigences concernant AWS

Pour effectuer cette opération, vous devez disposer d'un compte AWS avec accès à la ligne de commande, et de deux clés de service de gestion des clés (KMS) AWS dans la même région que vos clusters d'utilisateurs.

Pour en savoir plus sur les autres ressources AWS requises, consultez la page Conditions requises.

Configurer AWS

Avant de commencer

Avant de terminer cette section :

  • Téléchargez et installez l'interface de ligne de commande AWS. Confirmez l'installation en exécutant la commande aws --version. Si l'exécutable est introuvable, ajoutez l'outil aws à votre PATH.
  • Configurez vos identifiants IAM AWS et la région AWS avec aws configure.

Autorisations d'administrateur

Les clusters Anthos sur AWS nécessitent que le créateur d'un service de gestion dispose de certaines autorisations. Avant de pouvoir créer un service de gestion ou des clusters d'utilisateur, créez ou accédez à des identifiants IAM AWS répondant aux exigences.

Créer une clé KMS

Anthos clusters on AWS nécessite deux clés KMS AWS. Les clés KMS assurent le chiffrement :

  • des données pendant le processus d'installation avec le chiffrement encapsulé ;
  • Secrets de la couche d'application dans vos clusters d'utilisateurs.

Suivez la procédure ci-dessous pour créer deux clés KMS AWS.

Ligne de commande

  1. Créez une clé KMS dans votre compte AWS.

    aws kms create-key
    

    Le résultat inclut les métadonnées de la clé.

  2. Dans le résultat de la commande précédente, copiez le nom ARN (Amazon Resource Name) de la clé dans le champ Arn. Par exemple, une clé de la région us-west-2 dispose de l'ARN arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

  3. Créez un alias pour la clé avec aws kms create-alias. Un alias vous permet de gérer vos clés KMS AWS par nom.

    aws kms create-alias \
        --alias-name=alias/key-name \
        --target-key-id=key-arn
    
  4. Répétez les étapes précédentes pour une autre clé.

Console

  1. Connectez-vous à la console AWS.
  2. Accédez à KMS, puis sélectionnez Customer-managed keys (Clés gérées par le client) dans la barre latérale.
  3. Cliquez sur Create Key (Créer une clé).
  4. Laissez les options par défaut sélectionnées.
  5. Une fois la clé créée, sélectionnez-la dans la liste.
  6. Copiez l'ARN de la clé.
  7. Répétez les étapes précédentes pour une autre clé.

Exigences de Google Cloud

Certaines étapes de ce document risquent de ne pas fonctionner correctement si votre organisation applique des contraintes à votre environnement Google Cloud. Dans ce cas, vous ne pourrez peut-être pas effectuer des tâches telles que la création d'adresses IP publiques ou de clés de compte de service. Si vous effectuez une requête qui renvoie une erreur concernant des contraintes, consultez la section Développer des applications dans un environnement Google Cloud limité.

Avant de commencer

  • Assurez-vous de disposer des autorisations Propriétaire de projet sur un compte Google pour activer les API sur le projet Google Cloud dans lequel vous connectez votre environnement des clusters Anthos sur AWS. Vous n'utiliserez les autorisations de Propriétaire que pour créer les comptes de services Anthos clusters on AWS sur les comptes de service AWS dans la section suivante.

  • Installez Google Cloud CLI.

  • L'API Anthos doit être activée pour votre projet Google Cloud. L'activation de cette API vous permet d'utiliser d'autres fonctionnalités Anthos avec votre projet Google Cloud.

Créer vos comptes de service des clusters Anthos sur AWS

Dans cette section, vous allez créer trois comptes de service et clés IAM pour les clusters Anthos sur AWS. Ces comptes de service sont décrits dans la liste suivante :

Nom Rôles Description
management-sa gkehub.admin Autorisations de gérer les membres du Hub
hub-sa gkehub.connect Autorisation de configurer Connect entre vos clusters d'utilisateur et Hub.
node-sa storage.objectViewer Autorisation d'accéder à Container Registry.

Ligne de commande

  1. Authentifiez-vous avec Google Cloud CLI.

    gcloud auth login &&\
    gcloud auth application-default login
    

    Vous êtes invité à effectuer deux actions pour accéder à cloud.google.com et vous authentifier avec votre compte Google.

  2. Définissez votre projet Google Cloud comme variable d'environnement et définissez votre ID project-id par défaut à l'aide de gcloud CLI.

    export PROJECT_ID=project-id
    
    gcloud config set project $PROJECT_ID
    

    Remplacez la valeur de project-id par votre projet Google Cloud.

  3. Activez les API Google Cloud.

    gcloud services enable anthos.googleapis.com
    gcloud services enable cloudresourcemanager.googleapis.com
    gcloud services enable gkehub.googleapis.com
    gcloud services enable gkeconnect.googleapis.com
    gcloud services enable logging.googleapis.com
    gcloud services enable monitoring.googleapis.com
    gcloud services enable serviceusage.googleapis.com
    gcloud services enable stackdriver.googleapis.com
    gcloud services enable storage-api.googleapis.com
    gcloud services enable storage-component.googleapis.com
    
  4. Créez des comptes de service avec gcloud en exécutant les commandes suivantes.

    gcloud iam service-accounts create management-sa
    gcloud iam service-accounts create hub-sa
    gcloud iam service-accounts create node-sa
    
  5. Téléchargez les clés pour chaque compte de service avec gcloud en exécutant les commandes suivantes.

    gcloud iam service-accounts keys create management-key.json \
         --iam-account management-sa@$PROJECT_ID.iam.gserviceaccount.com
    gcloud iam service-accounts keys create hub-key.json \
         --iam-account hub-sa@$PROJECT_ID.iam.gserviceaccount.com
    gcloud iam service-accounts keys create node-key.json \
         --iam-account node-sa@$PROJECT_ID.iam.gserviceaccount.com
    
  6. Attribuez des rôles au compte de service de gestion.

    gcloud projects add-iam-policy-binding \
        $PROJECT_ID \
        --member serviceAccount:management-sa@$PROJECT_ID.iam.gserviceaccount.com \
        --role roles/gkehub.admin
    
  7. Attribuez des rôles au compte de service Hub.

    gcloud projects add-iam-policy-binding \
        $PROJECT_ID \
        --member serviceAccount:hub-sa@$PROJECT_ID.iam.gserviceaccount.com \
        --role roles/gkehub.connect
    
  8. Attribuez des rôles au compte de service de nœud.

    gcloud projects add-iam-policy-binding \
          $PROJECT_ID \
          --member serviceAccount:node-sa@$PROJECT_ID.iam.gserviceaccount.com \
          --role roles/storage.objectViewer
    

Console

  1. Ouvrez la page de la bibliothèque d'API de Google Cloud Console.
  2. Sélectionnez le projet de votre choix dans le menu déroulant en haut de l'écran.
  3. Recherchez et activez les API suivantes.

    • Anthos
    • Cloud Resource Manager
    • Cloud Storage
    • Cloud Logging
    • API JSON Google Cloud Storage
    • GKE Hub
    • API GKE Connect
    • Service Usage
    • Stackdriver
    • Stackdriver Monitoring
  4. Ouvrez la page Comptes de service.

  5. Ensuite, créez un compte de service et attribuez des rôles au compte de service management-sa.

    1. Cliquez sur Créer un compte de service.
    2. Nommez le compte management-sa et cliquez sur Créer. L'écran Autoriser ce compte de service à accéder au projet s'affiche.
    3. Ajoutez les rôles d'administrateur GKE Hub.
    4. Cliquez sur Continuer. L'écran Autoriser les utilisateurs à accéder à ce compte de service s'affiche.
    5. Cliquez sur OK. L'écran Comptes de service du projet s'affiche.
    6. Recherchez la ligne contenant l'adresse e-mail de votre compte de service, management-sa@project_id.iam.gserviceaccount.com.
    7. Cliquez sur le menu d'actions du compte de service, puis sélectionnez Gérer les clés.
    8. Cliquez sur le menu déroulant Ajouter une clé.
    9. Cliquez sur Créer une clé.
    10. Sélectionnez JSON comme type de clé, puis cliquez sur Créer. Votre navigateur télécharge la clé du compte de service.
    11. Renommez le fichier management-key.json.
  6. Ensuite, créez un compte de service et attribuez des rôles au compte de service hub-sa.

    1. Cliquez sur Créer un compte de service.
    2. Nommez le compte hub-sa et cliquez sur Créer. L'écran Autoriser ce compte de service à accéder au projet s'affiche.
    3. Ajoutez le rôle d'agent de connexion GKE Hub.
    4. Cliquez sur Continuer. L'écran Autoriser les utilisateurs à accéder à ce compte de service s'affiche.
    5. Cliquez sur OK. L'écran Comptes de service du projet s'affiche.
    6. Recherchez la ligne contenant l'adresse e-mail de votre compte de service, hub-sa@project_id.iam.gserviceaccount.com.
    7. Cliquez sur le menu d'actions du compte de service, puis sélectionnez Gérer les clés.
    8. Cliquez sur le menu déroulant Ajouter une clé.
    9. Cliquez sur Créer une clé.
    10. Sélectionnez JSON comme type de clé, puis cliquez sur Créer. Votre navigateur télécharge la clé du compte de service.
    11. Renommez le fichier hub-key.json.
  7. Ensuite, créez un compte de service et attribuez des rôles au compte de service node-sa.

    1. Cliquez sur Créer un compte de service.
    2. Nommez le compte node-sa et cliquez sur Créer. L'écran Autoriser ce compte de service à accéder au projet s'affiche.
    3. Ajoutez le rôle de lecteur des objets de l'espace de stockage.
    4. Cliquez sur OK. L'écran Comptes de service du projet s'affiche.
    5. Recherchez la ligne contenant l'adresse e-mail de votre compte de service, node-sa@project_id.iam.gserviceaccount.com.
    6. Cliquez sur le menu d'actions du compte de service, puis sélectionnez Gérer les clés.
    7. Cliquez sur le menu déroulant Ajouter une clé.
    8. Cliquez sur Créer une clé.
    9. Sélectionnez JSON comme type de clé, puis cliquez sur Créer. Votre navigateur télécharge la clé du compte de service.
    10. Renommez le fichier node-key.json.

Outil de ligne de commande anthos-gke

anthos-gke est un outil de ligne de commande pour les clusters Anthos sur AWS. Vous utilisez anthos-gke pour créer la configuration et installer un service de gestion. La dernière version de anthos-gke est aws-1.14.1-gke.0.

L'outil de ligne de commande anthos-gke n'est compatible qu'avec Linux et macOS.

  1. Téléchargez le binaire depuis Cloud Storage.

    Linux

    gsutil cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/linux/amd64/anthos-gke .
    

    macOS

    gsutil cp gs://gke-multi-cloud-release/aws/aws-1.14.1-gke.0/bin/darwin/amd64/anthos-gke .
    
  2. Mettez à jour les autorisations du fichier anthos-gke et copiez-le dans /usr/local/bin.

    chmod 755 anthos-gke
    sudo mv anthos-gke /usr/local/bin
    
  3. Confirmez que la version est aws-1.14.1-gke.0.

    anthos-gke version
    

Autorisations pour l'outil de ligne de commande anthos-gke

Pour utiliser l'outil de ligne de commande anthos-gke, l'utilisateur qui exécute la commande doit disposer des rôles ServiceUsageViewer et StorageAdmin. Pour ajouter les rôles à votre compte principal IAM, exécutez les commandes suivantes :

gcloud projects add-iam-policy-binding PROJECT_NAME \
    --member user:USER_NAME \
    --role roles/serviceusage.serviceUsageViewer
gcloud projects add-iam-policy-binding PROJECT_NAME \
    --member user:USER_NAME \
    --role roles/storage.admin

Remplacez les éléments suivants :

  • PROJECT_NAME : projet Google Cloud
  • USER_NAME : nom de l'utilisateur qui exécute l'outil de ligne de commande anthos-gke. Si vous utilisez un compte de service, utilisez serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com.

Terraform

L'outil anthos-gke génère des fichiers de configuration Terraform et appelle l'outil de ligne de commande terraform.

Anthos clusters on AWS nécessite une version de Terraform supérieure à la version 0.14.3. Vous pouvez vérifier votre version de Terraform à l'aide de la commande suivante :

terraform version

Si vous ne disposez pas de la version v0.14.3 ou d'une version ultérieure, téléchargez et installez Terraform avant de créer un service de gestion.

Mettre à niveau Terraform

Pour mettre à niveau Terraform après l'installation d'Anthos clusters on AWS, vous devez mettre à jour votre binaire Terraform via chaque version mineure dans l'ordre.

Par exemple, si vous souhaitez mettre à niveau Terraform de la version 0.12.x à la version 0.14.x, vous devez installer temporairement la version 0.13.x. Après avoir installé une version 0.13.x, exécutez anthos-gke aws management init et anthos-gke aws management apply. Anthos clusters on AWS met à jour votre configuration. Vous pouvez ensuite passer à la version 0.14.x.

Kubernetes

Les clusters Anthos sur AWS nécessitent kubectl version 1.17 ou ultérieure. Vous pouvez vérifier votre version de kubectl en exécutant la commande suivante :

kubectl version --client -o yaml | grep gitVersion

Si vous ne possédez pas la version 1.17 ou une version ultérieure, installez une version plus récente de kubectl.

Étapes suivantes