Cette page explique comment créer un cluster d'administrateur pour Google Distributed Cloud. Le cluster d'administrateur gère les clusters d'utilisateur qui exécutent vos charges de travail. Si vous souhaitez utiliser des domaines de topologie, consultez Créer un cluster d'administrateur à utiliser avec des domaines de topologie.
Cette page s'adresse aux administrateurs, aux architectes et aux opérateurs qui configurent, surveillent et gèrent l'infrastructure technologique. Pour en savoir plus sur les rôles courants et les exemples de tâches que nous citons dans le contenu Google Cloud , consultez Rôles utilisateur et tâches courantes de l'utilisateur dans GKE Enterprise.
Pour en savoir plus sur le cluster d'administrateur, consultez la présentation de l'installation.
Avant de commencer
Assurez-vous d'avoir configuré votre poste de travail administrateur et de pouvoir vous y connecter, comme décrit dans Créer un poste de travail administrateur.
Assurez-vous que les fichiers de clé JSON des comptes de service se trouvent sur votre poste de travail administrateur.
Consultez le document de planification des adresses IP. Assurez-vous de disposer de suffisamment d'adresses IP pour les trois nœuds du plan de contrôle et une adresse IP virtuelle du plan de contrôle. Si vous prévoyez de créer des clusters d'utilisateur kubeception, vous devez disposer de suffisamment d'adresses IP pour les nœuds de plan de contrôle de ces clusters d'utilisateur.
Consultez la présentation de l'équilibrage de charge et examinez votre décision concernant le type d'équilibreur de charge que vous souhaitez utiliser. Pour les équilibreurs de charge manuels, vous devez configurer l'équilibreur de charge avant de créer votre cluster d'administrateur.
Si vous utilisez
gkectl
pour créer le cluster d'administrateur, décidez si vous souhaitez utiliser un registre public ou privé pour les composants Google Distributed Cloud. Pour en savoir plus sur l'utilisation d'un registre Docker privé, consultezprivateRegistry
. Ni Terraform ni la console Google Cloud ne sont compatibles avec l'utilisation d'un registre Docker privé pour les composants système.Choisissez le type de système d'exploitation à exécuter sur vos nœuds de cluster d'administrateur.
Si votre organisation exige que le trafic sortant passe par un serveur proxy, assurez-vous d'ajouter à la liste d'autorisation les API requises et l'adresse d'Artifact Registry.
Dans les versions 1.29 et ultérieures, les vérifications préliminaires côté serveur sont activées par défaut. Les vérifications préliminaires côté serveur nécessitent des règles de pare-feu supplémentaires. Dans la section Règles de pare-feu pour les clusters d'administrateur, recherchez "Vérifications préaliminaires" et assurez-vous que toutes les règles de pare-feu requises sont configurées. Les vérifications préliminaires côté serveur sont exécutées sur le cluster d'amorçage au lieu d'être exécutées localement sur le poste de travail administrateur.
Créer un cluster d'administrateur avec l'outil de votre choix
Cette section explique comment créer un cluster d'administrateur à l'aide de gkectl
, de Terraform et de la console Google Cloud . Pour obtenir des informations qui vous aideront à choisir un outil et à connaître les limites de certains outils, consultez Choisir un outil pour gérer le cycle de vie du cluster.
gkectl
Par défaut, dans la version 1.32 et ultérieures, les nouveaux clusters créés à l'aide de gkectl
sont créés avec les fonctionnalités avancées activées. Veillez à consulter Différences lors de l'exécution de clusters avancés.
Si vous ne souhaitez pas activer le cluster avancé, vous devez définir enableAdvancedCluster
sur false
dans votre fichier de configuration.
Présentation de la procédure
Voici les principales étapes à suivre pour créer un cluster d'administrateur :
- Remplir vos fichiers de configuration
- Spécifiez les détails de votre nouveau cluster d'administrateur en remplissant et en validant un fichier de configuration du cluster d'administrateur, un fichier de configuration des identifiants, et éventuellement un fichier de bloc d'adresses IP.
- Importez des images d'OS dans vSphere et transférez des images de conteneurs vers le registre privé, le cas échéant.
- Exécutez
gkectl prepare
.
- Créez un cluster d'administrateur.
- Utilisez
gkectl
pour créer un cluster d'administrateur comme spécifié dans vos fichiers de configuration terminés. Lorsque Google Distributed Cloud crée un cluster d'administrateur, il déploie un cluster Kubernetes in Docker (kind) pour héberger temporairement les contrôleurs Kubernetes nécessaires à la création du cluster d'administrateur. Ce cluster temporaire est appelé cluster d'amorçage. Les clusters d'utilisateur sont créés et mis à niveau par leur cluster d'administrateur de gestion sans utiliser de cluster d'amorçage.
- Vérifiez que votre cluster d'administrateur est en cours d'exécution.
- Utilisez
kubectl
pour afficher les nœuds de votre cluster.
À la fin de cette procédure, vous disposerez d'un cluster d'administrateur en cours d'exécution que vous pourrez utiliser pour créer et gérer des clusters d'utilisateur.
Si vous utilisez VPC Service Controls, des erreurs peuvent s'afficher lorsque vous exécutez certaines commandes gkectl
, telles que "Validation Category: GCP - [UNKNOWN] GCP
service: [Stackdriver] could not get GCP services"
. Pour éviter ces erreurs, ajoutez le paramètre --skip-validation-gcp
à vos commandes.
Remplir le fichier de configuration
Assurez-vous que votre poste de travail administrateur dispose de la version requise de
gkectl
. En règle générale, vous utilisez la même version degkectl
que celle qui sera utilisée lors de la création du cluster. Vous spécifiez la version du cluster dans le champgkeOnPremVersion
du fichier de configuration du cluster. Les règles de version suivantes sont appliquées lors de la création du cluster :La version mineure
gkectl
ne peut pas être inférieure à celle du cluster. Par exemple, il n'est pas autorisé de créer un cluster 1.30 à l'aide de la version 1.29 degkectl
. Les versions de correctif n'ont pas d'importance. Par exemple, vous pouvez utilisergkectl
version 1.29.0-gke.1456 pour créer un cluster avec une version de correctif supérieure, telle que 1.29.1000-gke.94.La version mineure
gkectl
ne peut pas être supérieure de plus de deux versions mineures à la version du cluster. Par exemple, si vous créez un cluster 1.28, la versiongkectl
peut être 1.29 ou 1.30. Toutefois, vous ne pouvez pas utiliser la version 1.31 degkectl
, car elle est trois versions mineures plus récente que la version du cluster.
Si nécessaire, consultez Télécharger
gkectl
pour obtenir une version compatible degkectl
.
Si vous avez utilisé gkeadm
pour créer votre poste de travail administrateur, il a généré un fichier de configuration nommé admin-cluster.yaml
.
Si vous n'avez pas utilisé gkeadm
pour créer votre poste de travail administrateur, générez admin-cluster.yaml
en exécutant la commande suivante sur votre poste de travail administrateur :
gkectl create-config admin
Ce fichier de configuration vous permet de créer votre cluster d'administrateur.
Familiarisez-vous avec le fichier de configuration en analysant le fichier de configuration du cluster d'administrateur. Nous vous recommandons de conserver ce document ouvert dans un nouvel onglet ou dans une autre fenêtre, car vous en aurez besoin pour réaliser les étapes suivantes.
name
Si vous souhaitez spécifier un nom pour votre cluster d'administrateur, renseignez le champ name
.
bundlePath
Le bundle est un fichier compressé contenant les composants du cluster. Il est inclus dans le poste de travail d'administrateur. Ce champ est déjà renseigné.
vCenter
La plupart des champs de cette section sont déjà renseignés avec les valeurs que vous avez saisies lors de la création de votre poste de travail administrateur.
enableAdvancedCluster
Si vous souhaitez activer la fonctionnalité avancée en preview pour les clusters, définissez enableAdvancedCluster
sur true
.
Notez les limites suivantes concernant l'aperçu des clusters avancés :
- Vous ne pouvez activer le cluster avancé que lors de la création de nouveaux clusters 1.31.
- Une fois le cluster avancé activé, vous ne pourrez pas le mettre à niveau vers la version 1.32. N'activez le cluster avancé que dans un environnement de test.
network
Remplissez les sections network.controlPlaneIPBlock
et network.hostConfig
. Définissez également adminMaster.replicas
sur 3
.
Les champs network.podCIDR et network.serviceCIDR sont préremplis avec des valeurs que vous pouvez laisser inchangées, sauf si elles entrent en conflit avec des adresses déjà utilisées sur votre réseau. Kubernetes utilise ces plages pour attribuer des adresses IP aux pods et aux services de votre cluster.
Renseignez les autres champs selon les besoins dans la section réseau du fichier de configuration.
loadBalancer
Réservez une adresse IP virtuelle pour le serveur d'API Kubernetes de votre cluster d'administration. Indiquez votre adresse IP virtuelle comme valeur pour loadBalancer.vips.controlPlaneVIP
.
Pour en savoir plus, consultez la page Adresses IP virtuelles dans le sous-réseau du cluster d'administrateur.
Choisissez le type d'équilibrage de charge que vous souhaitez utiliser. Vous disposez des options suivantes :
Équilibrage de charge groupé MetalLB. Définissez
loadBalancer.kind
sur"MetalLB"
.Équilibrage de charge manuel. Définissez
loadBalancer.kind
sur"ManualLB"
, puis supprimez la sectionmanualLB
.
Pour en savoir plus sur les options d'équilibrage de charge, consultez la page Présentation de l'équilibrage de charge.
antiAffinityGroups
Définissez antiAffinityGroups.enabled
sur true
ou false
en fonction de votre préférence.
Utilisez ce champ pour indiquer si vous souhaitez que les clusters Google Distributed Cloud créent des règles d'anti-affinité VMware DRS (Distributed Resource Scheduler) pour les nœuds de votre cluster d'administrateur. Ceux-ci sont ainsi répartis sur au moins trois hôtes physiques dans votre centre de données.
adminMaster
Si vous souhaitez spécifier le processeur et la mémoire pour les nœuds de plan de contrôle du cluster d'administrateur, remplissez les champs cpus
et memoryMB
dans la section adminMaster
.
Les clusters d'administrateur doivent comporter trois nœuds de plan de contrôle. Définissez le champ replicas
dans la section adminMaster
sur 3
.
proxy
Si le réseau qui contiendra vos nœuds de cluster d'administrateur se trouve derrière un serveur proxy, remplissez la section proxy
.
privateRegistry
Décidez où vous souhaitez conserver les images de conteneur pour les composants Google Distributed Cloud. Vous disposez des options suivantes :
Artifact Registry
Votre propre registre Docker privé.
Si vous souhaitez utiliser votre propre registre privé, remplissez la section
privateRegistry
.
componentAccessServiceAccountKeyPath
Google Distributed Cloud utilise votre compte de service d'accès aux composants pour télécharger les composants de cluster à partir d'Artifact Registry. Ce champ contient le chemin d'accès à un fichier de clé JSON pour votre compte de service d'accès au composant.
Ce champ est déjà renseigné.
gkeConnect
Enregistrez votre cluster d'administrateur dans un parc Google Cloud en remplissant la section gkeConnect
. Si vous incluez les sections stackdriver
et cloudAuditLogging
dans le fichier de configuration, l'ID de gkeConnect.projectID
doit être identique à celui défini dans stackdriver.projectID
et cloudAuditLogging.projectID
. Si les ID de projet ne sont pas identiques, la création du cluster échoue.
Dans la version 1.28 et les versions ultérieures, vous pouvez éventuellement spécifier une région dans laquelle les services Fleet et Connect s'exécutent dans gkeConnect.location
. Si vous n'incluez pas ce champ, le cluster utilise les instances globales de ces services.
Si vous incluez gkeConnect.location
, la région que vous spécifiez doit être identique à celle configurée dans cloudAuditLogging.clusterLocation
, stackdriver.clusterLocation
et gkeOnPremAPI.location
. Si les régions ne sont pas identiques, la création du cluster échoue.
gkeOnPremAPI
Si l'API GKE On-Prem est activée dans votre projetGoogle Cloud , tous les clusters du projet sont automatiquement enregistrés dans l'API GKE On-Prem dans la région configurée dans stackdriver.clusterLocation
.
La région gkeOnPremAPI.location
doit être identique à celle spécifiée dans cloudAuditLogging.clusterLocation
, gkeConnect.location
et stackdriver.clusterLocation
. Si les régions ne sont pas identiques, la création du cluster échoue.
Si vous souhaitez enregistrer tous les clusters du projet dans l'API GKE On-Prem, veillez à suivre les étapes de la section Avant de commencer pour activer et utiliser l'API GKE On-Prem dans le projet.
Si vous ne souhaitez pas enregistrer le cluster dans l'API GKE On-Prem, incluez cette section et définissez
gkeOnPremAPI.enabled
surfalse
. Si vous ne souhaitez enregistrer aucun cluster dans le projet, désactivezgkeonprem.googleapis.com
(nom de service de l'API GKE On-Prem) dans le projet. Pour obtenir des instructions, consultez la section Désactiver des services.
stackdriver
Si vous souhaitez activer Cloud Logging et Cloud Monitoring pour votre cluster, renseignez la section stackdriver
.
Cette section est obligatoire par défaut. Autrement dit, si vous ne remplissez pas cette section, vous devez inclure l'option --skip-validation-stackdriver
lorsque vous exécutez gkectl create admin
.
Notez les exigences suivantes :
Si vous activez le cluster avancé, vous devez spécifier le même chemin d'accès dans
cloudAuditLogging.serviceAccountKeyPath
etstackdriver.serviceAccountKeyPath
.L'ID dans
stackdriver.projectID
doit être identique à celui dansgkeConnect.projectID
etcloudAuditLogging.projectID
.La région Google Cloud définie dans
stackdriver.clusterLocation
doit être identique à celle définie danscloudAuditLogging.clusterLocation
etgkeConnect.location
. En outre, sigkeOnPremAPI.enabled
est défini surtrue
, la même région doit être définie dansgkeOnPremAPI.location
.
Si les ID de projet et les régions ne sont pas identiques, la création du cluster échoue.
cloudAuditLogging
Si vous souhaitez intégrer les journaux d'audit du serveur d'API Kubernetes de votre cluster avec les journaux d'audit Cloud, remplissez la section cloudAuditLogging
.
Notez les exigences suivantes :
Si vous activez le cluster avancé, vous devez spécifier le même chemin d'accès dans
cloudAuditLogging.serviceAccountKeyPath
etstackdriver.serviceAccountKeyPath
.L'ID dans
cloudAuditLogging.projectID
doit être identique à celui dansgkeConnect.projectID
etstackdriver.projectID
.La région Google Cloud définie dans
cloudAuditLogging.clusterLocation
doit être la même que celle définie dansstackdriver.clusterLocation
etgkeConnect.location
(si le champ est inclus dans votre fichier de configuration). En outre, sigkeOnPremAPI.enabled
est défini surtrue
, la même région doit être définie dansgkeOnPremAPI.location
.
Si les ID de projet et les régions ne sont pas identiques, la création du cluster échoue.
clusterBackup
Si vous souhaitez activer la sauvegarde du cluster d'administrateur, définissez clusterBackup.datastore
sur le datastore vSphere dans lequel vous souhaitez enregistrer les sauvegardes de cluster.
Si vous activez le cluster avancé, supprimez cette section. La sauvegarde du cluster d'administrateur dans un datastore vSphere n'est pas prise en charge.
autoRepair
Si vous souhaitez activer la réparation automatique des nœuds pour votre cluster d'administrateur, définissez autoRepair.enabled
sur true
.
secretsEncryption
Si vous souhaitez activer le chiffrement permanent des secrets, remplissez la section secretsEncryption
.
Si vous activez le cluster avancé, définissez secretsEncryption.enabled
sur false
.
Le chiffrement des secrets toujours activé n'est pas pris en charge.
osImageType
Choisissez le type d'image d'OS que vous souhaitez utiliser pour les nœuds de cluster d'administrateur et renseignez la section osImageType
en conséquence.
Si vous activez le cluster avancé, définissez osImageType
sur ubuntu_cgroupv2
ou ubuntu_containerd
.
Exemple de fichiers de configuration préremplis
Voici un exemple de fichier de configuration de cluster d'administrateur renseigné. La configuration active certaines des fonctionnalités disponibles, mais pas toutes.
vc-01-admin-cluster.yaml
apiVersion: v1 kind: AdminCluster name: "gke-admin-01" bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.28.0-gke.1-full.tgz" vCenter: address: "vc01.example" datacenter: "vc-01" cluster: "vc01-workloads-1" resourcePool: "vc-01-pool-1" datastore: "vc01-datastore-1" caCertPath: "/usr/local/google/home/me/certs/vc01-cert.pem"" credentials: fileRef: path: "credential.yaml" entry: "vCenter" network: hostConfig: dnsServers: - "203.0.113.1" - "198.51.100.1" ntpServers: - "216.239.35.4" serviceCIDR: "10.96.232.0/24" podCIDR: "192.168.0.0/16" vCenter: networkName: "vc01-net-1" controlPlaneIPBlock: netmask: "255.255.248.0" gateway: "21.0.143.254" ips: - ip: "21.0.140.226" hostname: "admin-cp-vm-1" - ip: "21.0.141.48" hostname: "admin-cp-vm-2" - ip: "21.0.141.65" hostname: "admin-cp-vm-3" loadBalancer: vips: controlPlaneVIP: "172.16.20.59" kind: "MetalLB" antiAffinityGroups: enabled: true adminMaster: cpus: 4 memoryMB: 16384 replicas: 3 componentAccessServiceAccountKeyPath: "sa-key.json" gkeConnect: projectID: "my-project-123" registerServiceAccountKeyPath: "connect-register-sa-2203040617.json" stackdriver: projectID: "my-project-123" clusterLocation: "us-central1" enableVPC: false serviceAccountKeyPath: "log-mon-sa-2203040617.json" disableVsphereResourceMetrics: false clusterBackup: datastore: "vc-01-datastore-bu" autoRepair: enabled: true osImageType: "ubuntu_containerd"
Valider votre fichier de configuration
Après avoir rempli le fichier de configuration du cluster d'administrateur, exécutez gkectl check-config
pour vérifier que le fichier est valide :
gkectl check-config --config ADMIN_CLUSTER_CONFIG
Remplacez ADMIN_CLUSTER_CONFIG par le chemin d'accès de votre fichier de configuration de cluster d'administrateur.
Si la commande renvoie des messages d'échec, corrigez les problèmes et validez à nouveau le fichier.
Si vous souhaitez ignorer les validations les plus longues, transmettez l'option --fast
.
Pour ignorer des validations individuelles, utilisez les options --skip-validation-xxx
. Pour en savoir plus sur la commande check-config
, consultez la page Exécuter des vérifications préliminaires.
Obtenir des images de l'OS
Exécutez gkectl prepare
pour initialiser votre environnement vSphere :
gkectl prepare --config ADMIN_CLUSTER_CONFIG
La commande gkectl prepare
exécute les tâches préparatoires suivantes :
Importe les images d'OS vers vSphere et les marque comme modèles de VM.
Transfère les images de conteneurs vers votre registre, si vous utilisez un registre Docker privé.
Valide, éventuellement, des attestations de version des images de conteneur, vérifiant ainsi que les images ont été conçues et signées par Google, et sont prêtes pour le déploiement.
Créez le cluster d'administrateur :
Créez le cluster d'administrateur :
gkectl create admin --config ADMIN_CLUSTER_CONFIG
Si vous utilisez VPC Service Controls, des erreurs peuvent s'afficher lorsque vous exécutez certaines commandes gkectl
, telles que "Validation Category: GCP - [UNKNOWN] GCP
service: [Stackdriver] could not get GCP services"
. Pour éviter ces erreurs, ajoutez le paramètre --skip-validation-gcp
à vos commandes.
Reprendre la création du cluster d'administrateur après un échec
Si la création du cluster d'administrateur échoue ou est annulée, vous pouvez exécuter à nouveau la commande create
:
gkectl create admin --config ADMIN_CLUSTER_CONFIG
Localiser le fichier kubeconfig du cluster d'administrateur
La commande gkectl create admin
crée un fichier kubeconfig nommé kubeconfig
dans le répertoire actuel. Vous aurez besoin de ce fichier kubeconfig ultérieurement pour interagir avec votre cluster d'administrateur.
Le fichier kubeconfig contient le nom de votre cluster d'administrateur. Pour afficher le nom du cluster, vous pouvez exécuter la commande suivante :
kubectl config get-clusters --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Le résultat affiche le nom du cluster. Exemple :
NAME gke-admin-tqk8x
Si vous le souhaitez, vous pouvez modifier le nom et l'emplacement de votre fichier kubeconfig.
Gérer le fichier checkpoint.yaml
Cette section ne s'applique qu'aux clusters d'administrateur non HA. Le fichier checkpoint.yaml
n'est pas utilisé pour la création de clusters d'administrateur à haute disponibilité.
Lorsque vous avez exécuté la commande gkectl create admin
pour créer le cluster d'administrateur, elle a créé un fichier de point de contrôle dans le même dossier de datastore que le disque de données du cluster d'administrateur. Par défaut, ce fichier est nommé DATA_DISK_NAME‑checkpoint.yaml
. Si la longueur de DATA_DISK_NAME est supérieure ou égale à 245 caractères, le nom est DATA_DISK_NAME.yaml
en raison de la limite de longueur des noms de fichier vSphere.
Ce fichier contient l'état et les identifiants du cluster d'administrateur, et il est utilisé pour les mises à niveau ultérieures. Ne supprimez pas ce fichier, sauf si vous suivez la procédure de suppression d'un cluster d'administrateur.
Si vous avez activé le chiffrement de VM dans votre instance de vCenter Server, vous devez disposer du droit Opérations de chiffrement accès direct avant de créer ou de mettre à niveau votre cluster d'administrateur. Sinon, le point de contrôle ne sera pas importé. Si vous ne pouvez pas obtenir ce privilège, vous pouvez désactiver l'importation du fichier de point de contrôle à l'aide de l'indicateur masqué --disable-checkpoint
lorsque vous exécutez une commande appropriée.
Le fichier checkpoint.yaml
est automatiquement mis à jour lorsque vous exécutez la commande gkectl upgrade admin
ou lorsque vous exécutez une commande gkectl update
qui affecte le cluster d'administrateur.
Vérifier que votre cluster d'administrateur est en cours d'exécution
Vérifiez que votre cluster d'administrateur est en cours d'exécution :
kubectl get nodes --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Remplacez ADMIN_CLUSTER_KUBECONFIG par le chemin d'accès du fichier kubeconfig de votre cluster d'administrateur.
Le résultat affiche les nœuds du cluster d'administrateur. Exemple :
admin-cp-vm-1 Ready control-plane,master ... admin-cp-vm-2 Ready control-plane,master ... admin-cp-vm-3 Ready control-plane,master ...
Sauvegarder des fichiers
Nous vous recommandons de sauvegarder le fichier kubeconfig de votre cluster d'administrateur. Autrement dit, copiez le fichier kubeconfig de votre poste de travail administrateur vers un autre emplacement. Ainsi, si vous perdez l'accès au poste de travail administrateur ou si le fichier kubeconfig de votre poste de travail administrateur est supprimé par erreur, vous avez toujours accès au cluster d'administrateur.
Nous vous recommandons également de sauvegarder la clé SSH privée de votre cluster d'administrateur. Si vous perdez l'accès au cluster d'administrateur, vous pouvez toujours utiliser SSH pour vous connecter aux nœuds du cluster d'administrateur. Cela vous permettra de résoudre et d'examiner les problèmes de connectivité au cluster d'administrateur.
Extrayez la clé SSH du cluster d'administrateur dans un fichier nommé admin-cluster-ssh-key
:
kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get secrets -n kube-system sshkeys \ -o jsonpath='{.data.vsphere_tmp}' | base64 -d > admin-cluster-ssh-key
Vous pouvez désormais sauvegarder admin-cluster-ssh-key
à l'emplacement de votre choix.
Stratégies RBAC
Lorsque vous remplissez la section gkeConnect
dans le fichier de configuration de votre cluster d'administrateur, le cluster est enregistré dans votre parc lors de sa création ou de sa mise à jour. Pour activer la fonctionnalité de gestion du parc, Google Cloud déploie l'agent Connect et crée un compte de service Google qui représente le projet auprès duquel le cluster est enregistré.
L'agent Connect établit une connexion avec le compte de service pour gérer les requêtes adressées au serveur d'API Kubernetes du cluster. Cela vous permet ainsi d'accéder aux fonctionnalités de gestion des clusters et des charges de travail dans Google Cloud, y compris l'accès à la consoleGoogle Cloud , qui vous permet d'interagir avec votre cluster.
Le serveur d'API Kubernetes du cluster d'administrateur doit être en mesure d'autoriser les requêtes de l'agent Connect. Pour ce faire, les stratégies de contrôle d'accès basé sur les rôles (RBAC) suivantes sont configurées sur le compte de service :
Une règle d'emprunt d'identité qui autorise l'agent Connect à envoyer des requêtes au serveur d'API Kubernetes au nom du compte de service.
Une stratégie d'autorisation qui spécifie les opérations autorisées sur d'autres ressources Kubernetes.
Le compte de service et les stratégies RBAC sont nécessaires pour gérer le cycle de vie de vos clusters d'utilisateur dans la console Google Cloud .
Terraform
Présentation de la procédure
Avant de créer le cluster d'administrateur, vous devez exécuter la commande gkectl register bootstrap
sur votre poste de travail administrateur. Cette commande déploie un cluster Kubernetes in Docker (kind) sur le poste de travail administrateur. Ce cluster d'amorçage héberge les contrôleurs Kubernetes nécessaires à la création du cluster d'administrateur. Lorsque vous créez le cluster d'administrateur, les contrôleurs du cluster d'amorçage provisionnent les nœuds, exécutent les vérifications préliminaires et enregistrent le cluster d'administrateur dans le parc. Le cluster d'amorçage est automatiquement supprimé une fois le cluster d'administrateur créé.
Voici les principales étapes à suivre pour créer un cluster d'administrateur à l'aide de Terraform :
- Remplissez votre fichier de configuration.
- Utilisez la ressource google_gkeonprem_vmware_admin_cluster et l'exemple suivant pour créer le fichier de configuration
main.tf
.
- Créez un cluster
bootstrap
. - Exécutez
gkectl register bootstrap
pour créer le cluster d'amorçage. Une fois la création du cluster d'amorçage terminée, le résultat de la commande vous indique de terminer la configuration du cluster d'administrateur. Le processus continue de s'exécuter jusqu'à ce que le cluster d'administrateur soit créé.
- Créez un cluster
- Créez un cluster d'administrateur.
- Dans une autre fenêtre de terminal ou sur un autre ordinateur ayant accès à l'API GKE On-Prem, exécutez les commandes
terraform
pour créer un cluster d'administrateur comme spécifié dans votre fichier de configurationmain.tf
terminé.
Remplir le fichier de configuration
L'exemple suivant montre comment créer un cluster d'administrateur à haute disponibilité (HA) avec trois nœuds de plan de contrôle avec MetalLB. Dans la version 1.28 et les versions ultérieures, les nouveaux clusters d'administrateur doivent être disponibilité élevée. Cette exigence vous impose de définir control_plane_node.replicas
sur 3.
Pour obtenir plus d'informations et d'autres exemples, consultez la documentation de référence de google_gkeonprem_vmware_admin_cluster
. Pour savoir comment utiliser un registre privé pour les images système, consultez Configurer un registre de conteneurs privé.
Renseignez les variables d'espace réservé dans l'exemple suivant, puis copiez-le et collez-le dans main.tf
. Si vous avez utilisé gkeadm
pour créer votre poste de travail administrateur, ouvrez le fichier de configuration de votre poste de travail administrateur afin de pouvoir copier les valeurs de la section vCenter
dans les variables d'espace réservé correspondantes.
resource "google_gkeonprem_vmware_admin_cluster" "admin-cluster-metallb" { provider = google-beta name = "ADMIN_CLUSTER_NAME" project = "PROJECT_ID" location = "REGION" description = "DESCRIPTION" bootstrap_cluster_membership = "projects/PROJECT_ID/locations/REGION/memberships/bootstrap-ADMIN_CLUSTER_NAME" on_prem_version = "VERSION" image_type = "IMAGE_TYPE" vcenter { address = "VCENTER_ADDRESS" datacenter = "DATA_CENTER" cluster = "VCENTER_CLUSTER" resource_pool = "RESOURCE_POOL" datastore = "DATASTORE" ca_cert_data = "CA_CERT_DATA" } network_config { service_address_cidr_blocks = ["10.96.232.0/24"] pod_address_cidr_blocks = ["192.168.0.0/16"] vcenter_network = "NETWORK" dhcp_ip_config { enabled = true } host_config { dns_servers = ["DNS_SERVERS"] ntp_servers = ["NTP_SERVERS"] } ha_control_plane_config { control_plane_ip_block { gateway = "GATEWAY" netmask = "NETMASK" ips { hostname = "CONTROL_PLANE_HOST_1" ip = "CONTROL_PLANE_NODE_IP_1" } ips { hostname = "CONTROL_PLANE_HOST_2" ip = "CONTROL_PLANE_NODE_IP_2" } ips { hostname = "CONTROL_PLANE_HOST_3" ip = "CONTROL_PLANE_NODE_IP_3" } } } } control_plane_node { cpus = NUM_CPUS memory = MEMORY replicas = 3 } load_balancer { vip_config { control_plane_vip = "CONTROL_PLANE_VIP" } metal_lb_config { enabled = true } } }
Remplacez les éléments suivants :
ADMIN_CLUSTER_NAME
: nom du cluster d'administrateur. Le nom ne doit pas comporter plus de 20 caractères.PROJECT_ID
: ID du projet Google Cloud .REGION
: région Google Cloud dans laquelle l'API GKE On-Prem (gkeonprem.googleapis.com
), le service Fleet (gkehub.googleapis.com
) et le service Connect (gkeconnect.googleapis.com
) s'exécutent. Spécifiezus-west1
ou une autre région compatible.Le champ
location
correspond à l'option--location
de la commandegkectl register bootstrap
.DESCRIPTION
: description du cluster d'administrateur.VERSION
: version de Google Distributed Cloud pour le cluster. La création d'un cluster à l'aide de Terraform n'est possible qu'avec les versions 1.28 et ultérieures. La version que vous spécifiez ici doit correspondre à la version du bundle que vous spécifiez dans l'option--bundle-path
de la commandegkectl register bootstrap
. Pour obtenir la liste des versions, consultez Versions de Google Distributed Cloud.IMAGE_TYPE
: type d'image d'OS à exécuter sur les nœuds de votre cluster d'administrateur. Spécifiez l'une des options suivantes : "ubuntu_containerd
", "cos
", "ubuntu_cgv2
" ou "cos_cgv2
".VCENTER_ADDRESS
: adresse vCenter Server.Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.credentials.address
.Le champ
vcenter.address
correspond à l'indicateur--vcenter-address
dans la commandegkectl register bootstrap
.
DATA_CENTER
: nom de votre centre de données vCenter.Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.datacenter
.Le champ
vcenter.datacenter
correspond à l'option--vcenter-datacenter
de la commandegkectl register bootstrap
.
VCENTER_CLUSTER
: nom de votre cluster vCenter.Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.cluster
.Le champ
vcenter.cluster
correspond à l'indicateur--vcenter-cluster
dans la commandegkectl register bootstrap
.
RESOURCE_POOL
: nom ou chemin d'accès de votre pool de ressources vCenter.Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.resourcePool
.Le champ
vcenter.resource_pool
correspond à l'option--vcenter-resource-pool
de la commandegkectl register bootstrap
.
DATASTORE
: nom de votre datastore vCenter. La valeur que vous spécifiez doit être un nom, et non un chemin d'accès. Si vous devez saisir un chemin d'accès, ajoutez le champ suivant :folder = "FOLDER"
.Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.datastore
.Le champ
vcenter.datastore
correspond à l'option--vcenter-datastore
de la commandegkectl register bootstrap
.
Si vous souhaitez utiliser une règle de stockage de VM pour les nœuds du cluster, supprimez le champ
vcenter.datastore
et ajoutezvcenter.storage_policy_name
à la place. Ajoutez également l'option--vcenter-storage-policy
à la commandegkectl register bootstrap
. Vous devez spécifier une valeur pourvcenter.datastore
ouvcenter.storage_policy_name
, mais pas les deux.FOLDER
: nom du dossier vCenter où se trouvent les VM de votre cluster. Si vous n'utilisez pas de dossier, supprimez ce champ.Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.folder
.Le champ
vcenter.folder
correspond à l'indicateur--vcenter-folder
de la commandegkectl register bootstrap
.
CA_CERT_DATA
: saisissez le certificat CA vCenter au format PEM. Pour obtenir les données du certificat CA :Exécutez la commande suivante :
cat CA_CERT_PATH_LOCAL | tr '\n' '\\n'
Remplacez
CA_CERT_PATH_LOCAL
par le chemin d'accès au certificat CA racine de votre serveur vCenter. Si vous avez utiliségkeadm
pour créer votre poste de travail administrateur, vous pouvez utiliser la valeur du champcaCertPath
dans le fichier de configuration du poste de travail administrateur, qui correspond au chemin d'accès sur votre ordinateur local.gkeadm
a copié le fichier de certificat CA sur votre poste de travail administrateur. Vous devez spécifier le chemin d'accès au poste de travail administrateur dans l'indicateur--vcenter-ca-cert-path
de la commandegkectl register bootstrap
.Copiez le certificat généré par la commande précédente et collez-le dans un éditeur de texte. Remplacez toutes les instances de la barre oblique inverse (\) par un caractère de nouvelle ligne (\n).
Copiez le certificat modifié et collez-le dans la variable d'espace réservé
CA_CERT_DATA
.
NETWORK
: saisissez le nom de votre réseau vCenter.Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.network
.Le champ
network_config.vcenter_network
correspond à l'option--vcenter-network
de la commandegkectl register bootstrap
.
GATEWAY
: adresse IP de la passerelle par défaut pour le sous-réseau contenant vos nœuds de cluster de plan de contrôle.NETMASK
: masque de réseau du sous-réseau contenant les nœuds de votre cluster de plan de contrôle.DNS_SERVERS
: adresse IP du serveur DNS.NTP_SERVERS
: adresse IP du serveur de temps (NTP).Saisissez les adresses IP et, éventuellement, le nom d'hôte des trois nœuds du plan de contrôle dans la section
control_plane_ip_block.ips
. Si vous ne saisissez pas de nom d'hôte, supprimez les champshostname
de la configuration.NUM_CPUS
: nombre de processeurs virtuels pour chaque nœud du plan de contrôle dans le cluster d'administrateur. Doit être au minimum de 4.MEMORY
: nombre de mebioctets de mémoire pour chaque nœud de plan de contrôle du cluster d'administrateur. La valeur doit être d'au moins 8 192, mais nous vous recommandons de choisir 16 384.CONTROL_PLANE_VIP
: adresse IP que vous avez choisie de configurer sur l'équilibreur de charge pour le serveur d'API Kubernetes du cluster d'administrateur.
Vérifier le fichier de configuration et le plan
Dans le répertoire où se trouve main.tf
, exécutez les commandes suivantes :
Initialisez Terraform :
terraform init
Terraform installe les bibliothèques nécessaires, telles que le fournisseur Google Cloud . Corrigez les éventuelles erreurs dans
maint.tf
.Créez le plan Terraform :
terraform plan -out tfplan
Examinez la configuration et apportez les modifications nécessaires.
Avant d'appliquer le plan, vous devez d'abord créer le cluster bootstrap, comme décrit dans la section suivante.
Créer le cluster d'amorçage
Lorsque vous exécutez la commande gkectl register bootstrap
, vous êtes invité à saisir le nom d'utilisateur et le mot de passe du compte vCenter. Assurez-vous d'avoir les identifiants à portée de main. Si vous avez utilisé gkeadm
pour créer le poste de travail administrateur, le nom d'utilisateur et le mot de passe se trouvent dans le fichier credential.yaml
.
Connectez-vous à votre poste de travail administrateur à l'aide de SSH.
Authentifiez-vous avec Google Cloud CLI :
gcloud auth login
Exécutez la commande suivante pour créer le cluster d'amorçage. De nombreuses valeurs d'indicateur sont identiques à celles des champs
main.tf
. Notez toutefois que la commande accepte des valeurs supplémentaires que vous devez spécifier dans les variables d'espace réservé fournies.gkectl register bootstrap \ --target-cluster-name=ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID \ --location=REGION \ --vcenter-address=VCENTER_ADDRESS \ --vcenter-datacenter=DATA_CENTER \ --vcenter-cluster=VCENTER_CLUSTER \ --vcenter-resource-pool=RESOURCE_POOL \ --vcenter-datastore=DATASTORE \ --vcenter-network=NETWORK \ --vcenter-ca-cert-path=CA_CERT_PATH \ --bundle-path=BUNDLE_PATH \ --component-access-service-account-key-path=COMPONENT_ACCESS_SA_PATH \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH \ --stackdriver-service-account-key-path=LOG_MON_SA_PATH \ --cloud-audit-logging-service-account-key-path=CLOUD_AUDIT_SA_PATH
Remplacez les éléments suivants par les chemins d'accès au poste de travail administrateur :
CA_CERT_PATH
: chemin d'accès au certificat racine de l'autorité de certification pour votre serveur vCenter.BUNDLE_PATH
: chemin d'accès au fichier de bundle. Si vous avez utiliségkeadm
pour créer le poste de travail administrateur, le fichier du bundle se trouve dans/var/lib/gke/bundles/
. Le nom du fichier dépend de la version de Google Distributed Cloud (par exemple,gke-onprem-vsphere-1.31.0-gke.889-full.tgz
).COMPONENT_ACCESS_SA_PATH
: chemin d'accès au fichier de clé du compte de service d'accès au composant.CONNECT_REGISTER_SA_PATH
: chemin d'accès au fichier de clé du compte de service connect-register.LOG_MON_SA_PATH
: chemin d'accès au fichier de clé du compte de service de journalisation et de surveillance.CLOUD_AUDIT_SA_PATH
: chemin d'accès au compte de service de journalisation des audits. Si vous n'avez pas créé de compte de service de journalisation d'audit, spécifiez le chemin d'accès au fichier de clé pour le compte de service de journalisation et de surveillance.
Modifiez la commande si nécessaire pour les options suivantes :
- Si vous avez spécifié un dossier dans
main.tf
, ajoutez l'option suivante :--vcenter-folder=FOLDER
- Si vous avez spécifié une règle de stockage de VM dans
main.tf
, supprimez--vcenter-datastore
et ajoutez l'option suivante :--vcenter-storage-policy-name=STORAGE_POLICY_NAME
. - Si le réseau qui contiendra votre poste de travail d'administrateur se trouve derrière un serveur proxy, ajoutez les indicateurs suivants :
--proxy-url=PROXY_URL
et--no-proxy=NO_PROXY
. Remplacez PROXY_URL par l'URL du serveur proxy et NO_PROXY par la valeur des domaines et adresses IP exclus du proxy, séparés par une virgule.
Si vous ajoutez un indicateur, veillez à ajouter le caractère barre oblique inverse (\) de continuation de ligne de commande.
Lorsque vous y êtes invité, saisissez (ou copiez et collez) le nom d'utilisateur vCenter. Le nom d'utilisateur n'est pas renvoyé à l'écran.
Lorsque vous y êtes invité, saisissez (ou copiez et collez) le mot de passe vCenter. Le mot de passe n'est pas affiché à l'écran.
La commande exécute de nombreuses validations. Une fois que gkectl
a créé le cluster d'amorçage, vous obtenez un résultat semblable à celui-ci, qui est tronqué par souci de lisibilité :
Running workstation validations - Validation Category: Workstation - [SUCCESS] Workstation OS - [SUCCESS] Workstation Hardware - [SUCCESS] Workstation Package - [SUCCESS] Workstation NTP - [SUCCESS] Workstation Docker ... All validation results were SUCCESS. Unpacking GKE on-prem bundle: /var/lib/gke/bundles/gke-onprem-vsphere-1.31.0-gke.889-full.tgz ... Successfully created and registered the bootstrap cluster ... Waiting for preflight checks to run or OnPremAdminCluster to be applied...... -
Le processus continue de s'exécuter jusqu'à ce que le cluster d'administrateur soit créé.
Si vous quittez la commande gkectl register bootstrap
avant la création du cluster d'administrateur, la création du cluster d'administrateur échoue. Vous devrez alors supprimer le cluster d'amorçage à l'aide de la commande suivante :
gkectl delete bootstrap \ --target-cluster-name=ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID \ --location=REGION \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH
Créez le cluster d'administrateur :
Appliquez le plan Terraform pour créer le cluster d'administrateur :
terraform apply "tfplan"
La création du cluster d'administrateur prend au moins 15 minutes. Vous pouvez afficher le cluster dans la console Google Cloud sur la page Clusters GKE.
Console
Présentation de la procédure
Avant de créer le cluster d'administrateur, vous devez exécuter la commande gkectl register bootstrap
sur votre poste de travail administrateur. Cette commande déploie un cluster Kubernetes in Docker (kind) sur le poste de travail administrateur. Ce cluster d'amorçage héberge les contrôleurs Kubernetes nécessaires à la création du cluster d'administrateur. Lorsque vous créez le cluster d'administrateur, les contrôleurs du cluster d'amorçage provisionnent les nœuds, exécutent les vérifications préliminaires et enregistrent le cluster d'administrateur dans le parc. Le cluster d'amorçage est automatiquement supprimé une fois le cluster d'administrateur créé.
Voici les principales étapes à suivre pour créer un cluster d'administrateur à l'aide de la console :
Dans la console, saisissez les informations requises par
gkectl register bootstrap
. La console affiche la commandegkectl register bootstrap
avec les informations que vous avez saisies. La commande affichée inclut également des indicateurs pour les chemins d'accès que vous devrez spécifier avant d'exécuter la commande.Sur votre poste de travail administrateur, exécutez
gkectl register bootstrap
pour créer le cluster d'amorçage. Une fois la commande terminée, la sortie vous indique de terminer la configuration du cluster d'administrateur. Le processus continue de s'exécuter jusqu'à ce que le cluster d'administrateur soit créé.Vous revenez à la console pour terminer de saisir les informations nécessaires à la création du cluster. Lors de la création du cluster, la commande
gkectl register bootstrap
affiche des informations sur la progression et écrit des journaux sur votre poste de travail administrateur. Lorsque le cluster d'administrateur est créé, le cluster d'amorçage est automatiquement supprimé.
Commencer à configurer le cluster
Dans la console, accédez à la page Créer un cluster sur VMware.
Sélectionnez le projet Google Cloud dans lequel vous souhaitez créer le cluster.
Lorsque vous créerez le cluster d'amorçage dans une section ultérieure, l'ID de projet sélectionné s'affichera dans la commande
gkectl register bootstrap
, dans l'indicateur--project-id
.Assurez-vous que l'option Créer un cluster d'administrateur est sélectionnée.
Cliquez sur Suivant : Installer l'environnement d'amorçage.
Installer l'environnement d'amorçage
Dans cette section, vous allez saisir les informations requises par la commande gkectl register bootstrap
. Lorsque vous saisissez des valeurs dans les champs de l'interface utilisateur, la console copie les valeurs dans les indicateurs correspondants de la commande gkectl register bootstrap
affichée dans la section Environnement d'amorçage à partir du poste de travail administrateur en bas de la page.
Paramètres de base de l'environnement d'amorçage
Saisissez un nom pour le cluster d'administrateur. La console utilise le nom du cluster comme valeur pour l'indicateur
--target-cluster-name
dans la commandegkectl register bootstrap
affichée en bas de la page. Le nom ne peut pas comporter plus de 20 caractères.Dans le champ Google Cloud Emplacement de l'API, sélectionnez une région Google Clouddans la liste. Ce paramètre spécifie la région dans laquelle les API et les services suivants s'exécutent :
- API GKE On-Prem (
gkeonprem.googleapis.com
) - Service de parc (
gkehub.googleapis.com
) - Connecter le service (
gkeconnect.googleapis.com
)
Ce paramètre contrôle également la région dans laquelle les éléments suivants sont stockés :
- Métadonnées du cluster dont l'API GKE On-Prem a besoin pour gérer le cycle de vie du cluster
- Données Cloud Logging et Cloud Monitoring des composants système
- Journal d'audit d'administrateur créé par Cloud Audit Logs
Le champ Google Cloud API Location correspond au flag
--location
dans la commandegkectl register bootstrap
.- API GKE On-Prem (
Dans le champ Version du cluster d'administrateur, saisissez la version à utiliser pour créer le cluster. La version que vous sélectionnez ici doit correspondre à la version du bundle que vous spécifiez dans l'indicateur
--bundle-path
de la commandegkectl register bootstrap
.
Configuration de vCenter
Si vous avez utilisé gkeadm
pour créer votre poste de travail administrateur, ouvrez le fichier de configuration de ce poste de travail afin de pouvoir copier les valeurs de la section vCenter
dans les champs de la console. Notez que le fichier de configuration du cluster d'administrateur généré contient également ces informations.
La plupart des champs de cette section sont immuables. Consultez la section vCenter
de la documentation de référence sur le fichier de configuration du cluster d'administrateur pour savoir si un champ est modifiable ou non.
Dans le champ Adresse, saisissez l'adresse vCenter Server.
Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.credentials.address
.Le champ Adresse correspond à l'indicateur
--vcenter-address
de la commandegkectl register bootstrap
.
Dans le champ Centre de données, saisissez le nom de votre centre de données vCenter.
Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.datacenter
.Le champ Centre de données correspond à l'indicateur
--vcenter-datacenter
de la commandegkectl register bootstrap
.
Dans le champ Nom du cluster, saisissez le nom de votre cluster vCenter.
Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.cluster
.Le champ Cluster Name (Nom du cluster) correspond à l'indicateur
--vcenter-cluster
dans la commandegkectl register bootstrap
.
Dans le champ Pool de ressources, saisissez le nom ou le chemin d'accès à votre pool de ressources vCenter.
Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.resourcePool
.Le champ Pool de ressources correspond à l'indicateur
--vcenter-resource-pool
dans la commandegkectl register bootstrap
.
Configurez une option de stockage en saisissant l'une des valeurs suivantes :
Champ Datastore : saisissez le nom de votre datastore vCenter. La valeur que vous spécifiez doit être un nom, et non un chemin d'accès. Si vous devez saisir un chemin d'accès, saisissez-le dans le champ Dossier.
Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.datastore
.Le champ Datastore correspond à l'indicateur
--vcenter-datastore
de la commandegkectl register bootstrap
.
Champ Nom de la règle de stockage : saisissez le nom de la règle de stockage de VM pour les nœuds du cluster. Pour en savoir plus, consultez Configurer une règle de stockage.
Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.storagePolicyName
.Le champ Nom de la règle de stockage correspond à l'indicateur
--vcenter-storage-policy
dans la commandegkectl register bootstrap
.
Vous devez saisir une valeur dans le champ Datastore ou Nom de la règle de stockage, mais pas les deux.
Vous pouvez éventuellement saisir le nom du dossier vCenter dans le champ Dossier, où se trouveront les VM de votre cluster.
Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.folder
.Le champ Dossier correspond à l'indicateur
--vcenter-folder
dans la commandegkectl register bootstrap
.
Dans le champ Réseau, saisissez le nom de votre réseau vCenter.
Fichier de configuration du poste de travail administrateur : utilisez la valeur du champ
vCenter.network
.Le champ Réseau correspond à l'option
--vcenter-network
dans la commandegkectl register bootstrap
.
Dans le champ Chemin d'accès au certificat CA, saisissez le chemin d'accès au certificat CA racine de votre serveur vCenter.
Si vous avez utilisé
gkeadm
pour créer le poste de travail administrateur,gkeadm
a copié le fichier de certificat CA que vous aviez localement sur votre poste de travail administrateur.Le champ Chemin d'accès au certificat de l'autorité de certification correspond à
--vcenter-ca-cert-path
dans la commandegkectl register bootstrap
.
Obtenir le certificat CA
Après avoir créé le cluster d'amorçage, vous devrez fournir le certificat CA vCenter au format PEM dans le champ Données du certificat CA de la page Informations de base sur le cluster. Exécutez la commande suivante pour afficher le certificat :
cat CA_CERT_PATH
Remplacez CA_CERT_PATH
par le chemin d'accès au certificat CA racine de votre serveur vCenter. Si vous exécutez cette commande en local, utilisez le chemin d'accès dans vCenter.caCertPath
dans le fichier de configuration de votre poste de travail administrateur.
Copiez l'intégralité du certificat dans un éditeur de texte afin de pouvoir le coller dans le champ Données du certificat de l'autorité de certification de la page Principes de base du cluster une fois le cluster d'amorçage créé.
Amorcer l'environnement depuis le poste de travail administrateur
Lorsque vous exécutez la commande gkectl register bootstrap
, vous êtes invité à saisir le nom d'utilisateur et le mot de passe du compte vCenter. Assurez-vous d'avoir les identifiants à portée de main. Si vous avez utilisé gkeadm
pour créer le poste de travail administrateur, le nom d'utilisateur et le mot de passe se trouvent dans le fichier credential.yaml
.
Faites défiler la page jusqu'à la section Amorcer l'environnement depuis le poste de travail administrateur pour afficher la commande
gkectl register bootstrap
.Laissez cette page ouverte pendant que vous accédez à votre poste de travail administrateur pour créer le cluster d'amorçage.
Copiez et collez la commande
gkectl register bootstrap
dans un éditeur de texte afin de pouvoir spécifier des valeurs pour les indicateurs suivants :./gkectl register bootstrap \ ... --bundle-path=BUNDLE_PATH \ ... --component-access-service-account-key-path=COMPONENT_ACCESS_SA_PATH \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH \ --stackdriver-service-account-key-path=LOG_MON_SA_PATH \ --cloud-audit-logging-service-account-key-path=CLOUD_AUDIT_SA_PATH
Remplacez les éléments suivants par les chemins d'accès au poste de travail administrateur :
BUNDLE_PATH
: chemin d'accès au fichier de bundle. Si vous avez utiliségkeadm
pour créer le poste de travail administrateur, le fichier du bundle se trouve dans/var/lib/gke/bundles/
. Le nom du fichier dépend de la version de Google Distributed Cloud (par exemple,gke-onprem-vsphere-1.31.0-gke.889-full.tgz
).COMPONENT_ACCESS_SA_PATH
: chemin d'accès au fichier de clé du compte de service d'accès au composant.CONNECT_REGISTER_SA_PATH
: chemin d'accès au fichier de clé du compte de service connect-register.LOG_MON_SA_PATH
: chemin d'accès au fichier de clé du compte de service de journalisation et de surveillance.CLOUD_AUDIT_SA_PATH
: chemin d'accès au compte de service de journalisation des audits. Si vous n'avez pas créé de compte de service de journalisation d'audit, spécifiez le chemin d'accès au fichier de clé pour le compte de service de journalisation et de surveillance.
De plus, si vous avez utilisé
gkeadm
pour créer votre poste de travail administrateur,gkectl
a été téléchargé dans le répertoire/usr/bin/
. Dans ce cas, supprimez./
du début de la commande, cargkectl
ne se trouve pas dans le répertoire de travail actuel.Utilisez SSH pour vous connecter à votre poste de travail administrateur.
Copiez la commande et collez-la dans une fenêtre de terminal sur votre poste de travail administrateur.
Lorsque vous y êtes invité, saisissez (ou copiez et collez) le nom d'utilisateur vCenter. Le nom d'utilisateur n'est pas renvoyé à l'écran.
Lorsque vous y êtes invité, saisissez (ou copiez et collez) le mot de passe vCenter. Le mot de passe n'est pas affiché à l'écran.
La commande exécute de nombreuses validations. Une fois que gkectl
a créé le cluster d'amorçage, vous obtenez un résultat semblable à celui-ci, qui est tronqué par souci de lisibilité :
Running workstation validations - Validation Category: Workstation - [SUCCESS] Workstation OS - [SUCCESS] Workstation Hardware - [SUCCESS] Workstation Package - [SUCCESS] Workstation NTP - [SUCCESS] Workstation Docker ... All validation results were SUCCESS. Unpacking GKE on-prem bundle: /var/lib/gke/bundles/gke-onprem-vsphere-1.31.0-gke.889-full.tgz ... Successfully created and registered the bootstrap cluster ... Waiting for preflight checks to run or OnPremAdminCluster to be applied...... -
Le processus continue de s'exécuter jusqu'à ce que le cluster d'administrateur soit créé.
Si vous quittez la commande gkectl register bootstrap
avant la création du cluster d'administrateur, la création du cluster d'administrateur échoue. Vous devrez alors supprimer le cluster d'amorçage à l'aide de la commande suivante :
gkectl delete bootstrap \ --target-cluster-name=ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID \ --location=REGION \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH
Terminer de configurer le cluster d'administrateur
Revenez à la console et procédez comme suit :
Sur la page Installer l'environnement bootstrap, cliquez sur Vérifier la connexion.
En cas de réussite, la console affiche
Connexion établie.La connexion au cluster d'amorçage doit être établie avant de continuer. Si la connexion n'est pas établie, vérifiez les arguments que vous avez spécifiés pour la commande
gkectl register bootstrap
:Assurez-vous que la valeur de
--target-cluster-name
correspond au nom du cluster d'administrateur affiché dans la section Principes de base de l'environnement d'amorçage.Assurez-vous que la valeur de
--project-id
correspond à l'ID du projet que vous avez sélectionné dans la console.
Si vous devez modifier le nom du cluster d'amorçage, l'ID de projet ou d'autres valeurs d'indicateurs, procédez comme suit :
- Saisissez
Ctrl-C
pour quittergkectl register bootstrap
. Supprimez le cluster d'amorçage :
gkectl delete bootstrap \ --target-cluster-name=ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID \ --location=REGION \ --register-service-account-key-path=CONNECT_REGISTER_SA_PATH
Réexécutez la commande
gkectl register bootstrap
.
Cliquez sur Suivant : Principes de base des clusters pour commencer à configurer le cluster d'administrateur.
Paramètres de base du cluster
Dans le champ Données du certificat CA, copiez et collez l'intégralité du certificat CA vCenter au format PEM, comme décrit précédemment dans la section Obtenir le certificat CA.
Dans la section Autorisation, saisissez les adresses e-mail des utilisateurs auxquels vous souhaitez accorder le rôle Kubernetes
clusterrole/view
en lecture seule. Notez que votre adresse e-mail est automatiquement ajoutée. Les règles de contrôle des accès basé sur les rôles (RBAC) appliquées permettent aux utilisateurs d'exécuter des commandes en lecture seule via la passerelle Connect.Cliquez sur Next Control Plane (Prochain plan de contrôle).
Plan de contrôle
Examinez les paramètres par défaut dans la section Plan de contrôle et modifiez-les si nécessaire.
Dans la section Adresses IP des nœuds du plan de contrôle, saisissez les adresses IP dans les champs suivants :
Passerelle : adresse IP de la passerelle par défaut pour le sous-réseau contenant vos nœuds de cluster.
Masque de réseau : masque de réseau pour le sous-réseau contenant vos nœuds de cluster.
Adresses IP : saisissez l'adresse IP et, éventuellement, le nom d'hôte des trois nœuds du plan de contrôle.
Cliquez sur Suivant : Mise en réseau.
Mise en réseau
Dans cette section, vous allez spécifier les informations réseau nécessaires pour créer le cluster d'administrateur.
Dans la section Plages CIDR des services et des pods, acceptez les valeurs par défaut pour les plages d'adresses IP des services et des pods Kubernetes, ou saisissez d'autres plages d'adresses CIDR.
CIDR des services : la plage la plus petite possible est
/24
. Plage maximale possible :/12
.CIDR des pods : la plage la plus petite possible est
/18
. La plage la plus étendue possible est /8.
Dans la section Configuration de l'hôte, spécifiez les serveurs NTP, les serveurs DNS et, éventuellement, les domaines de recherche DNS utilisés par les VM qui sont vos nœuds de cluster. Une fois le cluster créé, vous ne pouvez plus modifier ces valeurs.
Cliquez sur Suivant : Équilibreur de charge.
Équilibreur de charge
Dans cette section, vous allez sélectionner le type d'équilibreur de charge à utiliser. Pour en savoir plus, consultez la page Présentation de l'équilibrage de charge.
Dans la liste Type d'équilibreur de charge, sélectionnez un équilibreur de charge :
Groupé avec MetalLB : l'équilibreur de charge MetalLB est groupé et nécessite moins de configuration que l'équilibrage de charge manuel. Les composants MetalLB s'exécutent sur vos nœuds de cluster. Vous n'avez donc pas besoin de créer de VM distinctes pour votre équilibreur de charge.
Manuel : vous pouvez utiliser l'équilibreur de charge de votre choix à condition de le configurer avant de créer le cluster. Tout équilibreur de charge que vous configurez manuellement nécessite de configurer des mappages entre les adresses IP virtuelles, les adresses de nœud et les valeurs NodePort.
Dans le champ Adresse IP virtuelle du plan de contrôle, saisissez l'adresse IP virtuelle à utiliser pour le trafic envoyé au serveur d'API Kubernetes.
Cliquez sur Vérifier et créer.
La console affiche les messages d'état de vérification des paramètres et de création du cluster dans votre centre de données.
En cas de problème de configuration, la console affiche un message d'erreur suffisamment clair pour que vous puissiez résoudre le problème de configuration et tenter à nouveau de créer le cluster.
Des informations sur le processus de création du cluster sont générées sur votre poste de travail administrateur. Si les vérifications préliminaires réussissent, vous obtenez un résultat semblable au suivant :
[2023-03-22 23:12:47+0000] Waiting for cluster kubeconfig to become ready OK [2023-03-22 23:15:47+0000] Writing kubeconfig file [2023-03-22 23:15:47+0000] kubeconfig of cluster being created is present at gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig [2023-03-22 23:15:47+0000] Please restrict access to this file as it contains authentication credentials of your cluster. [2023-03-22 23:15:47+0000] Waiting for cluster to become ready OK [2023-03-22 23:20:17+0000] Please run [2023-03-22 23:20:17+0000] kubectl --kubeconfig gkectl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig get nodes [2023-03-22 23:20:17+0000] to get cluster nodes status. [2023-03-22 23:20:17+0000] Waiting for node pools to become ready OK [2023-03-22 23:20:37+0000] Waiting for metrics to become ready in GCP OK [2023-03-22 23:25:38+0000] Waiting for cluster API provider to install in the created admin cluster OK [2023-03-22 23:25:48+0000] Moving admin cluster resources to the created admin cluster [2023-03-22 23:25:51+0000] Waiting for node update jobs to finish OK [2023-03-22 23:27:41+0000] Flushing logs... OK [2023-03-22 23:27:41+0000] Deleting membership... OK [2023-03-22 23:27:42+0000] Deleting bootstrap cluster.
Se connecter au cluster d'administrateur
La commande gkectl register bootstrap
crée un fichier kubeconfig
pour le cluster d'administrateur sur votre poste de travail administrateur. Le répertoire où se trouve le fichier kubeconfig
et le nom du fichier sont basés sur le nom du cluster d'administrateur, comme suit :
gkectl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig
Vous devez restreindre l'accès à ce kubeconfig
, car il contient les identifiants d'authentification du cluster.
Vous pouvez également exécuter des commandes kubectl
en lecture seule via la passerelle de connexion.
Exécutez la commande suivante sur un ordinateur sur lequel gcloud CLI est installé pour obtenir une entrée
kubeconfig
pouvant accéder au cluster via la passerelle Connect.gcloud container fleet memberships get-credentials ADMIN_CLUSTER_NAME \ --project=PROJECT_ID
Le résultat ressemble à ce qui suit :
Starting to build Gateway kubeconfig... Current project_id: PROJECT_ID A new kubeconfig entry "connectgateway_PROJECT_ID_global_ADMIN_CLUSTER_NAME" has been generated and set as the current context.
Vous pouvez maintenant exécuter des commandes
kubectl
en lecture seule via la passerelle Connect :kubectl get pods -A
Si vous avez besoin de droits d'administrateur complets pour le cluster d'administrateur, consultez Configurer la passerelle Connect.
Dépannage
Consultez la section Dépanner la création et la mise à niveau du cluster.
Étape suivante
Créer un cluster d'utilisateur