Créer un cluster

Vous pouvez créer des clusters Kubernetes managés pour déployer vos applications conteneurisées. OKS vous permet de démarrer des clusters Kubernetes avec une configuration prédéfinie et des services essentiels pré-installés, afin de vous éviter de gérer des déploiements inutiles.

Créer un cluster avec Cockpit

  1. Dans le dashboard Projets, cliquez sur le nom du projet dans lequel vous souhaitez créer un cluster.
    Le volet de détails du projet apparaît.

    Vous pouvez également placer le curseur de la souris sur le rang du projet dans lequel vous souhaitez créer un cluster et cliquer sur IconAddFull Créer un cluster.

  2. Cliquez sur IconAddFull Créer un cluster.
    La boîte de dialogue CRÉER UN CLUSTER apparaît.

  3. Sélectionnez la taille souhaitée pour le control plane, puis cliquez sur Suivant.

    Pour en savoir plus sur les tailles de control plane, voir Control planes.

    L’écran de sélection des paramètres généraux apparaît.

Paramètres généraux

  1. Dans le champ Nom, tapez un nom pour votre cluster.

    Le nom doit être unique et contenir entre 1 et 40 caractères alphanumériques et/ou tirets (-). Le nom doit commencer par une lettre minuscule et ne doit pas se terminer par un tiret.

  2. Dans la liste Version Kubernetes, sélectionnez l’une des versions de Kubernetes prises en charge.

    Les clusters existants ne sont pas automatiquement mis à jour vers les nouvelles versions de Kubernetes. Quand une nouvelle version est prise en charge par OKS, vous devez manuellement mettre à jour vos clusters. Pour en savoir plus, voir Mettre à jour un cluster > Mettre à jour la version de Kubernetes.

  3. (optionnel) Dans le champ Description, tapez une description pour le cluster.

  4. Cochez ou décochez la case Désactiver la suppression par API :

    • Si la case est cochée, vous ne pouvez pas supprimer le projet par API.

    • Si la case est décochée, vous pouvez supprimer le projet par API.

  5. Cliquez sur Suivant.
    L’écran de sélection du réseau apparaît.

Réseau

  1. (optionnel) Activez ou désactivez le bouton Activer le multi-Sous-régions :

    • Activez le bouton pour créer un cluster multi-Sous-régions.

    • Désactiver le bouton pour créer un cluster dans une Sous-région spécifique, puis sélectionnez la Sous-région dans laquelle déployer le control plane.

      Seuls les control planes haute disponibilité peuvent être déployés dans un cluster multi-Sous-régions.

  2. (optionnel) Pour définir des plages CIDR personnalisées :

    1. Activez Modifier la plage d’IP.

    2. Dans le champ Pods plage d’IP, tapez la plage d’IP à allouer aux pods, en notation CIDR.

    3. Dans le champ Service plage d’IP, tapez la plage d’IP à allouer aux adresses de service (ClusterIP), en notation CIDR.

    4. Dans le champ IP du service DNS du cluster, tapez l’IP à attribuer au service DNS du cluster, en notation CIDR.

      Cette option est recommandée pour les utilisateurs expérimentés seulement.

      La longueur minimale acceptée pour le préfixe est /23.

  3. Dans le champ IP, tapez une ou plusieurs IP autorisées à accéder au cluster.

    Cliquez sur Ajouter mon IP pour ajouter votre IP actuelle.

    Si vous utilisez un VPN, l’IP détectée est celle du VPN. Dans ce cas, tapez manuellement l’IP locale de votre machine.

  4. Cliquez sur Suivant.
    L’écran récapitulatif apparaît.

Récapitulatif

  1. Vérifiez l’ensemble des paramètres du cluster.

  2. Cliquez sur Créer.
    Le cluster est créé.

Créer un cluster avec octl

À ce jour, cette section est disponible en anglais uniquement.

The CreateCluster command creates a cluster with the provided configuration.

Request sample
$ octl kube api CreateCluster --profile "default" \
  --Name "awesome-cluster" \
  --ProjectId "string" \
  --Description "" \
  --CpMultiAz=true \
  --Version "string" \
  --AdminLbu=false \
  --Cni "cilium" \
  --CidrPods "10.91.0.0/16" \
  --CidrService "10.92.0.0/16" \
  --ClusterDns "10.92.0.10" \
  --Tags.Key "value" \
  --AutoMaintenances.MinorUpgradeMaintenance.Enabled=true \
  --AutoMaintenances.MinorUpgradeMaintenance.DurationHours 0 \
  --AutoMaintenances.MinorUpgradeMaintenance.StartHour 12 \
  --AutoMaintenances.MinorUpgradeMaintenance.WeekDay "Mon" \
  --AutoMaintenances.MinorUpgradeMaintenance.Tz "UTC" \
  --AutoMaintenances.PatchUpgradeMaintenance.Enabled=true \
  --AutoMaintenances.PatchUpgradeMaintenance.DurationHours 0 \
  --AutoMaintenances.PatchUpgradeMaintenance.StartHour 12 \
  --AutoMaintenances.PatchUpgradeMaintenance.WeekDay "Mon" \
  --AutoMaintenances.PatchUpgradeMaintenance.Tz "UTC" \
  --MaintenanceWindow.DurationHours 23 \
  --MaintenanceWindow.StartHour 23 \
  --MaintenanceWindow.WeekDay "Mon" \
  --MaintenanceWindow.Tz "UTC" \
  --ControlPlanes "cp.3.masters.small" \
  --AdminWhitelist "string" \
  --Quirks "string" \
  --DisableApiTermination=false \
  --Auth.Oidc.IssuerUrl "string" \
  --Auth.Oidc.ClientId "string" \
  --Auth.Oidc.UsernameClaim "string" \
  --Auth.Oidc.UsernamePrefix "string" \
  --Auth.Oidc.GroupsClaim "string" \
  --Auth.Oidc.GroupsPrefix "string" \
  --Auth.Oidc.RequiredClaim.Claim "value"

This command contains the following options that you need to specify:

  • AdminLbu: (optional) If true, load balancer administration is enabled for cluster management. If false, it is disabled.
    Default: false.

  • AdminWhitelist: The list of CIDR blocks or IPs allowed to access the cluster via the Kubernetes API.

  • AdmissionFlags.DisableAdmissionPlugins: (optional) The list of Kubernetes admission plugins to disable.

  • AdmissionFlags.EnableAdmissionPlugins: (optional) The list of Kubernetes admission plugins to enable.

  • Auth.Oidc.ClientId: The client ID provided by the OIDC provider. This will be used by the cluster to connect to the server.

  • Auth.Oidc.GroupsClaim: (optional) A JSON Web Token (JWT) claim provided by the OIDC provider. This will be used to retrieve the user’s group on the Kubernetes side.

  • Auth.Oidc.GroupsPrefix: (optional) A prefix added to the Kubernetes group, to prevent clashing with existing names (for example, oidc:).

  • Auth.Oidc.IssuerUrl: The server URL of the OIDC provider, using the HTTPS protocol (https://).

  • Auth.Oidc.RequiredClaim: (optional) The key/value combination of OIDC claims that must be included in the ID token for the user to authenticate. If not specified, no claim-based restrictions are enforced.
    Example: {"claim": "value"}.

  • Auth.Oidc.UsernameClaim: (optional) A JSON Web Token (JWT) claim provided by the OIDC provider. This will be used to retrieve the username on the Kubernetes side.

  • Auth.Oidc.UsernamePrefix: (optional) A prefix added to the Kubernetes username, to prevent clashing with existing names (for example, oidc:).

  • AutoMaintenances.MinorUpgradeMaintenance.DurationHours: (optional) The duration of the maintenance window, in hours.
    Minimum value: 0. Maximum value: 23. Default: 0.

  • AutoMaintenances.MinorUpgradeMaintenance.Enabled: (optional) If true, a maintenance window is enabled.
    Default: true.

  • AutoMaintenances.MinorUpgradeMaintenance.StartHour: (optional) The starting time of the maintenance window, in hours.
    Minimum value: 0. Maximum value: 23. Default: 12.

  • AutoMaintenances.MinorUpgradeMaintenance.Tz: (optional) The timezone for the maintenance window.
    Default: UTC.

  • AutoMaintenances.MinorUpgradeMaintenance.WeekDay: (optional) The weekday on which the maintenance window begins.
    Possible values: Mon | Tue | Wed | Thu | Fri | Sat | Sun | string. Default: Tue.

  • AutoMaintenances.PatchUpgradeMaintenance.DurationHours: (optional) The duration of the maintenance window, in hours.
    Minimum value: 0. Maximum value: 23. Default: 0.

  • AutoMaintenances.PatchUpgradeMaintenance.Enabled: (optional) If true, a maintenance window is enabled.
    Default: true.

  • AutoMaintenances.PatchUpgradeMaintenance.StartHour: (optional) The starting time of the maintenance window, in hours.
    Minimum value: 0. Maximum value: 23. Default: 12.

  • AutoMaintenances.PatchUpgradeMaintenance.Tz: (optional) The timezone for the maintenance window.
    Default: UTC.

  • AutoMaintenances.PatchUpgradeMaintenance.WeekDay: (optional) The weekday on which the maintenance window begins.
    Possible values: Mon | Tue | Wed | Thu | Fri | Sat | Sun | string. Default: Tue.

  • CidrPods: The CIDR block for Kubernetes pods' network.
    Example: 10.91.0.0/16.

  • CidrService: The CIDR block for the Kubernetes services' network.
    Example: 10.92.0.0/16.

  • ClusterDns: (optional) The IP for the cluster’s DNS service.
    Example: 10.92.0.10.

  • ControlPlanes: (optional) The size of control plane deployment for the cluster. For more information, see About OKS > Control Planes.
    Default: cp.3.masters.small.

  • CpMultiAz: (optional) If true, multi-Subregion deployment is enabled for the control plane. If false, it is disabled.

  • CpSubregions: (optional) The list of Subregions where control plane components are deployed.
    Default: [].

  • Description: (optional) A description of the cluster.
    Default: .

  • DisableApiTermination: (optional) If true, cluster deletion through the API is disabled. If false, it is enabled.
    Default: false.

  • MaintenanceWindow.DurationHours: (optional) The duration of the maintenance window, in hours.
    Minimum value: 0. Maximum value: 23. Default: 0.

  • MaintenanceWindow.StartHour: (optional) The starting time of the maintenance window, in hours.
    Minimum value: 0. Maximum value: 23. Default: 12.

  • MaintenanceWindow.Tz: (optional) The timezone for the maintenance window.
    Default: UTC.

  • MaintenanceWindow.WeekDay: (optional) The weekday on which the maintenance window begins.
    Possible values: Mon | Tue | Wed | Thu | Fri | Sat | Sun | string. Default: Tue.

  • Name: A unique name for the cluster within the project.
    Length: 1 to 40 characters. Pattern: ^[a-z][a-z0-9-]*[a-z0-9]$.
    Example: awesome-cluster.

  • ProjectId: The ID of the project in which you want to create a cluster.

  • Quirks: (optional) The list of special configurations or behaviors for the cluster.

  • Tags: (optional) The key/value combinations of the tags associated with the cluster’s metadata, in the following format: "tags":{"TAGKEY1":"TAGVALUE1","TAGKEY2":"TAGVALUE2"}.
    Example: {"key": "value"}.

  • Version: The Kubernetes version to be deployed for the cluster. For more information, see GetKubernetesVersions.

The CreateCluster command returns the following elements:

  • ResponseContext: Information about the context of the response.

    • RequestId: The ID of the API request.

  • Cluster: Information about the cluster.

    • project_id: The ID of the project this cluster belongs to.

    • id: The Universally Unique Identifier (UUID) of the cluster.

    • name: A unique name for the cluster within the project.

    • description: An optional description of the cluster.
      Default: .

    • cp_multi_az: If true, multi-Subregion deployment is enabled for the control plane. If false, it is disabled.

    • cp_subregions: The Subregions on which the control plane components are deployed.

    • version: The Kubernetes version deployed for the cluster. For more information, see GetKubernetesVersions.

    • expected_version: The version of Kubernetes that is expected to be deployed during maintenance.

    • cni: The Container Network Interface (CNI) used in the cluster.

    • admin_lbu: If true, load balancer administration is enabled for cluster management. If false, it is disabled.

    • admission_flags: The configuration for Kubernetes admission controllers.

      • disable_admission_plugins: The list of Kubernetes admission plugins that are disabled.
        Default: [].

      • enable_admission_plugins: The list of Kubernetes admission plugins that are enabled.
        Default: [].

      • applied_admission_plugins: The list of admission plugins that are currently applied to the cluster.
        Default: ["CertificateApproval", "CertificateSigning", "CertificateSubjectRestriction", "ClusterTrustBundleAttest", "DefaultIngressClass", "DefaultStorageClass", "DefaultTolerationSeconds", "LimitRanger", "MutatingAdmissionWebhook", "NamespaceLifecycle", "PersistentVolumeClaimResize", "PodSecurity", "Priority", "ResourceQuota", "RuntimeClass", "ServiceAccount", "StorageObjectInUseProtection", "TaintNodesByCondition", "ValidatingAdmissionPolicy", "ValidatingAdmissionWebhook"].

    • cidr_pods: The CIDR block of the Kubernetes pods' network.

    • cidr_service: The CIDR block of the Kubernetes services' network.

    • cluster_dns: The IP of the cluster’s DNS service.

    • tags: The key/value combinations of the tags associated with the cluster, in the following format: "tags":{"TAGKEY1":"TAGVALUE1","TAGKEY2":"TAGVALUE2"}.
      Example: {"key": "value"}.

    • auto_maintenances (deprecated): The configuration for automated maintenance windows.

      • minor_upgrade_maintenance: The maintenance window configuration for minor Kubernetes upgrades.

        • enabled: If true, a maintenance window is enabled.
          Default: true.

        • duration_hours: The duration of the maintenance window, in hours.
          Minimum value: 0. Maximum value: 23. Default: 0.

        • start_hour: The starting time of the maintenance window, in hours.
          Minimum value: 0. Maximum value: 23. Default: 12.

        • week_day: The weekday on which the maintenance window begins.
          Possible values: Mon | Tue | Wed | Thu | Fri | Sat | Sun | string. Default: Tue.

        • tz: The timezone for the maintenance window.
          Default: UTC.

      • patch_upgrade_maintenance: The maintenance window configuration for patch Kubernetes upgrades.

        • enabled: If true, a maintenance window is enabled.
          Default: true.

        • duration_hours: The duration of the maintenance window, in hours.
          Minimum value: 0. Maximum value: 23. Default: 0.

        • start_hour: The starting time of the maintenance window, in hours.
          Minimum value: 0. Maximum value: 23. Default: 12.

        • week_day: The weekday on which the maintenance window begins.
          Possible values: Mon | Tue | Wed | Thu | Fri | Sat | Sun | string. Default: Tue.

        • tz: The timezone for the maintenance window.
          Default: UTC.

    • maintenance_window: The configuration for automated maintenance windows.

      • duration_hours: The duration of the maintenance window, in hours.
        Minimum value: 0. Maximum value: 23.

      • start_hour: The starting time of the maintenance window, in hours.
        Minimum value: 0. Maximum value: 23.

      • week_day: The weekday on which the maintenance window begins.
        Possible values: Mon | Tue | Wed | Thu | Fri | Sat | Sun | string.

      • tz: The timezone for the maintenance window.
        Default: UTC.

    • control_planes: The control plane sizing of the cluster.

    • expected_control_planes: The type of control plane size that is expected.

    • admin_whitelist: The list of CIDR blocks or IPs allowed to access the cluster via the Kubernetes API.

    • statuses: The status information of the cluster.

      • created_at: The timestamp when the cluster was created.

      • deleted_at: The timestamp when the cluster was deleted (if applicable).

      • updated_at: The timestamp when the cluster was last updated.

      • status: The status of the cluster.

      • available_upgrade: Any available version of Kubernetes for upgrade (if applicable). For more information, see GetKubernetesVersions.
        Default: .

    • disable_api_termination: If true, cluster deletion through the API is disabled. If false, it is enabled.
      Default: false.

    • auth: The authentication strategy used to access the cluster.

      • oidc: The configuration for authenticating to the cluster using OpenID Connect (OIDC).

        • issuer-url: The server URL of the OIDC provider, using the HTTPS protocol (https://).

        • client-id: The client ID provided by the OIDC provider. This will be used by the cluster to connect to the server.

        • username-claim: A JSON Web Token (JWT) claim provided by the OIDC provider. This will be used to retrieve the username on the Kubernetes side.

        • username-prefix: A prefix added to the Kubernetes username, to prevent clashing with existing names (for example, oidc:).

        • groups-claim: A JSON Web Token (JWT) claim provided by the OIDC provider. This will be used to retrieve the user’s group on the Kubernetes side.

        • groups-prefix: A prefix added to the Kubernetes group, to prevent clashing with existing names (for example, oidc:).

        • required-claim: The key/value combination of OIDC claims that must be included in the ID token for the user to authenticate. If not specified, no claim-based restrictions are enforced.
          Example: {"claim": "value"}.

Result sample
{
  "ResponseContext": {
    "RequestId": "string"
  },
  "Cluster": {
    "project_id": "string",
    "id": "string",
    "name": "string",
    "description": "",
    "cp_multi_az": true,
    "cp_subregions": [
      "string"
    ],
    "version": "string",
    "expected_version": "string",
    "cni": "string",
    "admin_lbu": true,
    "admission_flags": {
      "disable_admission_plugins": [],
      "enable_admission_plugins": [],
      "applied_admission_plugins": [
        "CertificateApproval",
        "CertificateSigning",
        "CertificateSubjectRestriction",
        "ClusterTrustBundleAttest",
        "DefaultIngressClass",
        "DefaultStorageClass",
        "DefaultTolerationSeconds",
        "LimitRanger",
        "MutatingAdmissionWebhook",
        "NamespaceLifecycle",
        "PersistentVolumeClaimResize",
        "PodSecurity",
        "Priority",
        "ResourceQuota",
        "RuntimeClass",
        "ServiceAccount",
        "StorageObjectInUseProtection",
        "TaintNodesByCondition",
        "ValidatingAdmissionPolicy",
        "ValidatingAdmissionWebhook"
      ]
    },
    "cidr_pods": "string",
    "cidr_service": "string",
    "cluster_dns": "string",
    "tags": {
      "key": "value"
    },
    "auto_maintenances": {
      "minor_upgrade_maintenance": {
        "enabled": true,
        "duration_hours": 0,
        "start_hour": 12,
        "week_day": "Mon",
        "tz": "UTC"
      },
      "patch_upgrade_maintenance": {
        "enabled": true,
        "duration_hours": 0,
        "start_hour": 12,
        "week_day": "Mon",
        "tz": "UTC"
      }
    },
    "maintenance_window": {
      "duration_hours": 23,
      "start_hour": 23,
      "week_day": "Mon",
      "tz": "UTC"
    },
    "control_planes": "string",
    "expected_control_planes": "string",
    "admin_whitelist": [
      "string"
    ],
    "statuses": {
      "created_at": "2019-08-24T14:15:22Z",
      "deleted_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z",
      "status": "string",
      "available_upgrade": ""
    },
    "disable_api_termination": false,
    "auth": {
      "oidc": {
        "issuer-url": "string",
        "client-id": "string",
        "username-claim": "string",
        "username-prefix": "string",
        "groups-claim": [
          "string"
        ],
        "groups-prefix": "string",
        "required-claim": {
          "claim": "value"
        }
      }
    }
  }
}

Créer un cluster avec OKS CLI

Avant de commencer :

Pour créer un cluster, utilisez la commande cluster create en suivant cette syntaxe :

Exemple de requête : Créer un cluster multi-Sous-régions
$ oks-cli cluster create \
    --cluster-name NAME_OF_CLUSTER \
    --project-name NAME_OF_PROJECT \
    --admin "my-ip"  \
    --version VERSION_NUMBER \
    --control-plane "cp.3.masters.small"
Exemple de requête : Créer un cluster mono Sous-région
$ oks-cli cluster create \
    --cluster-name NAME_OF_CLUSTER \
    --project-name NAME_OF_PROJECT \
    --admin "IP_ADDRESS_1/CIDR_IP_ADDRESS/CIDR" \
    --version VERSION_NUMBER \
    --control-plane "cp.3.masters.small" \
    --zone 2b

Cette commande contient les options suivantes que vous devez spécifier :

  • (optionnel) admin : Les IP publiques ou CIDR autorisées pour l’accès au cluster au niveau administrateur, séparées par des virgules. Si aucune adresse n’est spécifiée, le cluster n’est pas accessible.

    Les plages privées (RFC 1918) telles que 10.0.0.0/8, 172.16.0.0/12 ou 192.168.0.0/16 ne sont pas autorisées (422 ValidationError).

    Vous pouvez utiliser la valeur spéciale my-ip pour ajouter automatiquement votre IP publique actuelle.

  • (optionnel) cidr-pods : La plage CIDR IPv4 pour attribuer les IP des pods, /16 par défaut (10.91.0.0/16). La longueur minimale acceptée pour le préfixe est /23.

  • (optionnel) cidr-service : La plage CIDR IPv4 pour attribuer les adresses de service (ClusterIP), /16 par défaut (10.92.0.0/16). La longueur minimale acceptée pour le préfixe est /23.

    • Les CIDR de votre projet, de vos pods et de votre service ne doivent pas se chevaucher (409 ResourceConflict).

    • Les CIDR IPv6 ne sont pas pris en charge (422 ValidationError).

  • cluster-name : Le nom du cluster, d’une longueur maximale de 40 caractères alphanumériques et tirets (-). Ce nom doit commencer par une lettre minuscule et ne doit pas finir par un tiret. Il doit être unique dans le projet.

  • (optionnel) control-plane : La taille souhaitée du control plane. Par défaut, cp.3.masters.small. Pour en savoir plus, voir Control planes.

    Seuls les control planes haute disponibilité peuvent être déployés dans un cluster multi-Sous-régions.

  • (optional) cp-multi-az : Active l’option de control plane multi-Sous-régions, pour créer un cluster multi-Sous-régions. Cette option est activée par défaut pour les control planes haute disponibilité, si la Région contient au moins trois Sous-régions.

  • (optionnel) description : La description du cluster que vous voulez créer.

  • (optionnel) disable-admission-plugins : La liste des plugins d’admission de la liste par défaut que vous souhaitez désactiver.

  • (optionnel) disable-api-termination : La possibilité de supprimer le cluster via l’API. Si true, la suppression du cluster est désactivée. Si false, elle est activée.

  • (optionnel) dryrun : Fournit une vue d’ensemble des opérations effectuées par la commande sans pour autant l’exécuter. Vous pouvez l’utiliser comme mesure de sécurité pour examiner l’impact d’une commande avant de l’exécuter.

  • (optionnel) enable-admission-plugins : La liste des plugins d’admission supplémentaires que vous souhaitez activer sur le cluster. Pour en savoir plus sur les plugins d’admission, voir la documentation Kubernetes (anglais uniquement).

  • (optionnel) filename : Le nom du fichier de définition à partir duquel vous voulez créer le cluster.

  • (optionnel) output : Le format de sortie de la réponse (json | yaml). Par défaut, le format de la réponse est JSON. Le fichier généré avec la définition du cluster peut être modifié et appliqué en utilisant la commande -f --filename …​.

  • (optionnel) project-name : Le nom du projet dans lequel vous voulez créer le cluster.

  • (optionnel) quirk : Les clés et les paramètres à transmettre au cluster. Cette option est requise pour les demandes de fonctionnalités.

  • (optionnel) tags : Les tags que vous voulez ajouter aux nœuds du cluster.

  • (optionnel) version : Une des versions prises en charge de Kubernetes. Pour en savoir plus sur les versions prises en charge, voir Versions Kubernetes prises en charge.

  • (optionnel) zone : La Sous-région dans laquelle vous voulez déployer le control plane du cluster.

Vous pouvez afficher toutes les options disponibles en utilisant la commande cluster create avec la syntaxe suivante :

$ oks-cli cluster create --help

La commande CreateCluster renvoie les éléments suivants :

  • project_id  : L’ID du projet auquel appartient ce cluster.

  • id : Le Universally Unique Identifier (UUID) du cluster.

  • name : Un nom unique pour le cluster au sein du projet.

  • description : Une description facultative du cluster.

  • cp_multi_az : Si true, le déploiement multi-Sous-régions est activé pour le control plane. Si false, il est désactivé.

  • cp_subregions : Les Sous-régions sur lesquelles les composants du control plane sont déployés.

  • version : La version Kubernetes déployée pour le cluster. Pour en savoir plus, voir GetKubernetesVersions.

  • cni : Le Container Network Interface (CNI) utilisé dans le cluster.

  • admin_lbu : Si true, l’administration de load balancers est activée pour la gestion des clusters. Si false, elle est désactivée.

  • admission_flags : La configuration des contrôleurs d’admission Kubernetes.

    • disable_admission_plugins : La liste des plugins d’admission qui sont désactivés.

    • enable_admission_plugins : La liste des plugins d’admission qui sont activés.

    • applied_admission_plugins : La liste des plugins d’admission qui sont actuellement appliqués au cluster.

  • cidr_pods : Le bloc CIDR utilisé en interne pour les pods.

  • cidr_service : Le bloc CIDR utilisé en interne pour les services.

  • cluster_dns : L’IP du service DNS du cluster.

  • tags : Les tags appliqués aux worker nodes du cluster.

  • auto_maintenances : La configuration des fenêtres de maintenance automatisées.

    • minor_upgrade_maintenance : La configuration de la fenêtre de maintenance pour les mises à niveau mineures de Kubernetes.

      • enabled : Si true, une fenêtre de maintenance est activée.

      • duration_hours : La durée de la fenêtre de maintenance, en heures.

      • start_hour : L’heure de début de la fenêtre de maintenance, en heures.

      • week_day : Le jour de la semaine où commence la fenêtre de maintenance.

      • tz : Le fuseau horaire pour la fenêtre de maintenance.

    • patch_upgrade_maintenance : La configuration de la fenêtre de maintenance pour les mises à jour correctives Kubernetes.

      • enabled : Si true, une fenêtre de maintenance est activée.

      • duration_hours : La durée de la fenêtre de maintenance, en heures.

      • start_hour : L’heure de début de la fenêtre de maintenance, en heures.

      • week_day : Le jour de la semaine où commence la fenêtre de maintenance.

      • tz : Le fuseau horaire pour la fenêtre de maintenance.

  • control_planes : La taille souhaitée du control plane.

  • admin_whitelist : La liste des CIDR ou IP autorisés à accéder au cluster via l’API Kubernetes.

  • statuses : Les informations d’état du cluster.

    • created_at : La date et l’heure de création du cluster.

    • deleted_at : La date et l’heure de suppression du cluster. (si applicable).

    • updated_at : La date et l’heure de dernière mise à jour du cluster.

    • status : L’état du cluster.

    • available_upgrade : Toute version disponible de Kubernetes pour mise à jour (si applicable).

  • disable_api_termination : Si true, la possibilité de supprimer le cluster via l’API est désactivée. Si false, elle est activée.

Exemple de résultat
{
    "project_id": "877295ad-171c-4f9a-86c5-d45c8b2321fe",
    "id": "5e5b232c-b7de-4cc0-9296-faa006b8bd25",
    "name": "NAME_OF_CLUSTER",
    "description": "",
    "cp_multi_az": false,
    "cp_subregions": [
        "2a"
    ],
    "version": "1.32",
    "cni": "cilium",
    "admin_lbu": false,
    "admission_flags": {
        "disable_admission_plugins": [],
        "enable_admission_plugins": [],
        "applied_admission_plugins": [
            "ClusterTrustBundleAttest",
            "LimitRanger",
            "RuntimeClass",
            "ServiceAccount",
            "CertificateApproval",
            "ResourceQuota",
            "PodSecurity",
            "Priority",
            "NamespaceLifecycle",
            "DefaultIngressClass",
            "PersistentVolumeClaimResize",
            "ValidatingAdmissionPolicy",
            "StorageObjectInUseProtection",
            "CertificateSigning",
            "DefaultStorageClass",
            "MutatingAdmissionWebhook",
            "CertificateSubjectRestriction",
            "TaintNodesByCondition",
            "DefaultTolerationSeconds",
            "ValidatingAdmissionWebhook"
        ]
    },
    "cidr_pods": "10.91.0.0/16",
    "cidr_service": "10.92.0.0/16",
    "cluster_dns": "10.92.0.10",
    "tags": {},
    "auto_maintenances": {
        "minor_upgrade_maintenance": {
            "enabled": true,
            "duration_hours": 1,
            "start_hour": 12,
            "week_day": "Tue",
            "tz": "UTC"
        },
        "patch_upgrade_maintenance": {
            "enabled": true,
            "duration_hours": 1,
            "start_hour": 12,
            "week_day": "Tue",
            "tz": "UTC"
        }
    },
    "control_planes": "cp.mono.master",
    "admin_whitelist": [
        "1.2.3.4/32",
        "5.6.7.8/32"
    ],
    "statuses": {
        "created_at": "2025-01-01T00:02:00.000000Z",
        "updated_at": "2025-01-01T00:02:00.000001Z",
        "status": "pending",
        "available_upgrade": ""
    },
    "disable_api_termination": false
}

Vous pouvez utiliser la commande cluster list pour vérifier l’état du cluster. Votre cluster est créé lorsque son état passe à ready.

Pages connexes

Méthode API correspondante