Créer et gérer des clusters

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.com
  • anthosaudit.googleapis.com
  • anthosgke.googleapis.com
  • cloudresourcemanager.googleapis.com
  • connectgateway.googleapis.com
  • container.googleapis.com
  • edgecontainer.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • gkeonprem.googleapis.com
  • iam.googleapis.com
  • kubernetesmetadata.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com
  • storage.googleapis.com
  • sts.googleapis.com

Pour en savoir plus sur l'activation des API, consultez Activer des services.

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

  1. Dans la console Google Cloud , accédez à la page Clusters de Kubernetes.

    accéder aux clusters

  2. Cliquez sur Créer.

  3. Sur la page Créer un cluster, cliquez sur l'onglet Sur site.

  4. À côté de l'option Distributed Cloud Edge, cliquez sur Configurer.

  5. 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é.
  6. Dans le volet de navigation de gauche, cliquez sur Plan de contrôle.

  7. 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.
  8. Dans le volet de navigation de gauche, cliquez sur Mise en réseau.

  9. 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.

  10. Dans le volet de navigation de gauche, cliquez sur Autorisation.

  11. Sur la page Autorisation, indiquez le nom du compte utilisateur dans le projet Google Cloud cible autorisé à modifier les ressources du cluster.

  12. 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.
  13. 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 sont REGULAR (activer les mises à niveau automatiques du cluster) et NONE (désactiver les mises à niveau automatiques du cluster). Si aucune valeur n'est spécifiée, la valeur par défaut est REGULAR.
  • 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 sont 3 pour la haute disponibilité et 1 pour le fonctionnement standard. Si aucune valeur n'est spécifiée, la valeur par défaut est 3.

  • 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 sont DISALLOWED et ALLOWED. Si aucune valeur n'est spécifiée, la valeur par défaut est DISALLOWED.

  • 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 format 1.X.Y, où X est la version mineure et Y la 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'option RELEASE_CHANNEL sur NONE pour 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 est 0, 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 sont REGULAR (activer les mises à niveau automatiques du cluster) et NONE (désactiver les mises à niveau automatiques du cluster). Si aucune valeur n'est spécifiée, la valeur par défaut est REGULAR.
  • 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 sont 3 pour la haute disponibilité et 1 pour 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 sont DISALLOWED et ALLOWED. Si aucune valeur n'est spécifiée, la valeur par défaut est DISALLOWED.

  • 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 format 1.X.Y, où X est la version mineure et Y la 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 champ RELEASE_CHANNEL sur NONE pour 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 est 0, 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

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

  2. 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 champ nextPageToken de 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

  1. Dans la console Google Cloud , accédez à la page Clusters.

    accéder aux clusters

  2. 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 est IMMEDIATELY.
  • SOFTWARE_VERSION : spécifie la version du logiciel Distributed Cloud que vous souhaitez exécuter sur ce cluster au format 1.X.Y, où X est la version mineure et Y la 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 est IMMEDIATELY.
  • SOFTWARE_VERSION : spécifie la version du logiciel Distributed Cloud Connected que vous souhaitez que ce cluster exécute au format 1.X.Y, où X est la version mineure et Y la 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 sont REGULAR (activer les mises à niveau automatiques du cluster) et NONE (désactiver les mises à niveau automatiques du cluster). Si aucune valeur n'est spécifiée, la valeur par défaut est REGULAR.
  • 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 est 0, 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 sont REGULAR (activer les mises à niveau automatiques du cluster) et NONE (désactiver les mises à niveau automatiques du cluster). Si aucune valeur n'est spécifiée, la valeur par défaut est REGULAR.
  • 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écessite v1alpha1) 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 est 0, 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 format YYYY-MM-DDTHH:MM:SSZ.
  • MAINTENANCE_END : heure de fin de l'intervalle de maintenance au format YYYY-MM-DDTHH:MM:SSZ.
  • MAINTENANCE_FREQUENCY : fréquence de l'intervalle de maintenance au format FREQ=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 si FREQ est défini sur WEEKLY. Si vous omettez le paramètre BYDAY, Google choisit le jour de la semaine pour vous.
    • Si vous définissez FREQ sur "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 format YYYY-MM-DDTHH:MM:SSZ.
  • MAINTENANCE_END : heure de fin de l'intervalle de maintenance au format YYYY-MM-DDTHH:MM:SSZ.
  • MAINTENANCE_FREQUENCY : fréquence de l'intervalle de maintenance au format FREQ=WEEKLY|DAILY;BYDAY=MO,TU,WE,TH,FR,SA,SU :
    • FREQ peut être DAILY ou WEEKLY.
    • BYDAY : liste de jours séparés par une virgule pendant lesquels la maintenance peut avoir lieu si FREQ est défini sur WEEKLY. Si vous omettez le paramètre BYDAY, Google choisit le jour de la semaine pour vous.
    • Si vous définissez FREQ sur "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 format YYYY-MM-DDTHH:MM:SSZ.
  • EXCLUSION_END : heure de fin de l'intervalle de maintenance au format YYYY-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 :

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