Présentation des conditions préalables à l'installation

Les conditions préalables à l'installation des clusters Anthos sur Bare Metal sont les suivantes :

Si vous utilisez la machine du poste en tant que machine du nœud de cluster, celle-ci doit répondre aux prérequis pour les deux.

Avant de commencer

Lors de l'installation, vous devez fournir les identifiants suivants :

  • Clés SSH privées nécessaires pour accéder aux machines du nœud de cluster.
  • Si vous n'utilisez pas root, le nom de connexion de la machine du nœud de cluster.
  • Clés du compte de service Google Cloud. Pour en savoir plus, consultez la page Créer et gérer les clés de comptes de service.

Assurez-vous de disposer de tous les identifiants nécessaires avant d'essayer d'installer les clusters Anthos sur Bare Metal.

Se connecter à gcloud

  1. Connectez-vous à gcloud en tant qu'utilisateur avec l'identifiant gcloud auth application-default :
  2. gcloud auth application-default login
    
    Vous devez disposer d'un rôle de propriétaire/éditeur de projet pour utiliser les fonctionnalités d'activation automatique d'API et de création de compte de service, décrites ci-dessous. Vous pouvez également ajouter les rôles IAM suivants à l'utilisateur :
    • Administrateur de compte de service
    • Administrateur de clés de compte de service
    • Administrateur de projet IAM
    • Lecteur de Compute
    • Administrateur Service Usage
    Si vous disposez déjà d'un compte de service avec ces rôles, exécutez la commande suivante :
    export GOOGLE_APPLICATION_CREDENTIALS=JSON_KEY_FILE
    
    JSON_KEY_FILE spécifie le chemin d'accès au fichier de clé JSON de votre compte de service.
  3. Obtenez l'ID du projet Cloud à utiliser avec la création de cluster :
  4. export CLOUD_PROJECT_ID=$(gcloud config get-value project)
    

Prérequis pour le poste de travail

Le poste de travail bmctl doit remplir les conditions préalables suivantes :

  • Le système d'exploitation correspond à la même distribution Linux compatible qui s'exécute sur les machines du nœud de cluster.
  • Docker version 19.03 ou ultérieure
  • L'utilisateur non racine est membre du groupe docker (pour obtenir des instructions, consultez la section Gérer Docker en tant qu'utilisateur non racine).
  • gcloud installé
  • Plus de 50 Gio d'espace disque disponible.
  • Connectivité de couche 3 à toutes les machines de nœud de cluster.
  • Accès à toutes les machines de nœud de cluster via SSH via des clés privées avec accès racine sans mot de passe. L'accès peut être direct ou via sudo.
  • Disposer de l'accès à l'adresse IP virtuelle du plan de contrôle.

Prérequis associés à la machine de nœud

Les machines virtuelles du nœud doivent remplir les conditions suivantes :

  • Leur système d'exploitation fait partie des distributions compatibles avec Linux.
  • La version du noyau Linux est 4.17.0 ou ultérieure. Ubuntu 18.04 et 18.04.1 utilisent la version de noyau 4.15 de Linux, et sont donc incompatibles.
  • Disposer de la configuration matérielle minimale requise.
  • Disposer d'un accès à Internet.
  • Connectivité de couche 3 à toutes les autres machines de nœud.
  • Disposer de l'accès à l'adresse IP virtuelle du plan de contrôle.
  • Disposer de serveurs de noms DNS correctement configurés.
  • Aucun nom d'hôte en double.
  • L'un des services NTP suivants est activé et fonctionnel :
    • chrony
    • ntp
    • ntpdate
    • systemd-timesyncd
  • Un gestionnaire de packages opérationnel : apt, dnf, etc.
  • Sur Ubuntu, vous devez désactiver le pare-feu UFW (Uncomplicated Firewall). Exécutez systemctl stop ufw pour désactiver le pare-feu UFW.
  • Sur Ubuntu et à partir d'Anthos clusters on bare metal 1.8.2, vous n'êtes pas obligé de désactiver AppArmor. Si vous déployez des clusters à l'aide de versions antérieures d'Anthos clusters on bare metal, désactivez AppArmor à l'aide de la commande suivante : systemctl stop apparmor
  • Si vous choisissez Docker comme environnement d'exécution de conteneur, vous pouvez utiliser Docker version 19.03 ou ultérieure. Si vous n'avez pas installé Docker sur vos machines de nœud ou si vous possédez une version plus ancienne, Anthos sur solution Bare Metal installe Docker 19.03.13 ou une version ultérieure lorsque vous créez des clusters.
  • Si vous utilisez l'environnement d'exécution de conteneurs par défaut, containerd, vous n'avez pas besoin de Docker et l'installation de Docker peut poser problème. Pour en savoir plus, consultez les problèmes connus.

  • La création de clusters vérifie uniquement l'espace libre nécessaire pour les composants du système de clusters Anthos on Bare Metal. Cette modification vous permet de mieux contrôler l'espace que vous allouez aux charges de travail de l'application. Chaque fois que vous installez des clusters Anthos sur solution Bare Metal, assurez-vous que les systèmes de fichiers qui sauvegardent les répertoires suivants disposent de la capacité requise et répondent aux exigences suivantes :

    • / : 17 Gio (18 253 611 008 octets).
    • /var/lib/docker ou /var/lib/containerd, selon l'environnement d'exécution du conteneur :
      • 30 Gio (32 212 254 720 octets) pour les nœuds du plan de contrôle
      • 10 Gio (10 485 760 octets) pour les nœuds de calcul
    • /var/lib/kubelet : 500 Mio (524 288 000 octets)
    • /var/lib/etcd : 20 Gio (21 474 836 480 octets, applicable uniquement aux nœuds du plan de contrôle)

    Quelle que soit la version du cluster, les listes de répertoires précédentes peuvent se trouver sur les mêmes partitions ou sur différentes partitions. S'ils se trouvent sur la même partition sous-jacente, l'espace requis est la somme de l'espace requis pour chaque répertoire individuel sur cette partition. Pour toutes les versions, le processus de création de cluster crée les répertoires, le cas échéant.

  • Les répertoires /var/lib/etcd et /etc/kubernetes sont soit inexistants, soit vides.

En plus des conditions préalables à l'installation et à l'exécution de clusters Anthos on Bare Metal, les clients doivent se conformer aux normes applicables à leur secteur ou à leur segment d'activité, telles que les exigences PCI DSS pour les entreprises qui traitent des cartes de crédit ou les guides de mise en œuvre technique de sécurité (STIG, Security Technical Implementation Guides) pour les entreprises du secteur de la défense.

Prérequis pour les machines d'équilibrage de charge

Lorsque votre déploiement ne comporte pas de pool de nœuds d'équilibreur de charge spécialisé, vous pouvez utiliser des nœuds de calcul ou des nœuds de plan de contrôle pour en créer un. Dans ce cas, les conditions préalables supplémentaires sont les suivantes :

  • Les machines se trouvent dans le même sous-réseau de couche 2.
  • Toutes les adresses IP virtuelles se trouvent dans le sous-réseau des nœuds d'équilibreur de charge et peuvent être acheminés par la passerelle du sous-réseau.
  • La passerelle du sous-réseau d'équilibreur de charge doit écouter les messages ARP gratuits pour transmettre les paquets vers l'équilibreur de charge maître.

Prérequis du projet Google Cloud

Avant d'installer les clusters Anthos sur Bare Metal, activez les services suivants pour votre projet GCP associé :

  • anthos.googleapis.com
  • anthosaudit.googleapis.com
  • anthosgke.googleapis.com
  • cloudresourcemanager.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • iam.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com

Vous pouvez également utiliser l'outil bmctl pour activer ces services.

Prérequis pour les comptes de service

Dans les environnements de production, il est recommandé de créer des comptes de service distincts pour remplir différents objectifs. Les clusters Anthos sur Bare Metal nécessitent les différents types de comptes de service Google Cloud suivants en fonction de leur objectif :

  • Pour accéder à Container Registry (gcr.io), aucun rôle spécial n'est requis.
  • Pour enregistrer un cluster dans un parc, attribuez le rôle IAM roles/gkehub.admin au compte de service de votre projet Google Cloud.
  • Pour vous connecter à vos parcs, attribuez le rôle IAM roles/gkehub.connect au compte de service de votre projet Google Cloud.
  • Pour envoyer des journaux et des métriques à la suite Google Cloud Operations, accordez les rôles IAM suivants au compte de service de votre projet Google Cloud :

    • roles/logging.logWriter
    • roles/monitoring.metricWriter
    • roles/stackdriver.resourceMetadata.writer
    • roles/monitoring.dashboardEditor
    • roles/opsconfigmonitoring.resourceMetadata.writer

Vous pouvez également utiliser l'outil bmctl pour créer ces comptes de service.