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 login
export GOOGLE_APPLICATION_CREDENTIALS=JSON_KEY_FILE
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.