Partager via


Microsoft.HybridContainerService provisionedClusterInstances

Définition de ressource Bicep

Le type de ressource provisionedClusterInstances peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.HybridContainerService/provisionedClusterInstances, ajoutez le bicep suivant à votre modèle.

resource symbolicname 'Microsoft.HybridContainerService/provisionedClusterInstances@2024-01-01' = {
  scope: resourceSymbolicName or scope
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  name: 'default'
  properties: {
    agentPoolProfiles: [
      {
        count: int
        enableAutoScaling: bool
        maxCount: int
        maxPods: int
        minCount: int
        name: 'string'
        nodeLabels: {
          {customized property}: 'string'
        }
        nodeTaints: [
          'string'
        ]
        osSKU: 'string'
        osType: 'string'
        vmSize: 'string'
      }
    ]
    autoScalerProfile: {
      balance-similar-node-groups: 'string'
      expander: 'string'
      max-empty-bulk-delete: 'string'
      max-graceful-termination-sec: 'string'
      max-node-provision-time: 'string'
      max-total-unready-percentage: 'string'
      new-pod-scale-up-delay: 'string'
      ok-total-unready-count: 'string'
      scale-down-delay-after-add: 'string'
      scale-down-delay-after-delete: 'string'
      scale-down-delay-after-failure: 'string'
      scale-down-unneeded-time: 'string'
      scale-down-unready-time: 'string'
      scale-down-utilization-threshold: 'string'
      scan-interval: 'string'
      skip-nodes-with-local-storage: 'string'
      skip-nodes-with-system-pods: 'string'
    }
    cloudProviderProfile: {
      infraNetworkProfile: {
        vnetSubnetIds: [
          'string'
        ]
      }
    }
    clusterVMAccessProfile: {
      authorizedIPRanges: 'string'
    }
    controlPlane: {
      controlPlaneEndpoint: {
        hostIP: 'string'
      }
      count: int
      vmSize: 'string'
    }
    kubernetesVersion: 'string'
    licenseProfile: {
      azureHybridBenefit: 'string'
    }
    linuxProfile: {
      ssh: {
        publicKeys: [
          {
            keyData: 'string'
          }
        ]
      }
    }
    networkProfile: {
      loadBalancerProfile: {
        count: int
      }
      networkPolicy: 'string'
      podCidr: 'string'
    }
    storageProfile: {
      nfsCsiDriver: {
        enabled: bool
      }
      smbCsiDriver: {
        enabled: bool
      }
    }
  }
}

Valeurs de propriété

AgentPoolProfileNodeLabels

Nom Description Valeur

CloudProviderProfile

Nom Description Valeur
infraNetworkProfile Profil des réseaux d’infrastructure utilisés par le cluster approvisionné CloudProviderProfileInfraNetworkProfile

CloudProviderProfileInfraNetworkProfile

Nom Description Valeur
vnetSubnetIds Liste des ID de ressource ARM (1 maximum) pour l’objet réseau d’infrastructure, par exemple /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName} string[]

ClusterVMAccessProfile

Nom Description Valeur
authorizedIPRanges Adresse IP ou CIDR pour l’accès SSH aux machines virtuelles dans le cluster approvisionné corde

ControlPlaneProfile

Nom Description Valeur
controlPlaneEndpoint Adresse IP du serveur d’API Kubernetes ControlPlaneProfileControlPlaneEndpoint
compter Nombre de nœuds de plan de contrôle. La valeur par défaut est 1, et le nombre doit être un nombre impair Int
vmSize Taille de la référence SKU de machine virtuelle des nœuds du plan de contrôle corde

ControlPlaneProfileControlPlaneEndpoint

Nom Description Valeur
hostIP Adresse IP du serveur d’API Kubernetes corde

ExtendedLocation

Nom Description Valeur
nom ID ARM de l’emplacement étendu. corde
type Type d’emplacement étendu. Valeur autorisée : 'CustomLocation' 'CustomLocation'

LinuxProfileProperties

Nom Description Valeur
ssh Configuration SSH pour les machines virtuelles du cluster approvisionné. LinuxProfilePropertiesSsh

LinuxProfilePropertiesSsh

Nom Description Valeur
publicKeys Liste des clés publiques SSH utilisées pour s’authentifier auprès de machines virtuelles. Un maximum de 1 clé peut être spécifié. LinuxProfilePropertiesSshPublicKeysItem[]

LinuxProfilePropertiesSshPublicKeysItem

Nom Description Valeur
keyData Clé publique de certificat utilisée pour s’authentifier auprès de machines virtuelles via SSH. Le certificat doit être au format PEM avec ou sans en-têtes. corde

Microsoft.HybridContainerService/provisionedClusterInstances

Nom Description Valeur
extendedLocation Emplacement étendu pointant vers l’infrastructure sous-jacente ExtendedLocation
nom Nom de la ressource 'default' (obligatoire)
Propriétés Propriétés du cluster provisionné. ProvisionedClusterProperties
portée Utilisez-la lors de la création d’une ressource dans une étendue différente de l’étendue de déploiement. Définissez cette propriété sur le nom symbolique d’une ressource pour appliquer la ressource d’extension .

NamedAgentPoolProfile

Nom Description Valeur
compter Nombre de nœuds dans le pool d’agents. La valeur par défaut est 1. Int
enableAutoScaling Indique s’il faut activer la mise à l’échelle automatique. La valeur par défaut est false Bool
maxCount Nombre maximal de nœuds pour la mise à l’échelle automatique Int
maxPods Nombre maximal de pods qui peuvent s’exécuter sur un nœud. Int
minCount Nombre minimal de nœuds pour la mise à l’échelle automatique Int
nom Nom unique du pool d’agents par défaut dans le contexte du cluster approvisionné. La valeur par défaut est <clusterName>-nodepool1 corde
nodeLabels Étiquettes de nœud à conserver sur tous les nœuds du pool d’agents. AgentPoolProfileNodeLabels
nodeTaints Les teintes ajoutées aux nouveaux nœuds pendant la création et la mise à l’échelle du pool de nœuds. Par exemple, key=value :NoSchedule. string[]
osSKU Spécifie la référence SKU du système d’exploitation utilisée par le pool d’agents. La valeur par défaut est CBLMarinr si OSType est Linux. La valeur par défaut est Windows2019 quand OSType est Windows. 'CBLMarinr'
'Windows2019'
'Windows2022'
osType Type de système d’exploitation d’image KubernetesVersion particulier (Linux, Windows) 'Linux'
'Windows'
vmSize Taille de la référence SKU de machine virtuelle du nœud du pool d’agents. corde

NetworkProfile

Nom Description Valeur
loadBalancerProfile Profil de l’équilibreur de charge du proxy haute disponibilité. NetworkProfileLoadBalancerProfile
networkPolicy Stratégie réseau utilisée pour créer un réseau Kubernetes. Les valeurs possibles sont les suivantes : « calico ». 'calico'
podCidr Plage d’adresses IP de notation CIDR à partir de laquelle attribuer des adresses IP de pod. corde

NetworkProfileLoadBalancerProfile

Nom Description Valeur
compter Nombre de machines virtuelles de l’équilibreur de charge proxy haute disponibilité. La valeur par défaut est 0. Int

ProvisionedClusterLicenseProfile

Nom Description Valeur
azureHybridBenefit Indique si Azure Hybrid Benefit est choisi. La valeur par défaut est false 'False'
'NotApplicable'
'True'

ProvisionedClusterProperties

Nom Description Valeur
agentPoolProfiles Propriétés du pool d’agents pour le cluster approvisionné. NamedAgentPoolProfile[]
autoScalerProfile Paramètres à appliquer à l’autoscaler de cluster lorsque la mise à l’échelle automatique est activée pour le cluster approvisionné. ProvisionedClusterPropertiesAutoScalerProfile
cloudProviderProfile Profil du fournisseur d’infrastructure cloud sous-jacent pour le cluster approvisionné. CloudProviderProfile
clusterVMAccessProfile Profil d’accès restreint SSH pour les machines virtuelles du cluster approvisionné. ClusterVMAccessProfile
controlPlane Profil du plan de contrôle du cluster provisionné. ControlPlaneProfile
kubernetesVersion Version de Kubernetes utilisée par le cluster approvisionné. corde
licenseProfile Profil de licence du cluster approvisionné. ProvisionedClusterLicenseProfile
linuxProfile Profil pour les machines virtuelles Linux dans le cluster approvisionné. LinuxProfileProperties
networkProfile Profil de configuration réseau pour le cluster approvisionné. NetworkProfile
storageProfile Profil de configuration de stockage pour le cluster approvisionné. StorageProfile

ProvisionedClusterPropertiesAutoScalerProfile

Nom Description Valeur
balance-similar-node-groups Les valeurs valides sont « true » et « false » corde
expanseur S’il n’est pas spécifié, la valeur par défaut est « aléatoire ». Pour plus d’informations, consultez expanders. « les moins gaspillements »
'most-pods'
'priority'
'random'
max-empty-bulk-delete La valeur par défaut est 10. corde
max-graceful-termination-sec La valeur par défaut est 600. corde
max-node-provision-time La valeur par défaut est « 15 m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
max-total-unready-percentage La valeur par défaut est 45. La valeur maximale est 100 et la valeur minimale est de 0. corde
new-pod-scale-up-delay Pour les scénarios tels que la mise à l’échelle burst/batch où vous ne souhaitez pas que l’autorité de certification agisse avant que le planificateur Kubernetes puisse planifier tous les pods, vous pouvez indiquer à l’autorité de certification d’ignorer les pods non planifiés avant qu’ils ne soient d’un certain âge. La valeur par défaut est « 0s ». Les valeurs doivent être un entier suivi d’une unité (s’pendant les secondes, 'm' pendant les minutes, 'h' pendant les heures, etc.). corde
ok-total-unready-count Il doit s’agir d’un entier. La valeur par défaut est 3. corde
scale-down-delay-after-add La valeur par défaut est « 10m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-delay-after-delete La valeur par défaut est l’intervalle d’analyse. Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-delay-after-failure La valeur par défaut est « 3m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-uneded-time La valeur par défaut est « 10m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-unready-time La valeur par défaut est « 20m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-utilization-threshold La valeur par défaut est « 0.5 ». corde
intervalle d’analyse La valeur par défaut est « 10 ». Les valeurs doivent être un nombre entier de secondes. corde
skip-nodes-with-local-storage La valeur par défaut est true. corde
skip-nodes-with-system-pods La valeur par défaut est true. corde

StorageProfile

Nom Description Valeur
nfsCsiDriver Paramètres du pilote NFS CSI pour le profil de stockage. StorageProfileNfsCSIDriver
smbCsiDriver Paramètres du pilote CSI SMB pour le profil de stockage. StorageProfileSmbCSIDriver

StorageProfileNfsCSIDriver

Nom Description Valeur
Activé Indique s’il faut activer le pilote CSI NFS. La valeur par défaut est true. Bool

StorageProfileSmbCSIDriver

Nom Description Valeur
Activé Indique s’il faut activer SMB CSI Driver. La valeur par défaut est true. Bool

Exemples de démarrage rapide

Les exemples de démarrage rapide suivants déploient ce type de ressource.

Fichier Bicep Description
Créer un cluster Kubernetes sur Azure Stack HCI Ce modèle crée un cluster Kubernetes sur Azure Stack HCI version 23H2+

Définition de ressource de modèle ARM

Le type de ressource provisionedClusterInstances peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.HybridContainerService/provisionedClusterInstances, ajoutez le code JSON suivant à votre modèle.

{
  "type": "Microsoft.HybridContainerService/provisionedClusterInstances",
  "apiVersion": "2024-01-01",
  "name": "string",
  "extendedLocation": {
    "name": "string",
    "type": "string"
  },
  "properties": {
    "agentPoolProfiles": [
      {
        "count": "int",
        "enableAutoScaling": "bool",
        "maxCount": "int",
        "maxPods": "int",
        "minCount": "int",
        "name": "string",
        "nodeLabels": {
          "{customized property}": "string"
        },
        "nodeTaints": [ "string" ],
        "osSKU": "string",
        "osType": "string",
        "vmSize": "string"
      }
    ],
    "autoScalerProfile": {
      "balance-similar-node-groups": "string",
      "expander": "string",
      "max-empty-bulk-delete": "string",
      "max-graceful-termination-sec": "string",
      "max-node-provision-time": "string",
      "max-total-unready-percentage": "string",
      "new-pod-scale-up-delay": "string",
      "ok-total-unready-count": "string",
      "scale-down-delay-after-add": "string",
      "scale-down-delay-after-delete": "string",
      "scale-down-delay-after-failure": "string",
      "scale-down-unneeded-time": "string",
      "scale-down-unready-time": "string",
      "scale-down-utilization-threshold": "string",
      "scan-interval": "string",
      "skip-nodes-with-local-storage": "string",
      "skip-nodes-with-system-pods": "string"
    },
    "cloudProviderProfile": {
      "infraNetworkProfile": {
        "vnetSubnetIds": [ "string" ]
      }
    },
    "clusterVMAccessProfile": {
      "authorizedIPRanges": "string"
    },
    "controlPlane": {
      "controlPlaneEndpoint": {
        "hostIP": "string"
      },
      "count": "int",
      "vmSize": "string"
    },
    "kubernetesVersion": "string",
    "licenseProfile": {
      "azureHybridBenefit": "string"
    },
    "linuxProfile": {
      "ssh": {
        "publicKeys": [
          {
            "keyData": "string"
          }
        ]
      }
    },
    "networkProfile": {
      "loadBalancerProfile": {
        "count": "int"
      },
      "networkPolicy": "string",
      "podCidr": "string"
    },
    "storageProfile": {
      "nfsCsiDriver": {
        "enabled": "bool"
      },
      "smbCsiDriver": {
        "enabled": "bool"
      }
    }
  }
}

Valeurs de propriété

AgentPoolProfileNodeLabels

Nom Description Valeur

CloudProviderProfile

Nom Description Valeur
infraNetworkProfile Profil des réseaux d’infrastructure utilisés par le cluster approvisionné CloudProviderProfileInfraNetworkProfile

CloudProviderProfileInfraNetworkProfile

Nom Description Valeur
vnetSubnetIds Liste des ID de ressource ARM (1 maximum) pour l’objet réseau d’infrastructure, par exemple /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName} string[]

ClusterVMAccessProfile

Nom Description Valeur
authorizedIPRanges Adresse IP ou CIDR pour l’accès SSH aux machines virtuelles dans le cluster approvisionné corde

ControlPlaneProfile

Nom Description Valeur
controlPlaneEndpoint Adresse IP du serveur d’API Kubernetes ControlPlaneProfileControlPlaneEndpoint
compter Nombre de nœuds de plan de contrôle. La valeur par défaut est 1, et le nombre doit être un nombre impair Int
vmSize Taille de la référence SKU de machine virtuelle des nœuds du plan de contrôle corde

ControlPlaneProfileControlPlaneEndpoint

Nom Description Valeur
hostIP Adresse IP du serveur d’API Kubernetes corde

ExtendedLocation

Nom Description Valeur
nom ID ARM de l’emplacement étendu. corde
type Type d’emplacement étendu. Valeur autorisée : 'CustomLocation' 'CustomLocation'

LinuxProfileProperties

Nom Description Valeur
ssh Configuration SSH pour les machines virtuelles du cluster approvisionné. LinuxProfilePropertiesSsh

LinuxProfilePropertiesSsh

Nom Description Valeur
publicKeys Liste des clés publiques SSH utilisées pour s’authentifier auprès de machines virtuelles. Un maximum de 1 clé peut être spécifié. LinuxProfilePropertiesSshPublicKeysItem[]

LinuxProfilePropertiesSshPublicKeysItem

Nom Description Valeur
keyData Clé publique de certificat utilisée pour s’authentifier auprès de machines virtuelles via SSH. Le certificat doit être au format PEM avec ou sans en-têtes. corde

Microsoft.HybridContainerService/provisionedClusterInstances

Nom Description Valeur
apiVersion Version de l’API '2024-01-01'
extendedLocation Emplacement étendu pointant vers l’infrastructure sous-jacente ExtendedLocation
nom Nom de la ressource 'default' (obligatoire)
Propriétés Propriétés du cluster provisionné. ProvisionedClusterProperties
type Type de ressource 'Microsoft.HybridContainerService/provisionedClusterInstances'

NamedAgentPoolProfile

Nom Description Valeur
compter Nombre de nœuds dans le pool d’agents. La valeur par défaut est 1. Int
enableAutoScaling Indique s’il faut activer la mise à l’échelle automatique. La valeur par défaut est false Bool
maxCount Nombre maximal de nœuds pour la mise à l’échelle automatique Int
maxPods Nombre maximal de pods qui peuvent s’exécuter sur un nœud. Int
minCount Nombre minimal de nœuds pour la mise à l’échelle automatique Int
nom Nom unique du pool d’agents par défaut dans le contexte du cluster approvisionné. La valeur par défaut est <clusterName>-nodepool1 corde
nodeLabels Étiquettes de nœud à conserver sur tous les nœuds du pool d’agents. AgentPoolProfileNodeLabels
nodeTaints Les teintes ajoutées aux nouveaux nœuds pendant la création et la mise à l’échelle du pool de nœuds. Par exemple, key=value :NoSchedule. string[]
osSKU Spécifie la référence SKU du système d’exploitation utilisée par le pool d’agents. La valeur par défaut est CBLMarinr si OSType est Linux. La valeur par défaut est Windows2019 quand OSType est Windows. 'CBLMarinr'
'Windows2019'
'Windows2022'
osType Type de système d’exploitation d’image KubernetesVersion particulier (Linux, Windows) 'Linux'
'Windows'
vmSize Taille de la référence SKU de machine virtuelle du nœud du pool d’agents. corde

NetworkProfile

Nom Description Valeur
loadBalancerProfile Profil de l’équilibreur de charge du proxy haute disponibilité. NetworkProfileLoadBalancerProfile
networkPolicy Stratégie réseau utilisée pour créer un réseau Kubernetes. Les valeurs possibles sont les suivantes : « calico ». 'calico'
podCidr Plage d’adresses IP de notation CIDR à partir de laquelle attribuer des adresses IP de pod. corde

NetworkProfileLoadBalancerProfile

Nom Description Valeur
compter Nombre de machines virtuelles de l’équilibreur de charge proxy haute disponibilité. La valeur par défaut est 0. Int

ProvisionedClusterLicenseProfile

Nom Description Valeur
azureHybridBenefit Indique si Azure Hybrid Benefit est choisi. La valeur par défaut est false 'False'
'NotApplicable'
'True'

ProvisionedClusterProperties

Nom Description Valeur
agentPoolProfiles Propriétés du pool d’agents pour le cluster approvisionné. NamedAgentPoolProfile[]
autoScalerProfile Paramètres à appliquer à l’autoscaler de cluster lorsque la mise à l’échelle automatique est activée pour le cluster approvisionné. ProvisionedClusterPropertiesAutoScalerProfile
cloudProviderProfile Profil du fournisseur d’infrastructure cloud sous-jacent pour le cluster approvisionné. CloudProviderProfile
clusterVMAccessProfile Profil d’accès restreint SSH pour les machines virtuelles du cluster approvisionné. ClusterVMAccessProfile
controlPlane Profil du plan de contrôle du cluster provisionné. ControlPlaneProfile
kubernetesVersion Version de Kubernetes utilisée par le cluster approvisionné. corde
licenseProfile Profil de licence du cluster approvisionné. ProvisionedClusterLicenseProfile
linuxProfile Profil pour les machines virtuelles Linux dans le cluster approvisionné. LinuxProfileProperties
networkProfile Profil de configuration réseau pour le cluster approvisionné. NetworkProfile
storageProfile Profil de configuration de stockage pour le cluster approvisionné. StorageProfile

ProvisionedClusterPropertiesAutoScalerProfile

Nom Description Valeur
balance-similar-node-groups Les valeurs valides sont « true » et « false » corde
expanseur S’il n’est pas spécifié, la valeur par défaut est « aléatoire ». Pour plus d’informations, consultez expanders. « les moins gaspillements »
'most-pods'
'priority'
'random'
max-empty-bulk-delete La valeur par défaut est 10. corde
max-graceful-termination-sec La valeur par défaut est 600. corde
max-node-provision-time La valeur par défaut est « 15 m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
max-total-unready-percentage La valeur par défaut est 45. La valeur maximale est 100 et la valeur minimale est de 0. corde
new-pod-scale-up-delay Pour les scénarios tels que la mise à l’échelle burst/batch où vous ne souhaitez pas que l’autorité de certification agisse avant que le planificateur Kubernetes puisse planifier tous les pods, vous pouvez indiquer à l’autorité de certification d’ignorer les pods non planifiés avant qu’ils ne soient d’un certain âge. La valeur par défaut est « 0s ». Les valeurs doivent être un entier suivi d’une unité (s’pendant les secondes, 'm' pendant les minutes, 'h' pendant les heures, etc.). corde
ok-total-unready-count Il doit s’agir d’un entier. La valeur par défaut est 3. corde
scale-down-delay-after-add La valeur par défaut est « 10m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-delay-after-delete La valeur par défaut est l’intervalle d’analyse. Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-delay-after-failure La valeur par défaut est « 3m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-uneded-time La valeur par défaut est « 10m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-unready-time La valeur par défaut est « 20m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-utilization-threshold La valeur par défaut est « 0.5 ». corde
intervalle d’analyse La valeur par défaut est « 10 ». Les valeurs doivent être un nombre entier de secondes. corde
skip-nodes-with-local-storage La valeur par défaut est true. corde
skip-nodes-with-system-pods La valeur par défaut est true. corde

StorageProfile

Nom Description Valeur
nfsCsiDriver Paramètres du pilote NFS CSI pour le profil de stockage. StorageProfileNfsCSIDriver
smbCsiDriver Paramètres du pilote CSI SMB pour le profil de stockage. StorageProfileSmbCSIDriver

StorageProfileNfsCSIDriver

Nom Description Valeur
Activé Indique s’il faut activer le pilote CSI NFS. La valeur par défaut est true. Bool

StorageProfileSmbCSIDriver

Nom Description Valeur
Activé Indique s’il faut activer SMB CSI Driver. La valeur par défaut est true. Bool

Modèles de démarrage rapide

Les modèles de démarrage rapide suivants déploient ce type de ressource.

Modèle Description
Créer un cluster Kubernetes sur Azure Stack HCI

Déployer sur Azure
Ce modèle crée un cluster Kubernetes sur Azure Stack HCI version 23H2+

Définition de ressource Terraform (fournisseur AzAPI)

Le type de ressource provisionedClusterInstances peut être déployé avec des opérations qui ciblent :

Pour obtenir la liste des propriétés modifiées dans chaque version de l’API, consultez journal des modifications.

Format de ressource

Pour créer une ressource Microsoft.HybridContainerService/provisionedClusterInstances, ajoutez terraform suivante à votre modèle.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.HybridContainerService/provisionedClusterInstances@2024-01-01"
  name = "string"
  parent_id = "string"
  body = jsonencode({
    extendedLocation = {
      name = "string"
      type = "string"
    }
    properties = {
      agentPoolProfiles = [
        {
          count = int
          enableAutoScaling = bool
          maxCount = int
          maxPods = int
          minCount = int
          name = "string"
          nodeLabels = {
            {customized property} = "string"
          }
          nodeTaints = [
            "string"
          ]
          osSKU = "string"
          osType = "string"
          vmSize = "string"
        }
      ]
      autoScalerProfile = {
        balance-similar-node-groups = "string"
        expander = "string"
        max-empty-bulk-delete = "string"
        max-graceful-termination-sec = "string"
        max-node-provision-time = "string"
        max-total-unready-percentage = "string"
        new-pod-scale-up-delay = "string"
        ok-total-unready-count = "string"
        scale-down-delay-after-add = "string"
        scale-down-delay-after-delete = "string"
        scale-down-delay-after-failure = "string"
        scale-down-unneeded-time = "string"
        scale-down-unready-time = "string"
        scale-down-utilization-threshold = "string"
        scan-interval = "string"
        skip-nodes-with-local-storage = "string"
        skip-nodes-with-system-pods = "string"
      }
      cloudProviderProfile = {
        infraNetworkProfile = {
          vnetSubnetIds = [
            "string"
          ]
        }
      }
      clusterVMAccessProfile = {
        authorizedIPRanges = "string"
      }
      controlPlane = {
        controlPlaneEndpoint = {
          hostIP = "string"
        }
        count = int
        vmSize = "string"
      }
      kubernetesVersion = "string"
      licenseProfile = {
        azureHybridBenefit = "string"
      }
      linuxProfile = {
        ssh = {
          publicKeys = [
            {
              keyData = "string"
            }
          ]
        }
      }
      networkProfile = {
        loadBalancerProfile = {
          count = int
        }
        networkPolicy = "string"
        podCidr = "string"
      }
      storageProfile = {
        nfsCsiDriver = {
          enabled = bool
        }
        smbCsiDriver = {
          enabled = bool
        }
      }
    }
  })
}

Valeurs de propriété

AgentPoolProfileNodeLabels

Nom Description Valeur

CloudProviderProfile

Nom Description Valeur
infraNetworkProfile Profil des réseaux d’infrastructure utilisés par le cluster approvisionné CloudProviderProfileInfraNetworkProfile

CloudProviderProfileInfraNetworkProfile

Nom Description Valeur
vnetSubnetIds Liste des ID de ressource ARM (1 maximum) pour l’objet réseau d’infrastructure, par exemple /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName} string[]

ClusterVMAccessProfile

Nom Description Valeur
authorizedIPRanges Adresse IP ou CIDR pour l’accès SSH aux machines virtuelles dans le cluster approvisionné corde

ControlPlaneProfile

Nom Description Valeur
controlPlaneEndpoint Adresse IP du serveur d’API Kubernetes ControlPlaneProfileControlPlaneEndpoint
compter Nombre de nœuds de plan de contrôle. La valeur par défaut est 1, et le nombre doit être un nombre impair Int
vmSize Taille de la référence SKU de machine virtuelle des nœuds du plan de contrôle corde

ControlPlaneProfileControlPlaneEndpoint

Nom Description Valeur
hostIP Adresse IP du serveur d’API Kubernetes corde

ExtendedLocation

Nom Description Valeur
nom ID ARM de l’emplacement étendu. corde
type Type d’emplacement étendu. Valeur autorisée : 'CustomLocation' 'CustomLocation'

LinuxProfileProperties

Nom Description Valeur
ssh Configuration SSH pour les machines virtuelles du cluster approvisionné. LinuxProfilePropertiesSsh

LinuxProfilePropertiesSsh

Nom Description Valeur
publicKeys Liste des clés publiques SSH utilisées pour s’authentifier auprès de machines virtuelles. Un maximum de 1 clé peut être spécifié. LinuxProfilePropertiesSshPublicKeysItem[]

LinuxProfilePropertiesSshPublicKeysItem

Nom Description Valeur
keyData Clé publique de certificat utilisée pour s’authentifier auprès de machines virtuelles via SSH. Le certificat doit être au format PEM avec ou sans en-têtes. corde

Microsoft.HybridContainerService/provisionedClusterInstances

Nom Description Valeur
extendedLocation Emplacement étendu pointant vers l’infrastructure sous-jacente ExtendedLocation
nom Nom de la ressource 'default' (obligatoire)
parent_id ID de la ressource à laquelle appliquer cette ressource d’extension. chaîne (obligatoire)
Propriétés Propriétés du cluster provisionné. ProvisionedClusterProperties
type Type de ressource « Microsoft.HybridContainerService/provisionedClusterInstances@2024-01-01 »

NamedAgentPoolProfile

Nom Description Valeur
compter Nombre de nœuds dans le pool d’agents. La valeur par défaut est 1. Int
enableAutoScaling Indique s’il faut activer la mise à l’échelle automatique. La valeur par défaut est false Bool
maxCount Nombre maximal de nœuds pour la mise à l’échelle automatique Int
maxPods Nombre maximal de pods qui peuvent s’exécuter sur un nœud. Int
minCount Nombre minimal de nœuds pour la mise à l’échelle automatique Int
nom Nom unique du pool d’agents par défaut dans le contexte du cluster approvisionné. La valeur par défaut est <clusterName>-nodepool1 corde
nodeLabels Étiquettes de nœud à conserver sur tous les nœuds du pool d’agents. AgentPoolProfileNodeLabels
nodeTaints Les teintes ajoutées aux nouveaux nœuds pendant la création et la mise à l’échelle du pool de nœuds. Par exemple, key=value :NoSchedule. string[]
osSKU Spécifie la référence SKU du système d’exploitation utilisée par le pool d’agents. La valeur par défaut est CBLMarinr si OSType est Linux. La valeur par défaut est Windows2019 quand OSType est Windows. 'CBLMarinr'
'Windows2019'
'Windows2022'
osType Type de système d’exploitation d’image KubernetesVersion particulier (Linux, Windows) 'Linux'
'Windows'
vmSize Taille de la référence SKU de machine virtuelle du nœud du pool d’agents. corde

NetworkProfile

Nom Description Valeur
loadBalancerProfile Profil de l’équilibreur de charge du proxy haute disponibilité. NetworkProfileLoadBalancerProfile
networkPolicy Stratégie réseau utilisée pour créer un réseau Kubernetes. Les valeurs possibles sont les suivantes : « calico ». 'calico'
podCidr Plage d’adresses IP de notation CIDR à partir de laquelle attribuer des adresses IP de pod. corde

NetworkProfileLoadBalancerProfile

Nom Description Valeur
compter Nombre de machines virtuelles de l’équilibreur de charge proxy haute disponibilité. La valeur par défaut est 0. Int

ProvisionedClusterLicenseProfile

Nom Description Valeur
azureHybridBenefit Indique si Azure Hybrid Benefit est choisi. La valeur par défaut est false 'False'
'NotApplicable'
'True'

ProvisionedClusterProperties

Nom Description Valeur
agentPoolProfiles Propriétés du pool d’agents pour le cluster approvisionné. NamedAgentPoolProfile[]
autoScalerProfile Paramètres à appliquer à l’autoscaler de cluster lorsque la mise à l’échelle automatique est activée pour le cluster approvisionné. ProvisionedClusterPropertiesAutoScalerProfile
cloudProviderProfile Profil du fournisseur d’infrastructure cloud sous-jacent pour le cluster approvisionné. CloudProviderProfile
clusterVMAccessProfile Profil d’accès restreint SSH pour les machines virtuelles du cluster approvisionné. ClusterVMAccessProfile
controlPlane Profil du plan de contrôle du cluster provisionné. ControlPlaneProfile
kubernetesVersion Version de Kubernetes utilisée par le cluster approvisionné. corde
licenseProfile Profil de licence du cluster approvisionné. ProvisionedClusterLicenseProfile
linuxProfile Profil pour les machines virtuelles Linux dans le cluster approvisionné. LinuxProfileProperties
networkProfile Profil de configuration réseau pour le cluster approvisionné. NetworkProfile
storageProfile Profil de configuration de stockage pour le cluster approvisionné. StorageProfile

ProvisionedClusterPropertiesAutoScalerProfile

Nom Description Valeur
balance-similar-node-groups Les valeurs valides sont « true » et « false » corde
expanseur S’il n’est pas spécifié, la valeur par défaut est « aléatoire ». Pour plus d’informations, consultez expanders. « les moins gaspillements »
'most-pods'
'priority'
'random'
max-empty-bulk-delete La valeur par défaut est 10. corde
max-graceful-termination-sec La valeur par défaut est 600. corde
max-node-provision-time La valeur par défaut est « 15 m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
max-total-unready-percentage La valeur par défaut est 45. La valeur maximale est 100 et la valeur minimale est de 0. corde
new-pod-scale-up-delay Pour les scénarios tels que la mise à l’échelle burst/batch où vous ne souhaitez pas que l’autorité de certification agisse avant que le planificateur Kubernetes puisse planifier tous les pods, vous pouvez indiquer à l’autorité de certification d’ignorer les pods non planifiés avant qu’ils ne soient d’un certain âge. La valeur par défaut est « 0s ». Les valeurs doivent être un entier suivi d’une unité (s’pendant les secondes, 'm' pendant les minutes, 'h' pendant les heures, etc.). corde
ok-total-unready-count Il doit s’agir d’un entier. La valeur par défaut est 3. corde
scale-down-delay-after-add La valeur par défaut est « 10m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-delay-after-delete La valeur par défaut est l’intervalle d’analyse. Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-delay-after-failure La valeur par défaut est « 3m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-uneded-time La valeur par défaut est « 10m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-unready-time La valeur par défaut est « 20m ». Les valeurs doivent être un entier suivi d’un ' m'. Aucune unité de temps autre que les minutes (m) n’est prise en charge. corde
scale-down-utilization-threshold La valeur par défaut est « 0.5 ». corde
intervalle d’analyse La valeur par défaut est « 10 ». Les valeurs doivent être un nombre entier de secondes. corde
skip-nodes-with-local-storage La valeur par défaut est true. corde
skip-nodes-with-system-pods La valeur par défaut est true. corde

StorageProfile

Nom Description Valeur
nfsCsiDriver Paramètres du pilote NFS CSI pour le profil de stockage. StorageProfileNfsCSIDriver
smbCsiDriver Paramètres du pilote CSI SMB pour le profil de stockage. StorageProfileSmbCSIDriver

StorageProfileNfsCSIDriver

Nom Description Valeur
Activé Indique s’il faut activer le pilote CSI NFS. La valeur par défaut est true. Bool

StorageProfileSmbCSIDriver

Nom Description Valeur
Activé Indique s’il faut activer SMB CSI Driver. La valeur par défaut est true. Bool