Les conditions préalables à l'installation des clusters Anthos sur Bare Metal sont les suivantes :
- Prérequis pour la machine du poste de travail exécutant l'outil
bmctl
- Prérequis pour les machines de nœud comprises dans le déploiement des clusters Anthos sur Bare Metal
- Prérequis pour les machines d'équilibreurs de charge
- Prérequis pour le projet Google Cloud
- Prérequis pour vos comptes de service
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
- Connectez-vous à gcloud en tant qu'utilisateur avec l'identifiant
gcloud auth application-default
: - Administrateur de compte de service
- Administrateur de clés de compte de service
- Administrateur de projet IAM
- Lecteur de Compute
- Administrateur Service Usage
- Obtenez l'ID du projet Cloud à utiliser avec la création de cluster :
gcloud auth application-default loginVous 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 :
export GOOGLE_APPLICATION_CREDENTIALS=JSON_KEY_FILEJSON_KEY_FILE spécifie le chemin d'accès au fichier de clé JSON de votre compte de service.
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.
Vérifiez que les systèmes de fichiers qui sauvegardent les répertoires suivants disposent de la capacité requise et répondent aux deux exigences suivantes chaque fois que vous installez ou réinstallez des clusters Anthos sur solution Bare Metal :
- L'espace disque global est inférieur à 90 % d'utilisation.
Les répertoires disposent d'au moins 128 Gio d'espace de stockage gratuit.
L'installation crée les répertoires suivants si nécessaire :
/var/lib/docker
ou/var/lib/containerd
selon l'environnement d'exécution du conteneur : 30 Gio (32 212 254 720 octets)/var/lib/kubelet
: 10 Gio (10 737 418 240 octets)/mnt/anthos-system
: 25 GiBo (26 843 545 600 octets)/
: 20 Gio (21 474 836 480 octets)/var/lib/etcd
: 20 Gio (21 474 836 480 octets, applicable uniquement aux nœuds du plan de contrôle)
Les répertoires
/var/lib/etcd
et/etc/kubernetes
sont soit inexistants, soit vides.Vous pouvez créer les répertoires dans la même partition ou le même système de fichiers. Pour en savoir plus, consultez la section Configuration matérielle requise. Les exigences de stockage individuelles précédentes s'appliquent si les répertoires se trouvent dans des partitions ou des systèmes de fichiers différents.
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.