Cette page explique comment créer et gérer des ressources de cluster connecté Google Distributed Cloud. À partir de la version 1.7.0, Google Distributed Cloud connecté ne prend plus en charge les clusters de plan de contrôle Cloud.
Pour en savoir plus sur les clusters connectés Distributed Cloud, consultez Fonctionnement de Distributed Cloud connected.
Prérequis
Avant de pouvoir créer un cluster connecté Distributed Cloud, vous devez activer les API requises dans le projet Google Cloud cible. Pour ce faire, vous devez disposer de l'un des rôles suivants dans le projet Google Cloud :
- Propriétaire (
roles/owner) - Éditeur (
roles/editor) - Administrateur de Service Usage (
roles/serviceusage.serviceUsageAdmin)
Pour en savoir plus sur ces rôles, consultez la section Rôles de base. Pour en savoir plus sur l'attribution de rôles, consultez Attribuer un rôle unique.
Pour créer un cluster connecté Distributed Cloud, activez les API suivantes :
anthos.googleapis.comanthosaudit.googleapis.comanthosgke.googleapis.comcloudresourcemanager.googleapis.comconnectgateway.googleapis.comcontainer.googleapis.comedgecontainer.googleapis.comgkeconnect.googleapis.comgkehub.googleapis.comgkeonprem.googleapis.comiam.googleapis.comkubernetesmetadata.googleapis.comlogging.googleapis.commonitoring.googleapis.comopsconfigmonitoring.googleapis.comserviceusage.googleapis.comstackdriver.googleapis.comstorage.googleapis.comsts.googleapis.com
Pour en savoir plus sur l'activation des API, consultez Activer des services.
Thèmes recommandés
Avant de créer un cluster, familiarisez-vous également avec les thèmes suivants :
Créer un cluster
Pour créer un cluster connecté Distributed Cloud, suivez les étapes décrites dans cette section. La création d'un cluster est l'une des nombreuses étapes requises pour déployer une charge de travail sur Distributed Cloud Connected.
Pour effectuer cette tâche, vous devez disposer du rôle d'administrateur de conteneurs Edge (roles/edgecontainer.admin) dans votre projet Google Cloud .
Console
Dans la console Google Cloud , accédez à la page Clusters de Kubernetes.
Cliquez sur Créer.
Sur la page Créer un cluster, cliquez sur l'onglet Sur site.
À côté de l'option Distributed Cloud Edge, cliquez sur Configurer.
Sur la page Paramètres de base du cluster, fournissez les informations suivantes :
- Name (Nom) : nom unique qui identifie ce cluster. Ce nom doit être conforme à la norme RFC 1213 et ne contenir que des caractères alphanumériques minuscules et des traits d'union (
-). Il doit commencer et se terminer par un caractère alphanumérique. - Emplacement : région Google Cloud dans laquelle vous souhaitez créer ce cluster.
- Nombre maximal de pods par nœud par défaut : nombre maximal de pods Kubernetes à exécuter sur chaque nœud de ce cluster.
- Libellés : vous permet d'ajouter un ou plusieurs libellés à ce cluster en cliquant sur Ajouter un libellé.
- Name (Nom) : nom unique qui identifie ce cluster. Ce nom doit être conforme à la norme RFC 1213 et ne contenir que des caractères alphanumériques minuscules et des traits d'union (
Dans le volet de navigation de gauche, cliquez sur Plan de contrôle.
Sur la page Plan de contrôle, fournissez les informations suivantes :
- Sélectionnez Local comme emplacement du plan de contrôle.
- Sélectionnez le projet Distributed Cloud connecté cible.
- Sélectionnez la zone connectée Distributed Cloud cible.
- Si vous le souhaitez, spécifiez des critères de filtrage pour sélectionner des machines Distributed Cloud spécifiques à ajouter au cluster.
- Indiquez si vous souhaitez qu'il s'agisse d'un cluster à haute disponibilité.
- Indiquez si vous souhaitez autoriser le déploiement partagé des charges de travail. Cela permet à vos charges de travail de s'exécuter sur les nœuds exécutant le plan de contrôle du cluster.
Dans le volet de navigation de gauche, cliquez sur Mise en réseau.
Sur la page Mise en réseau, fournissez les informations suivantes :
- Plage d'adresses de pods par défaut du cluster : bloc CIDR IPv4 souhaité pour les pods Kubernetes exécutés sur ce cluster.
- Plage d'adresses de service : bloc CIDR IPv4 souhaité pour les services Kubernetes exécutés sur ce cluster.
Pour en savoir plus, consultez Allocation d'adresses réseau pour les pods et services Distributed Cloud.
Dans le volet de navigation de gauche, cliquez sur Autorisation.
Sur la page Autorisation, indiquez le nom du compte utilisateur dans le projet Google Cloud cible autorisé à modifier les ressources du cluster.
Attribuez un pool de nœuds au cluster en procédant de l'une des manières suivantes :
- Pour attribuer un pool de nœuds existant à ce cluster, dans la section Pools de nœuds du panneau de navigation de gauche, sélectionnez le pool de nœuds existant et vérifiez que sa configuration sur la page Détails du pool de nœuds est correcte.
- Pour créer un pool de nœuds à attribuer à ce cluster, cliquez sur Ajouter un pool de nœuds, puis fournissez les informations suivantes sur la page Détails du pool de nœuds :
- Nom du pool de nœuds : nom unique qui identifie ce pool de nœuds.
- Libellés du pool de nœuds : cliquez sur Ajouter un libellé pour ajouter un ou plusieurs libellés à ce pool de nœuds.
- Préférence pour les nœuds de calcul : sélectionnez les nœuds connectés au cloud distribué à attribuer à ce pool de nœuds.
Pour créer le cluster connecté Distributed Cloud, cliquez sur Créer.
gcloud
Exécutez la commande gcloud edge-cloud container clusters create :
gcloud edge-cloud container clusters create CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--fleet-project=FLEET_PROJECT_ID \
--cluster-ipv4-cidr=CLUSTER_IPV4_CIDR_BLOCK \
--cluster-ipv6-cidr=CLUSTER_IPV6_CIDR_BLOCK \
--services-ipv4-cidr=SERVICE_IPV4_CIDR_BLOCK \
--services-ipv6-cidr=SERVICE_IPV6_CIDR_BLOCK \
--default-max-pods-per-node=MAX_PODS_PER_NODE \
--release-channel RELEASE_CHANNEL \
--control-plane-node-storage-schema CONTROL_PLANE_STORAGE_SCHEMA \
--control-plane-kms-key=CONTROL_PLANE_KMS_KEY \
--control-plane-node-location=CONTROL_PLANE_LOCATION \
--control-plane-node-count=CONTROL_PLANE_NODE_COUNT \
--control-plane-machine-filter=CONTROL_PLANE_NODE_FILTER \
--control-plane-shared-deployment-policy=CONTROL_PLANE_NODE_SHARING \
--external-lb-address-pools=IPV4/IPV6_DATA_PLANE_ADDRESSES \
--version SOFTWARE_VERSION \
--offline-reboot-ttl REBOOT_TIMEOUT
Remplacez les éléments suivants :
CLUSTER_ID: nom unique qui identifie ce cluster. Ce nom doit être conforme à la norme RFC 1213 et ne comporter que des caractères alphanumériques minuscules et des tirets (-). Il doit commencer et se terminer par un caractère alphanumérique.PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster est créé.FLEET_PROJECT_ID: ID du projet hôte du parc dans lequel le cluster est enregistré. Si cette option est ignorée, le projet de cluster connecté Distributed Cloud est utilisé comme projet hôte du parc.CLUSTER_IPV4_CIDR_BLOCK: bloc CIDR IPv4 souhaité pour les pods Kubernetes qui s'exécutent sur ce cluster.CLUSTER_IPV6_CIDR_BLOCK: bloc CIDR IPv6 souhaité pour les pods Kubernetes qui s'exécutent sur ce cluster.SERVICE_IPV4_CIDR_BLOCK: bloc CIDR IPv4 souhaité pour les services Kubernetes qui s'exécutent sur ce cluster.SERVICE_IPV6_CIDR_BLOCK: bloc CIDR IPv6 souhaité pour les services Kubernetes exécutés sur ce cluster.MAX_PODS_PER_NODE(facultatif) : nombre maximal souhaité de pods Kubernetes à exécuter sur chaque nœud de ce cluster.RELEASE_CHANNEL: (facultatif) spécifie le version disponible pour la version du logiciel Distributed Cloud que vous souhaitez que ce cluster exécute. Les valeurs valides sontREGULAR(activer les mises à niveau automatiques du cluster) etNONE(désactiver les mises à niveau automatiques du cluster). Si aucune valeur n'est spécifiée, la valeur par défaut estREGULAR.CONTROL_PLANE_STORAGE_SCHEMA(facultatif) : spécifie le schéma de stockage local pour les nœuds du plan de contrôle de ce cluster. Pour en savoir plus, consultez Configurer des schémas de stockage local.CONTROL_PLANE_KMS_KEY(facultatif) : chemin d'accès complet à la clé Cloud KMS que vous souhaitez utiliser avec le nœud du plan de contrôle de ce cluster. Exemple :/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
Cet indicateur ne s'applique que si vous avez intégré Distributed Cloud connecté à Cloud Key Management Service, comme décrit dans Activer la compatibilité avec les clés de chiffrement gérées par le client (CMEK) pour le stockage local.
CONTROL_PLANE_LOCATION: indique à Distributed Cloud de déployer localement les charges de travail du plan de contrôle pour ce cluster. La valeur correspond au nom de la zone Distributed Cloud connectée cible.CONTROL_PLANE_NODE_COUNT(facultatif) : spécifie le nombre de nœuds sur lesquels exécuter les charges de travail du plan de contrôle local. Les valeurs valides sont3pour la haute disponibilité et1pour le fonctionnement standard. Si aucune valeur n'est spécifiée, la valeur par défaut est3.CONTROL_PLANE_NODE_FILTER(facultatif) : spécifie une liste de nœuds au format regex qui exécutent les charges de travail du plan de contrôle local. Si elle est omise, Distributed Cloud sélectionne automatiquement les nœuds de manière aléatoire.CONTROL_PLANE_NODE_SHARING: (facultatif) indique si les charges de travail des applications peuvent s'exécuter sur les nœuds qui exécutent les charges de travail du plan de contrôle local. Les valeurs valides sontDISALLOWEDetALLOWED. Si aucune valeur n'est spécifiée, la valeur par défaut estDISALLOWED.IPV4/IPV6_DATA_PLANE_ADDRESSES: spécifie un fichier de configuration au format YAML ou JSON qui liste les adresses IPv4 et IPv6, les plages d'adresses ou les sous-réseaux pour le trafic entrant des services qui s'exécutent derrière l'équilibreur de charge Distributed Cloud lorsque le cluster est en mode de continuité d'activité. Pour en savoir plus, consultez Équilibrage de charge de couche 2 avec MetalLB.SOFTWARE_VERSION: spécifie la version du logiciel Distributed Cloud Connected que vous souhaitez que ce cluster exécute au format1.X.Y, oùXest la version mineure etYla version du correctif (par exemple,1.5.1). Si elle est omise, la version logicielle par défaut du serveur est utilisée. Il s'agit généralement de la dernière version disponible de Distributed Cloud connected. Pour obtenir les versions logicielles disponibles pour la création de clusters, y compris la version par défaut du serveur, consultez Obtenir les versions logicielles disponibles pour un cluster. Vous devez définir l'optionRELEASE_CHANNELsurNONEpour spécifier une version du logiciel du cluster.REBOOT_TIMEOUT: spécifie une période en secondes pendant laquelle un nœud de cluster peut rejoindre un cluster après le redémarrage, tandis que le cluster s'exécute en mode de survie. Si cette option est omise, la valeur par défaut est0, ce qui empêche les nœuds redémarrés de rejoindre le cluster tant que la connexion à Google Cloud n'a pas été rétablie.ATTENTION : Si vous spécifiez une période de délai avant redémarrage, les nœuds hors connexion peuvent redémarrer et rejoindre le cluster même si vous désactivez ou supprimez la clé de stockage pendant la période spécifiée.
API
Envoyez une requête POST à la méthode projects.locations.clusters :
POST /v1/projects/PROJECT_ID/locations/REGION/clusters?clusterId=CLUSTER_ID&requestId=REQUEST_ID&fleetId=FLEET_PROJECT_ID
{
"labels": { LABELS,
},
"authorization": {
"adminUsers": {
"username": "USERNAME"
}
},
"fleet": {
"project": "FLEET_PROJECT_ID"
},
"networking": {
"clusterIpv4CidrBlocks": CLUSTER_IPV4_CIDR_BLOCK,
"servicesIpv4CidrBlocks": SERVICE_IPV4_CIDR_BLOCK,
"clusterIpv6CidrBlocks": CLUSTER_IPV6_CIDR_BLOCK,
"servicesIpv6CidrBlocks": SERVICE_IPV6_CIDR_BLOCK,
},
"defaultMaxPodsPerNode": MAX_PODS_PER_NODE,
"releaseChannel": "RELEASE_CHANNEL",
"controlPlaneEncryption": {
"kmsKey": CONTROL_PLANE_KMS_KEY,
},
"controlPlane": {
"local": {
"nodeLocation": "CONTROL_PLANE_LOCATION",
"nodeCount": CONTROL_PLANE_NODE_COUNT,
"machineFilter": "CONTROL_PLANE_NODE_FILTER",
"sharedDeploymentPolicy": "CONTROL_PLANE_NODE_SHARING"
}
},
"externalLoadBalancerIpAddressPools": [
"IPV4/IPV6_DATA_PLANE_ADDRESSES"
],
"targetVersion": "SOFTWARE_VERSION",
"offlineRebootTtl": "REBOOT_TIMEOUT",
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet Google Cloud cible.REGION: Google Cloud région dans laquelle le cluster Distributed Cloud connecté cible est créé.CLUSTER_ID: nom unique qui identifie ce cluster. Ce nom doit être conforme à la norme RFC 1213 et ne comporter que des caractères alphanumériques minuscules et des tirets (-). Il doit commencer et se terminer par un caractère alphanumérique.REQUEST_ID: ID programmatique unique qui identifie cette requête.FLEET_PROJECT_ID: ID du projet hôte du parc dans lequel le cluster est enregistré. Il peut s'agir d'un projet distinct ou du projet Distributed Cloud associé auquel appartient ce cluster (PROJECT_ID). L'enregistrement du parc est obligatoire.LABELS: liste des libellés à appliquer à cette ressource de cluster.USERNAME: nom du compte utilisateur dans le projet Google Cloud cible autorisé à modifier les ressources du cluster.CLUSTER_IPV4_CIDR_BLOCK: bloc CIDR IPv4 souhaité pour les pods Kubernetes qui s'exécutent sur ce cluster.CLUSTER_IPV6_CIDR_BLOCK: bloc CIDR IPv6 souhaité pour les pods Kubernetes qui s'exécutent sur ce cluster.SERVICE_IPV4_CIDR_BLOCK: bloc CIDR IPv4 souhaité pour les services Kubernetes qui s'exécutent sur ce cluster.SERVICE_IPV6_CIDR_BLOCK: bloc CIDR IPv6 souhaité pour les services Kubernetes exécutés sur ce cluster.MAX_PODS_PER_NODE: nombre maximal souhaité de pods Kubernetes à exécuter sur chaque nœud de ce cluster.RELEASE_CHANNEL: (facultatif) spécifie le version disponible pour la version du logiciel Distributed Cloud Connected que vous souhaitez que ce cluster exécute. Les valeurs valides sontREGULAR(activer les mises à niveau automatiques du cluster) etNONE(désactiver les mises à niveau automatiques du cluster). Si aucune valeur n'est spécifiée, la valeur par défaut estREGULAR.CONTROL_PLANE_KMS_KEY(facultatif) : chemin d'accès complet à la clé Cloud KMS que vous souhaitez utiliser avec le nœud du plan de contrôle de ce cluster. Exemple :/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
Ce paramètre ne s'applique que si vous avez intégré Distributed Cloud connecté à Cloud Key Management Service, comme décrit dans Activer la compatibilité avec les clés de chiffrement gérées par le client (CMEK) pour le stockage local.
CONTROL_PLANE_LOCATION: indique à Distributed Cloud de déployer localement les charges de travail du plan de contrôle pour ce cluster. La valeur correspond au nom de la zone Distributed Cloud cible.CONTROL_PLANE_NODE_COUNT: spécifie le nombre de nœuds sur lesquels exécuter les charges de travail du plan de contrôle local. Les valeurs valides sont3pour la haute disponibilité et1pour le fonctionnement standard.CONTROL_PLANE_NODE_FILTER(facultatif) : spécifie une liste de nœuds au format regex qui exécutent les charges de travail du plan de contrôle local. Si elle est omise, Distributed Cloud sélectionne automatiquement les nœuds de manière aléatoire.CONTROL_PLANE_NODE_SHARING: indique si les charges de travail des applications peuvent s'exécuter sur les nœuds qui exécutent les charges de travail du plan de contrôle local. Les valeurs valides sontDISALLOWEDetALLOWED. Si aucune valeur n'est spécifiée, la valeur par défaut estDISALLOWED.IPV4/IPV6_DATA_PLANE_ADDRESSES: spécifie une charge utile de configuration au format YAML ou JSON qui liste les adresses IPv4 et IPv6, les plages d'adresses ou les sous-réseaux pour le trafic entrant des services qui s'exécutent derrière l'équilibreur de charge Distributed Cloud lorsque le cluster est en mode de continuité d'activité. Pour en savoir plus, consultez Équilibrage de charge de couche 2 avec MetalLB.SOFTWARE_VERSION: spécifie la version du logiciel Distributed Cloud que vous souhaitez exécuter sur ce cluster au format1.X.Y, oùXest la version mineure etYla version du correctif (par exemple,1.5.1). Si elle est omise, la version logicielle par défaut du serveur est utilisée. Il s'agit généralement de la dernière version disponible de Distributed Cloud connected. Pour obtenir les versions logicielles disponibles pour la création de clusters, y compris la version par défaut du serveur, consultez Obtenir les versions logicielles disponibles pour un cluster. Vous devez définir le champRELEASE_CHANNELsurNONEpour spécifier une version du logiciel du cluster.REBOOT_TIMEOUT: spécifie une période en secondes pendant laquelle un nœud de cluster peut rejoindre un cluster après le redémarrage, tandis que le cluster s'exécute en mode de survie. Si cette option est omise, la valeur par défaut est0, ce qui empêche les nœuds redémarrés de rejoindre le cluster tant que la connexion à Google Cloud n'a pas été rétablie.ATTENTION : Si vous spécifiez une période de délai avant redémarrage, les nœuds hors connexion peuvent redémarrer et rejoindre le cluster même si vous désactivez ou supprimez la clé de stockage pendant la période spécifiée.
Lister les clusters d'une région
Pour lister les clusters connectés Distributed Cloud provisionnés dans une régionGoogle Cloud , suivez les étapes de cette section.
Pour effectuer cette tâche, vous devez disposer du rôle Lecteur Edge Container (roles/edgecontainer.viewer) dans votre projet Google Cloud .
Console
Dans la console Google Cloud , accédez à la page Clusters.
Examinez la liste des clusters.
gcloud
Exécutez la commande gcloud edge-cloud container clusters list :
gcloud edge-cloud container clusters list \
--project=PROJECT_ID \
--location=REGION
Remplacez les éléments suivants :
PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle vous avez créé votre cluster Distributed Cloud connecté.
API
Envoyez une requête GET à la méthode projects.locations.clusters.list :
GET /v1/projects/PROJECT_ID/locations/REGION/clusters?clusterId=CLUSTER_ID&filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN
Remplacez les éléments suivants :
PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster Distributed Cloud cible est créé.CLUSTER_ID: nom du cluster cible.FILTER: expression qui limite les résultats renvoyés à des valeurs spécifiques.PAGE_SIZE: nombre de résultats à renvoyer par page.SORT_BY: liste de noms de champs séparés par une virgule selon lesquels les résultats renvoyés sont triés. L'ordre de tri par défaut est croissant. Pour un ordre décroissant, ajoutez le préfixe~au champ souhaité.PAGE_TOKEN: jeton reçu en réponse à la dernière requête de liste dans le champnextPageTokende la réponse. Envoyez ce jeton pour recevoir une page de résultats.
Obtenir des informations sur un cluster
Pour obtenir des informations sur un cluster connecté Distributed Cloud, suivez les étapes de cette section.
Pour effectuer cette tâche, vous devez disposer du rôle Lecteur Edge Container (roles/edgecontainer.viewer) dans votre projet Google Cloud .
Console
Dans la console Google Cloud , accédez à la page Clusters.
Sélectionnez le cluster souhaité.
Un panneau dépliant contenant des informations détaillées sur le cluster s'affiche dans le volet de droite.
gcloud
Exécutez la commande gcloud edge-cloud container clusters describe :
gcloud edge-cloud container clusters describe CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION
Remplacez les éléments suivants :
CLUSTER_ID: nom du cluster cible.PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle vous avez créé votre zone Distributed Cloud Connected.
API
Envoyez une requête GET à la méthode projects.locations.clusters.get :
GET /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID
Remplacez les éléments suivants :
PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster connecté Distributed Cloud cible est créé.CLUSTER_ID: nom du cluster cible.
Obtenir les versions logicielles disponibles pour un cluster
Pour savoir quelles versions logicielles Distributed Cloud connecté sont disponibles dans votre zone Distributed Cloud connecté pour créer des clusters, suivez les étapes de cette section.
Pour effectuer cette tâche, vous devez disposer du rôle Lecteur Edge Container (roles/edgecontainer.viewer) dans votre projet Google Cloud .
gcloud
Exécutez la commande gcloud edge-cloud container get-server-config :
gcloud edge-cloud container get-server-config --location=REGION
Remplacez REGION par la région Google Cloud dans laquelle vous avez créé votre zone Distributed Cloud connected.
API
Envoyez une requête GET à la méthode projects.locations.serverConfig :
GET /v1/projects/PROJECT_ID/locations/REGION/serverConfig
Remplacez les éléments suivants :
PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster connecté Distributed Cloud cible est créé.
Mettre à niveau la version logicielle d'un cluster
Pour mettre à niveau la version logicielle d'un cluster Distributed Cloud connecté, suivez les étapes décrites dans cette section.
Spécifier la taille de l'étape de mise à niveau logicielle
Avant de suivre les étapes de cette section, consultez Échelonnement des mises à jour logicielles.
Pour spécifier le nombre de nœuds pouvant être mis hors service simultanément pour les mises à niveau logicielles, utilisez la commande suivante :
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--max-unavailable-worker-nodes=MAX_UNAVAILABLE_NODES
Remplacez les éléments suivants :
CLUSTER_ID: nom du cluster cible.PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster Distributed Cloud connecté cible a été créé.MAX_UNAVAILABLE_NODES: spécifie le nombre maximal de nœuds de calcul pouvant être mis hors service simultanément pour une mise à niveau logicielle.
Pour rétablir la valeur par défaut, utilisez la commande suivante :
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--clear-max-unavailable-worker-nodes
Remplacez les éléments suivants :
CLUSTER_ID: nom du cluster cible.PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster Distributed Cloud connecté cible a été créé.
Mettre à niveau un cluster vers une version plus récente du logiciel Distributed Cloud Connected
Pour effectuer cette tâche, vous devez disposer du rôle d'administrateur de conteneurs Edge (roles/edgecontainer.admin) dans votre projet Google Cloud .
gcloud
Exécutez la commande gcloud edge-cloud container clusters upgrade :
gcloud edge-cloud container clusters upgrade CLUSTER_ID \ --location=REGION \ --project=PROJECT_ID \ --schedule=UPGRADE_SCHEDULE \ --version=SOFTWARE_VERSION
Remplacez les éléments suivants :
CLUSTER_ID: nom du cluster cible.REGION: région Google Cloud dans laquelle le cluster Distributed Cloud cible a été créé.PROJECT_ID: ID du projet Google Cloud cible.UPGRADE_SCHEDULE: spécifie le moment où la mise à niveau logicielle doit être déclenchée. La seule valeur valide estIMMEDIATELY.SOFTWARE_VERSION: spécifie la version du logiciel Distributed Cloud que vous souhaitez exécuter sur ce cluster au format1.X.Y, oùXest la version mineure etYla version du correctif (par exemple,1.5.1). Pour obtenir les versions logicielles disponibles pour la création de clusters, y compris la version par défaut du serveur, consultez Obtenir les versions logicielles disponibles pour un cluster.
API
Envoyez une requête POST à la méthode projects.locations.clusters.upgrade :
POST /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID:upgrade?requestId=REQUEST_ID
{
"name": "projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID",
"targetVersion": "SOFTWARE_VERSION",
"schedule": "UPGRADE_SCHEDULE",
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster connecté Distributed Cloud cible est créé.CLUSTER_ID: nom du cluster cible.REQUEST_ID: ID programmatique unique qui identifie cette requête.UPGRADE_SCHEDULE: spécifie le moment où la mise à niveau logicielle doit être déclenchée. La seule valeur valide estIMMEDIATELY.SOFTWARE_VERSION: spécifie la version du logiciel Distributed Cloud Connected que vous souhaitez que ce cluster exécute au format1.X.Y, oùXest la version mineure etYla version du correctif (par exemple,1.5.1). Pour obtenir les versions logicielles disponibles pour la création de clusters, y compris la version par défaut du serveur, consultez Obtenir les versions logicielles disponibles pour un cluster.
Une mise à niveau logicielle prend généralement environ deux heures par nœud faisant partie du pool de nœuds du cluster.
La commande renvoie une opération qui vous permet de suivre la progression de la mise à niveau logicielle. Pendant la mise à niveau du logiciel, l'état du cluster est défini sur Reconciling et revient à Running une fois la mise à niveau terminée. L'état Error d'un cluster indique que la mise à niveau du logiciel a échoué.
Dans ce cas, exécutez à nouveau la procédure de mise à niveau. Pour savoir comment vérifier l'état d'un cluster, consultez Obtenir des informations sur un cluster.
Modifier un cluster
Pour modifier un cluster Distributed Cloud connecté, suivez les étapes décrites dans cette section. Si vous modifiez la configuration du chiffrement du stockage pour le cluster, vous ne pouvez pas mettre à jour d'autres paramètres lors de la même opération de mise à jour.
Pour effectuer cette tâche, vous devez disposer du rôle d'administrateur de conteneurs Edge (roles/edgecontainer.admin) dans votre projet Google Cloud .
gcloud
Exécutez la commande gcloud edge-cloud container clusters update :
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--cluster-ipv4-cidr=CLUSTER_IPV4_CIDR_BLOCK \
--services-ipv4-cidr=SERVICES_IPV4_CIDR_BLOCK \
--default-max-pods-per-node=MAX_PODS_PER_NODE \
--release-channel=RELEASE_CHANNEL \
--control-plane-kms-key=CONTROL_PLANE_KMS_KEY \
--offline-reboot-ttl=REBOOT_TIMEOUT \
--max-unavailable-worker-nodes=MAX_UNAVAILABLE_NODES
Remplacez les éléments suivants :
CLUSTER_ID: nom du cluster cible.PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster connecté Distributed Cloud cible est créé.CLUSTER_IPV4_CIDR_BLOCK: bloc CIDR IPv4 souhaité pour les pods Kubernetes qui s'exécutent sur ce cluster.CLUSTER_IPV6_CIDR_BLOCK: bloc CIDR IPv6 souhaité pour les pods Kubernetes qui s'exécutent sur ce cluster.SERVICE_IPV4_CIDR_BLOCK: bloc CIDR IPv4 souhaité pour les services Kubernetes qui s'exécutent sur ce cluster.SERVICE_IPV6_CIDR_BLOCK: bloc CIDR IPv6 souhaité pour les services Kubernetes exécutés sur ce cluster.MAX_PODS_PER_NODE: nombre maximal souhaité de pods Kubernetes à exécuter sur chaque nœud de ce cluster.RELEASE_CHANNEL(facultatif) : spécifie le version disponible pour la version du logiciel Distributed Cloud Connected que vous souhaitez que ce cluster exécute. Les valeurs valides sontREGULAR(activer les mises à niveau automatiques du cluster) etNONE(désactiver les mises à niveau automatiques du cluster). Si aucune valeur n'est spécifiée, la valeur par défaut estREGULAR.CONTROL_PLANE_KMS_KEY(facultatif) : chemin d'accès complet à la clé Cloud KMS que vous souhaitez utiliser avec le nœud du plan de contrôle de ce cluster. Exemple :/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
Ce paramètre ne s'applique que si vous avez intégré Distributed Cloud connecté à Cloud Key Management Service, comme décrit dans Activer la compatibilité avec les clés de chiffrement gérées par le client (CMEK) pour le stockage local.
REBOOT_TIMEOUT: spécifie une période en secondes pendant laquelle un nœud de cluster peut rejoindre un cluster après le redémarrage, tandis que le cluster est en mode de survie. Si cette valeur est omise, la valeur par défaut est0, ce qui empêche les nœuds redémarrés de rejoindre le cluster tant que la connexion à Google Cloud n'a pas été rétablie.ATTENTION : Si vous spécifiez une période de délai avant redémarrage, les nœuds hors connexion peuvent redémarrer et rejoindre le cluster même si vous désactivez ou supprimez la clé de stockage pendant la période spécifiée.
MAX_UNAVAILABLE_NODES(facultatif) : spécifie le nombre maximal de nœuds de calcul pouvant être mis hors service simultanément pour une mise à niveau logicielle. Si aucune valeur n'est spécifiée, la valeur par défaut est X. Il s'agit d'une fonctionnalité en preview.
API
Envoyez une requête PATCH à la méthode projects.locations.clusters.patch :
PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/?updateMask=UPDATE_MASK&requestId=REQUEST_ID
{
"labels": { LABELS,
},
"networking": {
"ClusterIpv4CidrBlocks": CLUSTER_IPV4_CIDR_BLOCK,
"servicesIpv4CidrBlocks": SERVICE_IPV4_CIDR_BLOCK,
"ClusterIpv6CidrBlocks": CLUSTER_IPV6_CIDR_BLOCK,
"servicesIpv6CidrBlocks": SERVICE_IPV6_CIDR_BLOCK,
},
"authorization": {
"adminUsers": {
"username": USERNAME
}
},
"defaultMaxPodsPerNode": MAX_PODS_PER_NODE,
"releaseChannel": RELEASE_CHANNEL,
"controlPlaneEncryption": {
"kmsKey": CONTROL_PLANE_KMS_KEY,
},
"offlineRebootTtl": "REBOOT_TIMEOUT",
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster connecté Distributed Cloud cible est créé.CLUSTER_ID: nom du cluster cible.UPDATE_MASK: liste de noms de champs complets à mettre à jour dans cette requête au format FieldMask, séparés par une virgule.REQUEST_ID: ID programmatique unique qui identifie cette requête.CLUSTER_IPV4_CIDR_BLOCK: bloc CIDR IPv4 souhaité pour les pods Kubernetes qui s'exécutent sur ce cluster.CLUSTER_IPV6_CIDR_BLOCK: bloc CIDR IPv6 souhaité pour les pods Kubernetes qui s'exécutent sur ce cluster.SERVICE_IPV4_CIDR_BLOCK: bloc CIDR IPv4 souhaité pour les services Kubernetes qui s'exécutent sur ce cluster.SERVICE_IPV6_CIDR_BLOCK: bloc CIDR IPv6 souhaité pour les services Kubernetes exécutés sur ce cluster.USERNAME: nom du compte utilisateur dans le projet Google Cloud cible autorisé à modifier les ressources du cluster.MAX_PODS_PER_NODE: nombre maximal souhaité de pods Kubernetes à exécuter sur chaque nœud de ce cluster.RELEASE_CHANNEL: (facultatif) spécifie le version disponible pour la version du logiciel Distributed Cloud Connected que vous souhaitez que ce cluster exécute. Les valeurs valides sontREGULAR(activer les mises à niveau automatiques du cluster) etNONE(désactiver les mises à niveau automatiques du cluster). Si aucune valeur n'est spécifiée, la valeur par défaut estREGULAR.CONTROL_PLANE_KMS_KEY(facultatif) : chemin d'accès complet à la clé Cloud KMS que vous souhaitez utiliser avec le nœud du plan de contrôle de ce cluster. Exemple :/projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
Ce paramètre ne s'applique que si vous avez intégré Distributed Cloud connecté à Cloud Key Management Service, comme décrit dans Activer la compatibilité avec les clés de chiffrement gérées par le client (CMEK) pour le stockage local.
REBOOT_TIMEOUT: (nécessitev1alpha1) spécifie une période en secondes pendant laquelle un nœud de cluster peut rejoindre un cluster après le redémarrage, tandis que le cluster est en mode de capacité de survie. Si aucune valeur n'est spécifiée, la valeur par défaut est0, ce qui ne permet pas aux nœuds redémarrés de rejoindre le cluster tant que la connexion à Google Cloud n'a pas été rétablie. Il s'agit d'une fonctionnalité en preview.ATTENTION : Si vous spécifiez une période de délai avant redémarrage, les nœuds hors connexion peuvent redémarrer et rejoindre le cluster même si vous désactivez ou supprimez la clé de stockage pendant la période spécifiée.
Obtenir les identifiants d'un cluster
Pour obtenir des identifiants pour un cluster connecté Distributed Cloud, suivez les étapes décrites dans cette section.
Pour effectuer cette tâche, vous devez disposer du rôle Lecteur Edge Container (roles/edgecontainer.viewer) dans votre projet Google Cloud .
gcloud
Exécutez la commande gcloud edge-cloud container clusters get-credentials :
gcloud edge-cloud container clusters get-credentials CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION
Remplacez les éléments suivants :
CLUSTER_ID: nom du cluster cible.PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster connecté Distributed Cloud cible est créé.
API
Envoyez une requête GET à la méthode projects.locations.clusters :
GET /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID
Remplacez les éléments suivants :
PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle la zone Distributed Cloud cible est créée.CLUSTER_ID: nom du cluster cible.
Configurer un intervalle de maintenance pour un cluster
Cette section explique comment spécifier et effacer les types de périodes de maintenance suivants pour un cluster connecté Distributed Cloud :
- Intervalle de maintenance. Spécifie un intervalle de temps pendant lequel Google peut effectuer des opérations de maintenance et des mises à niveau logicielles sur votre cluster connecté Distributed Cloud.
- Période d'exclusion de maintenance Spécifie un intervalle de temps pendant lequel Google ne peut pas effectuer de maintenance ni de mises à niveau logicielles sur votre cluster Distributed Cloud connecté. Pour configurer une période d'exclusion de maintenance, vous devez d'abord configurer un intervalle de maintenance. Une période d'exclusion de maintenance est prioritaire sur l'intervalle de maintenance du cluster.
Spécifier un intervalle de maintenance pour un cluster
Pour spécifier une période de maintenance pour un cluster Distributed Cloud connecté, suivez les étapes décrites dans cette section. Pour en savoir plus sur la maintenance des clusters, consultez Comprendre les mises à jour logicielles et les intervalles de maintenance.
Pour les formats de date et d'heure, utilisez RFC 5545.
Pour effectuer cette tâche, vous devez disposer du rôle d'administrateur de conteneurs Edge (roles/edgecontainer.admin) dans votre projet Google Cloud .
Console
Si vous utilisez la console Google Cloud , vous ne pouvez spécifier une période de maintenance que lorsque vous créez un cluster. Pour spécifier une période de maintenance sur un cluster existant, vous devez utiliser la Google Cloud CLI ou l'API Distributed Cloud Edge Container.
gcloud
Exécutez la commande gcloud edge-cloud container clusters update :
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--maintenance-window-start=MAINTENANCE_START \
--maintenance-window-end=MAINTENANCE_END \
--maintenance-window-recurrence=MAINTENANCE_FREQUENCY
Remplacez les éléments suivants :
CLUSTER_ID: nom du cluster cible.PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster Distributed Cloud connecté cible est créé.MAINTENANCE_START: heure de début de l'intervalle de maintenance au formatYYYY-MM-DDTHH:MM:SSZ.MAINTENANCE_END: heure de fin de l'intervalle de maintenance au formatYYYY-MM-DDTHH:MM:SSZ.MAINTENANCE_FREQUENCY: fréquence de l'intervalle de maintenance au formatFREQ=WEEKLY|DAILY;BYDAY=MO,TU,WE,TH,FR,SA,SU:BYDAY: liste de jours séparés par une virgule pendant lesquels la maintenance peut avoir lieu siFREQest défini surWEEKLY. Si vous omettez le paramètreBYDAY, Google choisit le jour de la semaine pour vous.- Si vous définissez
FREQsur "Tous les jours", les intervalles de maintenance ont lieu tous les jours pendant les heures spécifiées.
API
Envoyez une requête PATCH à la méthode projects.locations.clusters.update :
PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?updateMask=maintenancePolicy&requestId=REQUEST_ID
{
"maintenance_policy": {
"window": {
"recurring_window": {
"window": {
"start_time": "MAINTENANCE_START",
"end_time": "MAINTENANCE_END"
},
"recurrence": "MAINTENANCE_FREQUENCY"
}
}
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet Google Cloud cible.REGION: Google Cloud région dans laquelle le cluster Distributed Cloud connecté cible est créé.CLUSTER_ID: nom du cluster cible.UPDATE_MASK: liste de noms de champs complets à mettre à jour dans cette requête au format FieldMask, séparés par une virgule.REQUEST_ID: ID programmatique unique qui identifie cette requête.CLUSTER_ID: nom du cluster cible.USERNAME: nom du compte utilisateur dans le projet Google Cloud cible autorisé à modifier les ressources du cluster.MAINTENANCE_START: heure de début de l'intervalle de maintenance au formatYYYY-MM-DDTHH:MM:SSZ.MAINTENANCE_END: heure de fin de l'intervalle de maintenance au formatYYYY-MM-DDTHH:MM:SSZ.MAINTENANCE_FREQUENCY: fréquence de l'intervalle de maintenance au formatFREQ=WEEKLY|DAILY;BYDAY=MO,TU,WE,TH,FR,SA,SU:FREQpeut êtreDAILYouWEEKLY.BYDAY: liste de jours séparés par une virgule pendant lesquels la maintenance peut avoir lieu siFREQest défini surWEEKLY. Si vous omettez le paramètreBYDAY, Google choisit le jour de la semaine pour vous.- Si vous définissez
FREQsur "Tous les jours", les intervalles de maintenance ont lieu tous les jours pendant les heures spécifiées.
Pour en savoir plus, consultez Ressource : cluster.
Effacer l'intervalle de maintenance d'un cluster
Pour effacer la période de maintenance d'un cluster Distributed Cloud connecté, suivez les étapes décrites dans cette section. Si vous supprimez un intervalle de maintenance pour un cluster, vous supprimez également tous les intervalles d'exclusion de maintenance correspondants pour ce cluster. Pour en savoir plus sur la maintenance des clusters, consultez Comprendre les mises à jour logicielles et les intervalles de maintenance.
Pour effectuer cette tâche, vous devez disposer du rôle d'administrateur de conteneurs Edge (roles/edgecontainer.admin) dans votre projet Google Cloud .
gcloud
Exécutez la commande gcloud edge-cloud container clusters update :
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--clear-maintenance-window
Remplacez les éléments suivants :
CLUSTER_ID: nom du cluster cible.PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster Distributed Cloud cible est créé.
API
Envoyez une requête PATCH à la méthode projects.locations.clusters.update :
PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?updateMask=maintenancePolicy&requestId=REQUEST_ID
{
"maintenance_policy": null
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet Google Cloud cible.REGION: Google Cloud région dans laquelle le cluster Distributed Cloud connecté cible est créé.CLUSTER_ID: nom du cluster cible.UPDATE_MASK: liste de noms de champs complets à mettre à jour dans cette requête au format FieldMask, séparés par une virgule.REQUEST_ID: ID programmatique unique qui identifie cette requête.USERNAME: nom du compte utilisateur dans le projet Google Cloud cible autorisé à modifier les ressources du cluster.
Pour en savoir plus, consultez Ressource : cluster.
Spécifier un intervalle d'exclusion de maintenance pour un cluster
Pour spécifier une période d'exclusion de maintenance pour un cluster Distributed Cloud connecté, suivez les étapes décrites dans cette section. Pour en savoir plus sur la maintenance des clusters, consultez Comprendre les mises à jour logicielles et les intervalles de maintenance.
Pour les formats de date et d'heure, utilisez RFC 3339.
Pour effectuer cette tâche, vous devez disposer du rôle d'administrateur de conteneurs Edge (roles/edgecontainer.admin) dans votre projet Google Cloud .
gcloud
Exécutez la commande gcloud edge-cloud container clusters update :
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--add-maintenance-exclusion-name=EXCLUSION_NAME \
--add-maintenance-exclusion-start=EXCLUSION_START \
--add-maintenance-exclusion-end=EXCLUSION_END
Remplacez les éléments suivants :
CLUSTER_ID: nom du cluster cible.PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster Distributed Cloud connecté cible est créé.EXCLUSION_NAME: nom descriptif de cette période d'exclusion de maintenance.EXCLUSION_START: heure de début de l'intervalle de maintenance au formatYYYY-MM-DDTHH:MM:SSZ.EXCLUSION_END: heure de fin de l'intervalle de maintenance au formatYYYY-MM-DDTHH:MM:SSZ.
Effacer l'intervalle d'exclusion de maintenance pour un cluster
Pour effacer la période d'exclusion de maintenance d'un cluster Distributed Cloud connecté, suivez les étapes décrites dans cette section. Pour en savoir plus sur la maintenance des clusters, consultez Comprendre les mises à jour logicielles et les intervalles de maintenance.
Pour effectuer cette tâche, vous devez disposer du rôle d'administrateur de conteneurs Edge (roles/edgecontainer.admin) dans votre projet Google Cloud .
gcloud
Exécutez la commande gcloud edge-cloud container clusters update :
gcloud edge-cloud container clusters update CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION \
--remove-maintenance-exclusion-window=MAINTENANCE_EXCLUSION_WINDOW
Remplacez les éléments suivants :
CLUSTER_ID: nom du cluster cible.PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster Distributed Cloud cible est créé.MAINTENANCE_EXCLUSION_WINDOW: nom de la période d'exclusion de maintenance que vous souhaitez effacer.
Supprimer un cluster
Pour supprimer un cluster connecté Distributed Cloud, suivez les étapes décrites dans cette section. Avant de pouvoir supprimer un cluster, vous devez d'abord effectuer les opérations suivantes :
- Supprimez tous les pools de nœuds attribués au cluster.
- Supprimez toutes les connexions VPN utilisées par le cluster.
Pour effectuer cette tâche, vous devez disposer du rôle d'administrateur de conteneurs Edge (roles/edgecontainer.admin) dans votre projet Google Cloud .
gcloud
Exécutez la commande gcloud edge-cloud container clusters delete :
gcloud edge-cloud container clusters delete CLUSTER_ID \
--project=PROJECT_ID \
--location=REGION
Remplacez les éléments suivants :
CLUSTER_ID: nom du cluster cible.PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster connecté Distributed Cloud cible est créé.
API
Envoyez une requête DELETE à la méthode projects.locations.clusters.delete :
DELETE /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?requestId=REQUEST_ID
Remplacez les éléments suivants :
PROJECT_ID: ID du projet Google Cloud cible.REGION: région Google Cloud dans laquelle le cluster connecté Distributed Cloud cible est créé.CLUSTER_ID: nom du cluster cible.REQUEST_ID: ID programmatique unique qui identifie cette requête.
Étapes suivantes
- Déployer des charges de travail sur Distributed Cloud connecté
- Gérer les zones
- Gérer les machines
- Créer et gérer des pools de nœuds
- Créer et gérer des connexions VPN
- Gérer les machines virtuelles
- Gérer les charges de travail GPU