Partager via


Microsoft.ContainerService managedClusters 2022-03-01

Définition de ressource Bicep

Le type de ressource managedClusters 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.

Remarques

Pour plus d’informations sur les modules complémentaires disponibles, consultez modules complémentaires, extensions et autres intégrations avec Azure Kubernetes Service.

Format de ressource

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

resource symbolicname 'Microsoft.ContainerService/managedClusters@2022-03-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  sku: {
    name: 'Basic'
    tier: 'string'
  }
  extendedLocation: {
    name: 'string'
    type: 'EdgeZone'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  properties: {
    aadProfile: {
      adminGroupObjectIDs: [
        'string'
      ]
      clientAppID: 'string'
      enableAzureRBAC: bool
      managed: bool
      serverAppID: 'string'
      serverAppSecret: 'string'
      tenantID: 'string'
    }
    addonProfiles: {
      {customized property}: {
        config: {
          {customized property}: 'string'
        }
        enabled: bool
      }
    }
    agentPoolProfiles: [
      {
        availabilityZones: [
          'string'
        ]
        count: int
        creationData: {
          sourceResourceId: 'string'
        }
        enableAutoScaling: bool
        enableEncryptionAtHost: bool
        enableFIPS: bool
        enableNodePublicIP: bool
        enableUltraSSD: bool
        gpuInstanceProfile: 'string'
        kubeletConfig: {
          allowedUnsafeSysctls: [
            'string'
          ]
          containerLogMaxFiles: int
          containerLogMaxSizeMB: int
          cpuCfsQuota: bool
          cpuCfsQuotaPeriod: 'string'
          cpuManagerPolicy: 'string'
          failSwapOn: bool
          imageGcHighThreshold: int
          imageGcLowThreshold: int
          podMaxPids: int
          topologyManagerPolicy: 'string'
        }
        kubeletDiskType: 'string'
        linuxOSConfig: {
          swapFileSizeMB: int
          sysctls: {
            fsAioMaxNr: int
            fsFileMax: int
            fsInotifyMaxUserWatches: int
            fsNrOpen: int
            kernelThreadsMax: int
            netCoreNetdevMaxBacklog: int
            netCoreOptmemMax: int
            netCoreRmemDefault: int
            netCoreRmemMax: int
            netCoreSomaxconn: int
            netCoreWmemDefault: int
            netCoreWmemMax: int
            netIpv4IpLocalPortRange: 'string'
            netIpv4NeighDefaultGcThresh1: int
            netIpv4NeighDefaultGcThresh2: int
            netIpv4NeighDefaultGcThresh3: int
            netIpv4TcpFinTimeout: int
            netIpv4TcpkeepaliveIntvl: int
            netIpv4TcpKeepaliveProbes: int
            netIpv4TcpKeepaliveTime: int
            netIpv4TcpMaxSynBacklog: int
            netIpv4TcpMaxTwBuckets: int
            netIpv4TcpTwReuse: bool
            netNetfilterNfConntrackBuckets: int
            netNetfilterNfConntrackMax: int
            vmMaxMapCount: int
            vmSwappiness: int
            vmVfsCachePressure: int
          }
          transparentHugePageDefrag: 'string'
          transparentHugePageEnabled: 'string'
        }
        maxCount: int
        maxPods: int
        minCount: int
        mode: 'string'
        name: 'string'
        nodeLabels: {
          {customized property}: 'string'
        }
        nodePublicIPPrefixID: 'string'
        nodeTaints: [
          'string'
        ]
        orchestratorVersion: 'string'
        osDiskSizeGB: int
        osDiskType: 'string'
        osSKU: 'string'
        osType: 'string'
        podSubnetID: 'string'
        powerState: {
          code: 'string'
        }
        proximityPlacementGroupID: 'string'
        scaleDownMode: 'string'
        scaleSetEvictionPolicy: 'string'
        scaleSetPriority: 'string'
        spotMaxPrice: json('decimal-as-string')
        tags: {}
        type: 'string'
        upgradeSettings: {
          maxSurge: 'string'
        }
        vmSize: 'string'
        vnetSubnetID: 'string'
        workloadRuntime: 'string'
      }
    ]
    apiServerAccessProfile: {
      authorizedIPRanges: [
        'string'
      ]
      disableRunCommand: bool
      enablePrivateCluster: bool
      enablePrivateClusterPublicFQDN: bool
      privateDNSZone: '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'
    }
    autoUpgradeProfile: {
      upgradeChannel: 'string'
    }
    disableLocalAccounts: bool
    diskEncryptionSetID: 'string'
    dnsPrefix: 'string'
    enablePodSecurityPolicy: bool
    enableRBAC: bool
    fqdnSubdomain: 'string'
    httpProxyConfig: {
      httpProxy: 'string'
      httpsProxy: 'string'
      noProxy: [
        'string'
      ]
      trustedCa: 'string'
    }
    identityProfile: {
      {customized property}: {
        clientId: 'string'
        objectId: 'string'
        resourceId: 'string'
      }
    }
    kubernetesVersion: 'string'
    linuxProfile: {
      adminUsername: 'string'
      ssh: {
        publicKeys: [
          {
            keyData: 'string'
          }
        ]
      }
    }
    networkProfile: {
      dnsServiceIP: 'string'
      dockerBridgeCidr: 'string'
      ipFamilies: [
        'string'
      ]
      loadBalancerProfile: {
        allocatedOutboundPorts: int
        effectiveOutboundIPs: [
          {
            id: 'string'
          }
        ]
        enableMultipleStandardLoadBalancers: bool
        idleTimeoutInMinutes: int
        managedOutboundIPs: {
          count: int
          countIPv6: int
        }
        outboundIPPrefixes: {
          publicIPPrefixes: [
            {
              id: 'string'
            }
          ]
        }
        outboundIPs: {
          publicIPs: [
            {
              id: 'string'
            }
          ]
        }
      }
      loadBalancerSku: 'string'
      natGatewayProfile: {
        effectiveOutboundIPs: [
          {
            id: 'string'
          }
        ]
        idleTimeoutInMinutes: int
        managedOutboundIPProfile: {
          count: int
        }
      }
      networkMode: 'string'
      networkPlugin: 'string'
      networkPolicy: 'string'
      outboundType: 'string'
      podCidr: 'string'
      podCidrs: [
        'string'
      ]
      serviceCidr: 'string'
      serviceCidrs: [
        'string'
      ]
    }
    nodeResourceGroup: 'string'
    podIdentityProfile: {
      allowNetworkPluginKubenet: bool
      enabled: bool
      userAssignedIdentities: [
        {
          bindingSelector: 'string'
          identity: {
            clientId: 'string'
            objectId: 'string'
            resourceId: 'string'
          }
          name: 'string'
          namespace: 'string'
        }
      ]
      userAssignedIdentityExceptions: [
        {
          name: 'string'
          namespace: 'string'
          podLabels: {
            {customized property}: 'string'
          }
        }
      ]
    }
    privateLinkResources: [
      {
        groupId: 'string'
        id: 'string'
        name: 'string'
        requiredMembers: [
          'string'
        ]
        type: 'string'
      }
    ]
    publicNetworkAccess: 'string'
    securityProfile: {
      azureDefender: {
        enabled: bool
        logAnalyticsWorkspaceResourceId: 'string'
      }
    }
    servicePrincipalProfile: {
      clientId: 'string'
      secret: 'string'
    }
    windowsProfile: {
      adminPassword: 'string'
      adminUsername: 'string'
      enableCSIProxy: bool
      gmsaProfile: {
        dnsServer: 'string'
        enabled: bool
        rootDomainName: 'string'
      }
      licenseType: 'string'
    }
  }
}

Valeurs de propriété

managedClusters

Nom Description Valeur
nom Nom de la ressource chaîne (obligatoire)

Limite de caractères : 1 à 63

Caractères valides :
Alphanumériques, traits de soulignement et traits d’union.

Commencez et terminez par alphanumérique.
emplacement Emplacement géographique où réside la ressource chaîne (obligatoire)
étiquettes Balises de ressource. Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles
Sku Référence SKU de cluster managé. ManagedClusterSKU
extendedLocation Emplacement étendu de la machine virtuelle. ExtendedLocation
identité Identité du cluster managé, s’il est configuré. ManagedClusterIdentity
Propriétés Propriétés d’un cluster managé. ManagedClusterProperties

ExtendedLocation

Nom Description Valeur
nom Nom de l’emplacement étendu. corde
type Type de l’emplacement étendu. 'EdgeZone'

ManagedClusterIdentity

Nom Description Valeur
type Pour plus d’informations, consultez utiliser des identités managées dans AKS. 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities Les clés doivent être des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} ». ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

Nom Description Valeur
{propriété personnalisée} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

Cet objet ne contient aucune propriété à définir pendant le déploiement. Toutes les propriétés sont ReadOnly.

ManagedClusterProperties

Nom Description Valeur
aadProfile Configuration d’Azure Active Directory. ManagedClusterAADProfile
addonProfiles Profil du module complémentaire de cluster managé. ManagedClusterPropertiesAddonProfiles
agentPoolProfiles Propriétés du pool d’agents. ManagedClusterAgentPoolProfile[]
apiServerAccessProfile Profil d’accès pour le serveur d’API de cluster managé. ManagedClusterAPIServerAccessProfile
autoScalerProfile Paramètres à appliquer à la mise à l’échelle automatique du cluster en cas d’activation ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile Configuration de la mise à niveau automatique. ManagedClusterAutoUpgradeProfile
disableLocalAccounts Si la valeur est true, l’obtention d’informations d’identification statiques est désactivée pour ce cluster. Cela ne doit être utilisé que sur les clusters managés activés par AAD. Pour plus d’informations, consultez désactiver les comptes locaux. Bool
diskEncryptionSetID Il s’agit de la forme suivante : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName} » corde
dnsPrefix Cette opération ne peut pas être mise à jour une fois le cluster managé créé. corde
enablePodSecurityPolicy (DÉPRÉCIATION) Indique s’il faut activer la stratégie de sécurité des pods Kubernetes (préversion). Cette fonctionnalité est définie pour suppression le 15 octobre 2020. En savoir plus sur aka.ms/aks/azpodpolicy. Bool
enableRBAC Indique s’il faut activer Kubernetes Role-Based contrôle d’accès. Bool
fqdnSubdomain Cette opération ne peut pas être mise à jour une fois le cluster managé créé. corde
httpProxyConfig Configurations pour l’approvisionnement du cluster avec des serveurs proxy HTTP. ManagedClusterHttpProxyConfig
identityProfile Identités associées au cluster. ManagedClusterPropertiesIdentityProfile
kubernetesVersion Lorsque vous mettez à niveau un cluster AKS pris en charge, les versions mineures de Kubernetes ne peuvent pas être ignorées. Toutes les mises à niveau doivent être effectuées séquentiellement par numéro de version principal. Par exemple, les mises à niveau entre 1.14.x -> 1.15.x ou 1.15.x -> 1.16.x sont autorisées, mais 1.14.x -> 1.16.x n’est pas autorisée. Pour plus d’informations, consultez mise à niveau d’un cluster AKS. corde
linuxProfile Profil pour les machines virtuelles Linux dans le cluster managé. ContainerServiceLinuxProfile
networkProfile Profil de configuration réseau. ContainerServiceNetworkProfile
nodeResourceGroup Nom du groupe de ressources contenant des nœuds de pool d’agents. corde
podIdentityProfile Consultez utiliser l’identité de pod AAD pour plus d’informations sur l’intégration des identités de pod AAD. ManagedClusterPodIdentityProfile
privateLinkResources Ressources de liaison privée associées au cluster. privateLinkResource[]
publicNetworkAccess Autoriser ou refuser l’accès au réseau public pour AKS 'Désactivé'
'Activé'
securityProfile Profil de sécurité pour le cluster managé. ManagedClusterSecurityProfile
servicePrincipalProfile Informations sur une identité de principal de service pour le cluster à utiliser pour manipuler des API Azure. ManagedClusterServicePrincipalProfile
windowsProfile Profil des machines virtuelles Windows dans le cluster managé. ManagedClusterWindowsProfile

ManagedClusterAADProfile

Nom Description Valeur
adminGroupObjectIDs Liste des ID d’objet de groupe AAD qui auront le rôle d’administrateur du cluster. string[]
clientAppID ID d’application AAD client. corde
enableAzureRBAC Indique s’il faut activer Azure RBAC pour l’autorisation Kubernetes. Bool
Géré Indique s’il faut activer AAD managé. Bool
serverAppID ID d’application AAD du serveur. corde
serverAppSecret Secret de l’application AAD du serveur. corde
tenantID ID de locataire AAD à utiliser pour l’authentification. S’il n’est pas spécifié, utilisez le locataire de l’abonnement de déploiement. corde

ManagedClusterPropertiesAddonProfiles

Nom Description Valeur
{propriété personnalisée} ManagedClusterAddonProfile

ManagedClusterAddonProfile

Nom Description Valeur
config Paires clé-valeur pour la configuration d’un module complémentaire. ManagedClusterAddonProfileConfig
Activé Indique si le module complémentaire est activé ou non. bool (obligatoire)

ManagedClusterAddonProfileConfig

Nom Description Valeur
{propriété personnalisée} corde

ManagedClusterAgentPoolProfile

Nom Description Valeur
availabilityZones Liste des zones de disponibilité à utiliser pour les nœuds. Cela ne peut être spécifié que si la propriété AgentPoolType est « VirtualMachineScaleSets ». string[]
compter Nombre d’agents (machines virtuelles) pour héberger des conteneurs Docker. Les valeurs autorisées doivent être comprises entre 0 et 1 000 (inclus) pour les pools d’utilisateurs et dans la plage comprise entre 1 et 1 000 (inclus) pour les pools système. La valeur par défaut est 1. Int
creationData CreationData à utiliser pour spécifier l’ID d’instantané source si le pool de nœuds sera créé/mis à niveau à l’aide d’un instantané. CreationData
enableAutoScaling Indique s’il faut activer la mise à l’échelle automatique Bool
enableEncryptionAtHost Cela n’est pris en charge que sur certaines tailles de machine virtuelle et dans certaines régions Azure. Pour plus d’informations, consultez : /azure/aks/enable-host-encryption Bool
enableFIPS Pour plus d’informations, consultez Ajouter un pool de nœuds compatible FIPS. Bool
enableNodePublicIP Certains scénarios peuvent nécessiter des nœuds dans un pool de nœuds pour recevoir leurs propres adresses IP publiques dédiées. Un scénario courant concerne les charges de travail de jeu, où une console doit établir une connexion directe à une machine virtuelle cloud afin de réduire les tronçons. Pour plus d’informations, consultez affectation d’une adresse IP publique par nœud. La valeur par défaut est false. Bool
enableUltraSSD Indique s’il faut activer UltraSSD Bool
gpuInstanceProfile GPUInstanceProfile à utiliser pour spécifier le profil d’instance GPU MIG pour la référence SKU de machine virtuelle GPU prise en charge. 'MIG1g'
'MIG2g'
'MIG3g'
'MIG4g'
'MIG7g'
kubeletConfig Configuration Kubelet sur les nœuds du pool d’agents. KubeletConfig
kubeletDiskType Détermine le placement des volumes emptyDir, de la racine des données du runtime de conteneur et du stockage éphémère Kubelet. 'OS'
'Temporaire'
linuxOSConfig Configuration du système d’exploitation des nœuds de l’agent Linux. LinuxOSConfig
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
mode Un cluster doit avoir au moins un pool d’agents « Système » à tout moment. Pour plus d’informations sur les restrictions de pool d’agents et les meilleures pratiques, consultez : /azure/aks/use-system-pools 'System'
'User'
nom Les noms de pool d’agents Windows doivent être de 6 caractères ou moins. chaîne (obligatoire)

Contraintes:
Modèle = ^[a-z][a-z0-9]{0,11}$
nodeLabels Étiquettes de nœud à conserver sur tous les nœuds du pool d’agents. ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodePublicIPPrefixID Il s’agit de la forme suivante : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} corde
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[]
orchestratorVersion En guise de meilleure pratique, vous devez mettre à niveau tous les pools de nœuds d’un cluster AKS vers la même version de Kubernetes. La version du pool de nœuds doit avoir la même version principale que le plan de contrôle. La version mineure du pool de nœuds doit se trouver dans deux versions mineures de la version du plan de contrôle. La version du pool de nœuds ne peut pas être supérieure à la version du plan de contrôle. Pour plus d’informations, consultez mise à niveau d’un pool de nœuds. corde
osDiskSizeGB Taille du disque du système d’exploitation en Go à utiliser pour spécifier la taille du disque pour chaque ordinateur du pool maître/agent. Si vous spécifiez 0, elle applique la taille osDisk par défaut en fonction de vmSize spécifiée. Int

Contraintes:
Valeur minimale = 0
Valeur maximale = 2048
osDiskType La valeur par défaut est « Éphémère » si la machine virtuelle la prend en charge et a un disque de cache supérieur à celui demandé d’OSDiskSizeGB. Sinon, la valeur par défaut est « Gérée ». Peut ne pas être modifié après la création. Pour plus d’informations, consultez système d’exploitation éphémère. 'Éphémère'
'Managed'
osSKU Spécifie une référence SKU de système d’exploitation. Cette valeur ne doit pas être spécifiée si OSType est Windows. 'CBLMarinr'
'Ubuntu'
osType Type de système d’exploitation. La valeur par défaut est Linux. 'Linux'
'Windows'
podSubnetID En cas d’omission, les adresses IP de pod sont affectées statiquement sur le sous-réseau de nœud (voir vnetSubnetID pour plus d’informations). Il s’agit de la forme suivante : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} corde
powerState Lorsqu’un pool d’agents est créé pour la première fois, il est en cours d’exécution. Le pool d’agents peut être arrêté en définissant ce champ sur Arrêté. Un pool d’agents arrêté arrête toutes ses machines virtuelles et n’accumule pas de frais de facturation. Un pool d’agents ne peut être arrêté que s’il est en cours d’exécution et si l’état d’approvisionnement est Réussi PowerState
proximityPlacementGroupID ID du groupe de placement de proximité. corde
scaleDownMode Cela affecte également le comportement du générateur de mise à l’échelle automatique du cluster. S’il n’est pas spécifié, il est défini par défaut sur Delete. 'Libérer'
'Supprimer'
scaleSetEvictionPolicy Cela ne peut pas être spécifié, sauf si scaleSetPriority est « Spot ». S’il n’est pas spécifié, la valeur par défaut est « Supprimer ». 'Libérer'
'Supprimer'
scaleSetPriority Priorité du groupe de machines virtuelles identiques. S’il n’est pas spécifié, la valeur par défaut est « Standard ». 'Normal'
'Spot'
spotMaxPrice Les valeurs possibles sont une valeur décimale supérieure à zéro ou -1 qui indique la volonté de payer n’importe quel prix à la demande. Pour plus d’informations sur la tarification spot, consultez tarification des machines virtuelles spot Pour spécifier une valeur décimale, utilisez la fonction json(). int ou json decimal
étiquettes Balises à conserver sur le groupe de machines virtuelles identiques du pool d’agents. objet
type Type de pool d’agents. 'AvailabilitySet'
'VirtualMachineScaleSets'
upgradeSettings Paramètres de mise à niveau du pool d’agents AgentPoolUpgradeSettings
vmSize La disponibilité de la taille des machines virtuelles varie selon la région. Si un nœud contient des ressources de calcul insuffisantes (mémoire, processeur, etc.) les pods peuvent échouer à s’exécuter correctement. Pour plus d’informations sur les tailles de machine virtuelle restreintes, consultez : /azure/aks/quotas-skus-regions corde
vnetSubnetID Si ce n’est pas spécifié, un réseau virtuel et un sous-réseau sont générés et utilisés. Si aucun podSubnetID n’est spécifié, cela s’applique aux nœuds et aux pods, sinon il s’applique uniquement aux nœuds. Il s’agit de la forme suivante : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} corde
workloadRuntime Détermine le type de charge de travail qu’un nœud peut exécuter. 'OCIContainer'
'WasmWasi'

CreationData

Nom Description Valeur
sourceResourceId Il s’agit de l’ID ARM de l’objet source à utiliser pour créer l’objet cible. corde

KubeletConfig

Nom Description Valeur
allowedUnsafeSysctls Liste autorisée de sysctls non sécurisés ou de modèles sysctl non sécurisés (se terminant par *). string[]
containerLogMaxFiles Nombre maximal de fichiers journaux de conteneur pouvant être présents pour un conteneur. Le nombre doit être ≥ 2. Int

Contraintes:
Valeur minimale = 2
containerLogMaxSizeMB Taille maximale (par exemple, 10Mi) du fichier journal conteneur avant sa rotation. Int
cpuCfsQuota La valeur par défaut est true. Bool
cpuCfsQuotaPeriod La valeur par défaut est « 100ms ». Les valeurs valides sont une séquence de nombres décimaux avec une fraction facultative et un suffixe d’unité. Par exemple : « 300ms », « 2h45m ». Les unités prises en charge sont « ns », « us », « ms », « s », « m » et « h ». corde
cpuManagerPolicy La valeur par défaut est « none ». Pour plus d’informations, consultez stratégies de gestion du processeur Kubernetes. Les valeurs autorisées sont « none » et « static ». corde
failSwapOn Si la valeur est true, kubelet ne démarre pas si l’échange est activé sur le nœud. Bool
imageGcHighThreshold Pour désactiver le garbage collection d’images, définissez sur 100. La valeur par défaut est 85% Int
imageGcLowThreshold Cela ne peut pas être défini plus haut que imageGcHighThreshold. La valeur par défaut est 80% Int
podMaxPids Nombre maximal de processus par pod. Int
topologyManagerPolicy Pour plus d’informations, consultez Gestionnaire de topologie Kubernetes. La valeur par défaut est « none ». Les valeurs autorisées sont « none », « best-effort », « restricted » et « single-numa-node ». corde

LinuxOSConfig

Nom Description Valeur
swapFileSizeMB Taille en Mo d’un fichier d’échange qui sera créé sur chaque nœud. Int
sysctls Paramètres Sysctl pour les nœuds d’agent Linux. SysctlConfig
transparentHugePageDefrag Les valeurs valides sont « always », « defer », « defer+madvise », « madvise » et « never ». La valeur par défaut est « madvise ». Pour plus d’informations, consultez Transparent Hugepages. corde
transparentHugePageEnabled Les valeurs valides sont « always », « madvise » et « never ». La valeur par défaut est « always ». Pour plus d’informations, consultez Transparent Hugepages. corde

SysctlConfig

Nom Description Valeur
fsAioMaxNr Paramètre Sysctl fs.aio-max-nr. Int
fsFileMax Paramètre Sysctl fs.file-max. Int
fsInotifyMaxUserWatches Paramètre Sysctl fs.inotify.max_user_watch. Int
fsNrOpen Paramètre Sysctl fs.nr_open. Int
kernelThreadsMax Sysctl définissant kernel.threads-max. Int
netCoreNetdevMaxBacklog Paramètre Sysctl net.core.netdev_max_backlog. Int
netCoreOptmemMax Paramètre Sysctl net.core.optmem_max. Int
netCoreRmemDefault Paramètre Sysctl net.core.rmem_default. Int
netCoreRmemMax Paramètre Sysctl net.core.rmem_max. Int
netCoreSomaxconn Sysctl définissant net.core.somaxconn. Int
netCoreWmemDefault Paramètre Sysctl net.core.wmem_default. Int
netCoreWmemMax Paramètre Sysctl net.core.wmem_max. Int
netIpv4IpLocalPortRange Paramètre Sysctl net.ipv4.ip_local_port_range. corde
netIpv4NeighDefaultGcThresh1 Paramètre Sysctl net.ipv4.neigh.default.gc_thresh1. Int
netIpv4NeighDefaultGcThresh2 Paramètre Sysctl net.ipv4.neigh.default.gc_thresh2. Int
netIpv4NeighDefaultGcThresh3 Paramètre Sysctl net.ipv4.neigh.default.gc_thresh3. Int
netIpv4TcpFinTimeout Paramètre Sysctl net.ipv4.tcp_fin_timeout. Int
netIpv4TcpkeepaliveIntvl Paramètre Sysctl net.ipv4.tcp_keepalive_intvl. Int
netIpv4TcpKeepaliveProbes Paramètre Sysctl net.ipv4.tcp_keepalive_probes. Int
netIpv4TcpKeepaliveTime Paramètre Sysctl net.ipv4.tcp_keepalive_time. Int
netIpv4TcpMaxSynBacklog Paramètre Sysctl net.ipv4.tcp_max_syn_backlog. Int
netIpv4TcpMaxTwBuckets Paramètre Sysctl net.ipv4.tcp_max_tw_buckets. Int
netIpv4TcpTwReuse Paramètre Sysctl net.ipv4.tcp_tw_reuse. Bool
netNetfilterNfConntrackBuckets Paramètre Sysctl net.netfilter.nf_conntrack_buckets. Int
netNetfilterNfConntrackMax Paramètre Sysctl net.netfilter.nf_conntrack_max. Int
vmMaxMapCount Paramètre Sysctl vm.max_map_count. Int
vmSwappiness Sysctl définissant vm.swappiness. Int
vmVfsCachePressure Paramètre Sysctl vm.vfs_cache_pressure. Int

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Nom Description Valeur
{propriété personnalisée} corde

PowerState

Nom Description Valeur
code Indique si le cluster est en cours d’exécution ou arrêté 'Running'
'Arrêté'

AgentPoolUpgradeSettings

Nom Description Valeur
maxSurge Cela peut être défini sur un entier (par exemple, « 5 ») ou sur un pourcentage (par exemple, « 50%»). Si un pourcentage est spécifié, il s’agit du pourcentage de la taille totale du pool d’agents au moment de la mise à niveau. Pour les pourcentages, les nœuds fractionnaires sont arrondis. S’il n’est pas spécifié, la valeur par défaut est 1. Pour plus d’informations, notamment les meilleures pratiques, consultez : /azure/aks/upgrade-cluster#customize-node-surge-upgrade corde

ManagedClusterAPIServerAccessProfile

Nom Description Valeur
authorizedIPRanges Les plages d’adresses IP sont spécifiées au format CIDR, par exemple 137.117.106.88/29. Cette fonctionnalité n’est pas compatible avec les clusters qui utilisent l’adresse IP publique par nœud ou les clusters qui utilisent un équilibreur de charge de base. Pour plus d’informations, consultez plages d’adresses IP autorisées du serveur d’API. string[]
disableRunCommand Indique s’il faut désactiver la commande d’exécution pour le cluster ou non. Bool
enablePrivateCluster Pour plus d’informations, consultez Création d’un cluster AKS privé. Bool
enablePrivateClusterPublicFQDN Indique s’il faut créer un nom de domaine complet public supplémentaire pour un cluster privé ou non. Bool
privateDNSZone La valeur par défaut est System. Pour plus d’informations, consultez configurer une zone DNS privée. Les valeurs autorisées sont « system » et « none ». corde

ManagedClusterPropertiesAutoScalerProfile

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

ManagedClusterAutoUpgradeProfile

Nom Description Valeur
upgradeChannel Pour plus d’informations, consultez définition du canal de mise à niveau automatique du cluster AKS. 'node-image'
'none'
'patch'
'rapid'
'stable'

ManagedClusterHttpProxyConfig

Nom Description Valeur
httpProxy Point de terminaison du serveur proxy HTTP à utiliser. corde
httpsProxy Point de terminaison du serveur proxy HTTPS à utiliser. corde
noProxy Points de terminaison qui ne doivent pas passer par proxy. string[]
trustedCa Autre certificat d’autorité de certification à utiliser pour la connexion aux serveurs proxy. corde

ManagedClusterPropertiesIdentityProfile

Nom Description Valeur
{propriété personnalisée} UserAssignedIdentity

UserAssignedIdentity

Nom Description Valeur
clientId ID client de l’identité affectée par l’utilisateur. corde
objectId ID d’objet de l’identité affectée par l’utilisateur. corde
resourceId ID de ressource de l’identité affectée par l’utilisateur. corde

ContainerServiceLinuxProfile

Nom Description Valeur
adminUsername Nom d’utilisateur administrateur à utiliser pour les machines virtuelles Linux. chaîne (obligatoire)

Contraintes:
Modèle = ^[A-Za-z][-A-Za-z0-9_]*$
ssh Configuration SSH pour les machines virtuelles Linux s’exécutant sur Azure. ContainerServiceSshConfiguration (obligatoire)

ContainerServiceSshConfiguration

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

ContainerServiceSshPublicKey

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. chaîne (obligatoire)

ContainerServiceNetworkProfile

Nom Description Valeur
dnsServiceIP Adresse IP affectée au service DNS Kubernetes. Elle doit se trouver dans la plage d’adresses du service Kubernetes spécifiée dans serviceCidr. corde

Contraintes:
Modèle = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
dockerBridgeCidr Plage d’adresses IP de notation CIDR affectée au réseau de pont Docker. Elle ne doit pas chevaucher les plages d’adresses IP de sous-réseau ou la plage d’adresses du service Kubernetes. corde

Contraintes:
Modèle = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
ipFamilies Les familles d’adresses IP sont utilisées pour déterminer des clusters à pile unique ou double pile. Pour une pile unique, la valeur attendue est IPv4. Pour la double pile, les valeurs attendues sont IPv4 et IPv6. Tableau de chaînes contenant l’un des éléments suivants :
'IPv4'
'IPv6'
loadBalancerProfile Profil de l’équilibreur de charge du cluster. ManagedClusterLoadBalancerProfile
loadBalancerSku La valeur par défaut est « standard ». Consultez références SKU Azure Load Balancer pour plus d’informations sur les différences entre les références SKU de l’équilibreur de charge. 'basic'
'standard'
natGatewayProfile Profil de la passerelle NAT de cluster. ManagedClusterNATGatewayProfile
networkMode Cela ne peut pas être spécifié si networkPlugin est autre que « azure ». 'bridge'
'transparent'
networkPlugin Plug-in réseau utilisé pour créer le réseau Kubernetes. 'azure'
'kubenet'
networkPolicy Stratégie réseau utilisée pour créer le réseau Kubernetes. 'azure'
'calico'
outboundType Cela ne peut être défini qu’au moment de la création du cluster et ne peut pas être modifié ultérieurement. Pour plus d’informations, consultez type sortant sortant. 'loadBalancer'
'managedNATGateway'
'userAssignedNATGateway'
'userDefinedRouting'
podCidr Plage d’adresses IP de notation CIDR à partir de laquelle affecter des adresses IP de pod lorsque kubenet est utilisé. corde

Contraintes:
Modèle = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
podCidrs Un CIDR IPv4 est attendu pour la mise en réseau à pile unique. Deux CIDR, un pour chaque famille IP (IPv4/IPv6), sont attendus pour la mise en réseau à double pile. string[]
serviceCidr Plage d’adresses IP de notation CIDR à partir de laquelle attribuer des adresses IP de cluster de service. Elle ne doit pas chevaucher les plages d’adresses IP de sous-réseau. corde

Contraintes:
Modèle = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidrs Un CIDR IPv4 est attendu pour la mise en réseau à pile unique. Deux CIDR, un pour chaque famille IP (IPv4/IPv6), sont attendus pour la mise en réseau à double pile. Ils ne doivent pas chevaucher les plages d’adresses IP de sous-réseau. string[]

ManagedClusterLoadBalancerProfile

Nom Description Valeur
allocationOutboundPorts Nombre souhaité de ports SNAT alloués par machine virtuelle. Les valeurs autorisées sont comprises entre 0 et 64 000 (inclus). La valeur par défaut est 0, ce qui entraîne l’allocation dynamique de ports dans Azure. Int

Contraintes:
Valeur minimale = 0
Valeur maximale = 64000
EffectiveOutboundIPs Ressources IP sortantes effectives de l’équilibreur de charge du cluster. resourceReference[]
enableMultipleStandardLoadBalancers Activez plusieurs équilibreurs de charge standard par cluster AKS ou non. Bool
idleTimeoutInMinutes Délai d’inactivité du flux sortant souhaité en minutes. Les valeurs autorisées sont comprises entre 4 et 120 (inclus). La valeur par défaut est de 30 minutes. Int

Contraintes:
Valeur minimale = 4
Valeur maximale = 120
managedOutboundIPs Adresses IP sortantes gérées souhaitées pour l’équilibreur de charge du cluster. ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes Ressources de préfixe IP sortantes souhaitées pour l’équilibreur de charge du cluster. ManagedClusterLoadBalancerProfileOutboundIPPrefixes
Adresses IP sortantes Ressources IP sortantes souhaitées pour l’équilibreur de charge du cluster. ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

Nom Description Valeur
id ID de ressource Azure complet. corde

ManagedClusterLoadBalancerProfileManagedOutboundIPs

Nom Description Valeur
compter Nombre souhaité d’adresses IP sortantes IPv4 créées/gérées par Azure pour l’équilibreur de charge du cluster. Les valeurs autorisées doivent être comprises entre 1 et 100 (inclus). La valeur par défaut est 1. Int

Contraintes:
Valeur minimale = 1
Valeur maximale = 100
countIPv6 Nombre souhaité d’adresses IP sortantes IPv6 créées/gérées par Azure pour l’équilibreur de charge du cluster. Les valeurs autorisées doivent être comprises entre 1 et 100 (inclus). La valeur par défaut est 0 pour une pile unique et 1 pour la double pile. Int

Contraintes:
Valeur minimale = 0
Valeur maximale = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

Nom Description Valeur
publicIPPrefixes Liste des ressources de préfixe d’adresse IP publique. resourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

Nom Description Valeur
publicIPs Liste des ressources IP publiques. resourceReference[]

ManagedClusterNATGatewayProfile

Nom Description Valeur
EffectiveOutboundIPs Ressources IP sortantes effectives de la passerelle NAT de cluster. resourceReference[]
idleTimeoutInMinutes Délai d’inactivité du flux sortant souhaité en minutes. Les valeurs autorisées sont comprises entre 4 et 120 (inclus). La valeur par défaut est de 4 minutes. Int

Contraintes:
Valeur minimale = 4
Valeur maximale = 120
managedOutboundIPProfile Profil des ressources IP sortantes gérées de la passerelle NAT de cluster. ManagedClusterManagedOutboundIPProfile

ManagedClusterManagedOutboundIPProfile

Nom Description Valeur
compter Nombre souhaité d’adresses IP sortantes créées/gérées par Azure. Les valeurs autorisées doivent être comprises entre 1 et 16 (inclus). La valeur par défaut est 1. Int

Contraintes:
Valeur minimale = 1
Valeur maximale = 16

ManagedClusterPodIdentityProfile

Nom Description Valeur
allowNetworkPluginKubenet L’exécution dans Kubenet est désactivée par défaut en raison de la nature liée à la sécurité de l’identité de pod AAD et des risques d’usurpation d’adresse IP. Pour plus d’informations, consultez l’utilisation du plug-in réseau Kubenet avec AAD Pod Identity. Bool
Activé Indique si le module complémentaire d’identité de pod est activé. Bool
userAssignedIdentities Identités de pod à utiliser dans le cluster. ManagedClusterPodIdentity[]
userAssignedIdentityExceptions Exceptions d’identité de pod à autoriser. ManagedClusterPodIdentityException[]

ManagedClusterPodIdentity

Nom Description Valeur
bindingSelector Sélecteur de liaison à utiliser pour la ressource AzureIdentityBinding. corde
identité Détails de l’identité affectée par l’utilisateur. UserAssignedIdentity (obligatoire)
nom Nom de l’identité de pod. chaîne (obligatoire)
espace de noms Espace de noms de l’identité de pod. chaîne (obligatoire)

ManagedClusterPodIdentityException

Nom Description Valeur
nom Nom de l’exception d’identité de pod. chaîne (obligatoire)
espace de noms Espace de noms de l’exception d’identité de pod. chaîne (obligatoire)
podLabels Étiquettes de pod à mettre en correspondance. ManagedClusterPodIdentityExceptionPodLabels (obligatoire)

ManagedClusterPodIdentityExceptionPodLabels

Nom Description Valeur
{propriété personnalisée} corde

PrivateLinkResource

Nom Description Valeur
groupId ID de groupe de la ressource. corde
id ID de la ressource de liaison privée. corde
nom Nom de la ressource de liaison privée. corde
requiredMembers RequiredMembers de la ressource string[]
type Type de ressource. corde

ManagedClusterSecurityProfile

Nom Description Valeur
azureDefender Paramètres Azure Defender pour le profil de sécurité. ManagedClusterSecurityProfileAzureDefender

ManagedClusterSecurityProfileAzureDefender

Nom Description Valeur
Activé Indique s’il faut activer Azure Defender Bool
logAnalyticsWorkspaceResourceId ID de ressource de l’espace de travail Log Analytique à associer à Azure Defender. Quand Azure Defender est activé, ce champ est obligatoire et doit être un ID de ressource d’espace de travail valide. Quand Azure Defender est désactivé, laissez le champ vide. corde

ManagedClusterServicePrincipalProfile

Nom Description Valeur
clientId ID du principal de service. chaîne (obligatoire)
secret Mot de passe secret associé au principal de service en texte brut. corde

ManagedClusterWindowsProfile

Nom Description Valeur
adminPassword Spécifie le mot de passe du compte d’administrateur.

Longueur minimale : 8 caractères

Longueur maximale : 123 caractères

Exigences de complexité : 3 conditions sur 4 ci-dessous doivent être remplies
Comporte des caractères inférieurs
Comporte des caractères supérieurs
A un chiffre
A un caractère spécial (correspondance Regex [\W_])

Valeurs non autorisées : « abc@123 », « P@$$w 0rd », « P@ssw0rd », « P@ssword123 », « Pa$$word », « pass@word1 », « Password ! », « Password1 », « Password22 », « iloveyou ! »
corde
adminUsername Spécifie le nom du compte d’administrateur.

restriction : impossible de se terminer par « ».

Valeurs non autorisées : « administrateur », « admin », « user », « user1 », « test », « user2 », « test1 », « user3 », « admin1 », « admin1 », « 1 », « 123 », « a », « actuser », « adm », « admin2 », « aspnet », « backup », « console », « david », « guest », « john », « owner », « root », « server », « sql », « support », « support_388945a0 », « sys », « test2 », « test3 », « user4 », « user5 ».

Longueur minimale : 1 caractère

Longueur maximale : 20 caractères
chaîne (obligatoire)
enableCSIProxy Pour plus d’informations sur le proxy CSI, consultez le dépôt GitHub du proxy CSI. Bool
gmsaProfile Profil gMSA Windows dans le cluster managé. windowsGmsaProfile
licenseType Type de licence à utiliser pour les machines virtuelles Windows. Pour plus d’informations, consultez Azure Hybrid User Benefits. 'None'
'Windows_Server'

WindowsGmsaProfile

Nom Description Valeur
dnsServer Spécifie le serveur DNS pour Windows gMSA.

Définissez-le sur vide si vous avez configuré le serveur DNS dans le réseau virtuel utilisé pour créer le cluster managé.
corde
Activé Spécifie s’il faut activer gMSA Windows dans le cluster managé. Bool
rootDomainName Spécifie le nom de domaine racine pour Windows gMSA.

Définissez-le sur vide si vous avez configuré le serveur DNS dans le réseau virtuel utilisé pour créer le cluster managé.
corde

ManagedClusterSKU

Nom Description Valeur
nom Nom d’une référence SKU de cluster managé. 'De base'
niveau S’il n’est pas spécifié, la valeur par défaut est « Free ». Pour plus d’informations, consultez contrat SLA de temps d’activité. 'Free'
'Payé'

Modèles de démarrage rapide

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

Modèle Description
CI/CD à l’aide de Jenkins sur azure Container Service (AKS)

Déployer sur Azure
Les conteneurs facilitent la création et le déploiement continus de vos applications. En orchestrant le déploiement de ces conteneurs à l’aide de Kubernetes dans Azure Container Service, vous pouvez obtenir des clusters réplicables et gérables de conteneurs. En configurant une build continue pour produire vos images conteneur et l’orchestration, vous pouvez augmenter la vitesse et la fiabilité de votre déploiement.
min.io de passerelle Azure

Déployer sur Azure
Déploiement de passerelle Azure entièrement privé min.io pour fournir une API de stockage conforme S3 soutenue par le stockage d’objets blob
cluster AKS avec une passerelle NAT et un Application Gateway

Déployer sur Azure
Cet exemple montre comment déployer un cluster AKS avec NAT Gateway pour les connexions sortantes et une passerelle Application Gateway pour les connexions entrantes.
créer un de cluster AKS privé

Déployer sur Azure
Cet exemple montre comment créer un cluster AKS privé dans un réseau virtuel avec une machine virtuelle jumpbox.
créer un cluster AKS privé avec une zone DNS publique

Déployer sur Azure
Cet exemple montre comment déployer un cluster AKS privé avec une zone DNS publique.
Déployer un cluster Kubernetes managé (AKS)

Déployer sur Azure
Ce modèle ARM illustre le déploiement d’une instance AKS avec des fonctionnalités réseau avancées dans un réseau virtuel existant. En outre, le principal de service choisi est affecté au rôle Contributeur réseau sur le sous-réseau qui contient le cluster AKS.
Déployer un cluster Kubernetes managé avec AAD (AKS)

Déployer sur Azure
Ce modèle ARM illustre le déploiement d’une instance AKS avec des fonctionnalités réseau avancées dans un réseau virtuel existant et l’entier Azure AD. En outre, le principal de service choisi est affecté au rôle Contributeur réseau sur le sous-réseau qui contient le cluster AKS.
Déployer un cluster AKS pour Azure ML

Déployer sur Azure
Ce modèle vous permet de déployer un cluster AKS conforme à l’entreprise qui peut être attaché à Azure ML
Azure Container Service (AKS)

Déployer sur Azure
Déployer un cluster managé avec Azure Container Service (AKS)
Azure Container Service (AKS)

Déployer sur Azure
Déployer un cluster managé avec Azure Container Service (AKS) à l’aide d’hôtes de conteneur Linux Azure
Azure Container Service (AKS) avec Helm

Déployer sur Azure
Déployer un cluster managé avec Azure Container Service (AKS) avec Helm
Azure Kubernetes Service (AKS)

Déployer sur Azure
Déploie un cluster Kubernetes managé via Azure Kubernetes Service (AKS)
cluster AKS avec le contrôleur d’entrée Application Gateway

Déployer sur Azure
Cet exemple montre comment déployer un cluster AKS avec Application Gateway, Application Gateway Ingress Controller, Azure Container Registry, Log Analytique et Key Vault

Définition de ressource de modèle ARM

Le type de ressource managedClusters 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.

Remarques

Pour plus d’informations sur les modules complémentaires disponibles, consultez modules complémentaires, extensions et autres intégrations avec Azure Kubernetes Service.

Format de ressource

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

{
  "type": "Microsoft.ContainerService/managedClusters",
  "apiVersion": "2022-03-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "sku": {
    "name": "Basic",
    "tier": "string"
  },
  "extendedLocation": {
    "name": "string",
    "type": "EdgeZone"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "properties": {
    "aadProfile": {
      "adminGroupObjectIDs": [ "string" ],
      "clientAppID": "string",
      "enableAzureRBAC": "bool",
      "managed": "bool",
      "serverAppID": "string",
      "serverAppSecret": "string",
      "tenantID": "string"
    },
    "addonProfiles": {
      "{customized property}": {
        "config": {
          "{customized property}": "string"
        },
        "enabled": "bool"
      }
    },
    "agentPoolProfiles": [
      {
        "availabilityZones": [ "string" ],
        "count": "int",
        "creationData": {
          "sourceResourceId": "string"
        },
        "enableAutoScaling": "bool",
        "enableEncryptionAtHost": "bool",
        "enableFIPS": "bool",
        "enableNodePublicIP": "bool",
        "enableUltraSSD": "bool",
        "gpuInstanceProfile": "string",
        "kubeletConfig": {
          "allowedUnsafeSysctls": [ "string" ],
          "containerLogMaxFiles": "int",
          "containerLogMaxSizeMB": "int",
          "cpuCfsQuota": "bool",
          "cpuCfsQuotaPeriod": "string",
          "cpuManagerPolicy": "string",
          "failSwapOn": "bool",
          "imageGcHighThreshold": "int",
          "imageGcLowThreshold": "int",
          "podMaxPids": "int",
          "topologyManagerPolicy": "string"
        },
        "kubeletDiskType": "string",
        "linuxOSConfig": {
          "swapFileSizeMB": "int",
          "sysctls": {
            "fsAioMaxNr": "int",
            "fsFileMax": "int",
            "fsInotifyMaxUserWatches": "int",
            "fsNrOpen": "int",
            "kernelThreadsMax": "int",
            "netCoreNetdevMaxBacklog": "int",
            "netCoreOptmemMax": "int",
            "netCoreRmemDefault": "int",
            "netCoreRmemMax": "int",
            "netCoreSomaxconn": "int",
            "netCoreWmemDefault": "int",
            "netCoreWmemMax": "int",
            "netIpv4IpLocalPortRange": "string",
            "netIpv4NeighDefaultGcThresh1": "int",
            "netIpv4NeighDefaultGcThresh2": "int",
            "netIpv4NeighDefaultGcThresh3": "int",
            "netIpv4TcpFinTimeout": "int",
            "netIpv4TcpkeepaliveIntvl": "int",
            "netIpv4TcpKeepaliveProbes": "int",
            "netIpv4TcpKeepaliveTime": "int",
            "netIpv4TcpMaxSynBacklog": "int",
            "netIpv4TcpMaxTwBuckets": "int",
            "netIpv4TcpTwReuse": "bool",
            "netNetfilterNfConntrackBuckets": "int",
            "netNetfilterNfConntrackMax": "int",
            "vmMaxMapCount": "int",
            "vmSwappiness": "int",
            "vmVfsCachePressure": "int"
          },
          "transparentHugePageDefrag": "string",
          "transparentHugePageEnabled": "string"
        },
        "maxCount": "int",
        "maxPods": "int",
        "minCount": "int",
        "mode": "string",
        "name": "string",
        "nodeLabels": {
          "{customized property}": "string"
        },
        "nodePublicIPPrefixID": "string",
        "nodeTaints": [ "string" ],
        "orchestratorVersion": "string",
        "osDiskSizeGB": "int",
        "osDiskType": "string",
        "osSKU": "string",
        "osType": "string",
        "podSubnetID": "string",
        "powerState": {
          "code": "string"
        },
        "proximityPlacementGroupID": "string",
        "scaleDownMode": "string",
        "scaleSetEvictionPolicy": "string",
        "scaleSetPriority": "string",
        "spotMaxPrice": "[json('decimal-as-string')]",
        "tags": {},
        "type": "string",
        "upgradeSettings": {
          "maxSurge": "string"
        },
        "vmSize": "string",
        "vnetSubnetID": "string",
        "workloadRuntime": "string"
      }
    ],
    "apiServerAccessProfile": {
      "authorizedIPRanges": [ "string" ],
      "disableRunCommand": "bool",
      "enablePrivateCluster": "bool",
      "enablePrivateClusterPublicFQDN": "bool",
      "privateDNSZone": "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"
    },
    "autoUpgradeProfile": {
      "upgradeChannel": "string"
    },
    "disableLocalAccounts": "bool",
    "diskEncryptionSetID": "string",
    "dnsPrefix": "string",
    "enablePodSecurityPolicy": "bool",
    "enableRBAC": "bool",
    "fqdnSubdomain": "string",
    "httpProxyConfig": {
      "httpProxy": "string",
      "httpsProxy": "string",
      "noProxy": [ "string" ],
      "trustedCa": "string"
    },
    "identityProfile": {
      "{customized property}": {
        "clientId": "string",
        "objectId": "string",
        "resourceId": "string"
      }
    },
    "kubernetesVersion": "string",
    "linuxProfile": {
      "adminUsername": "string",
      "ssh": {
        "publicKeys": [
          {
            "keyData": "string"
          }
        ]
      }
    },
    "networkProfile": {
      "dnsServiceIP": "string",
      "dockerBridgeCidr": "string",
      "ipFamilies": [ "string" ],
      "loadBalancerProfile": {
        "allocatedOutboundPorts": "int",
        "effectiveOutboundIPs": [
          {
            "id": "string"
          }
        ],
        "enableMultipleStandardLoadBalancers": "bool",
        "idleTimeoutInMinutes": "int",
        "managedOutboundIPs": {
          "count": "int",
          "countIPv6": "int"
        },
        "outboundIPPrefixes": {
          "publicIPPrefixes": [
            {
              "id": "string"
            }
          ]
        },
        "outboundIPs": {
          "publicIPs": [
            {
              "id": "string"
            }
          ]
        }
      },
      "loadBalancerSku": "string",
      "natGatewayProfile": {
        "effectiveOutboundIPs": [
          {
            "id": "string"
          }
        ],
        "idleTimeoutInMinutes": "int",
        "managedOutboundIPProfile": {
          "count": "int"
        }
      },
      "networkMode": "string",
      "networkPlugin": "string",
      "networkPolicy": "string",
      "outboundType": "string",
      "podCidr": "string",
      "podCidrs": [ "string" ],
      "serviceCidr": "string",
      "serviceCidrs": [ "string" ]
    },
    "nodeResourceGroup": "string",
    "podIdentityProfile": {
      "allowNetworkPluginKubenet": "bool",
      "enabled": "bool",
      "userAssignedIdentities": [
        {
          "bindingSelector": "string",
          "identity": {
            "clientId": "string",
            "objectId": "string",
            "resourceId": "string"
          },
          "name": "string",
          "namespace": "string"
        }
      ],
      "userAssignedIdentityExceptions": [
        {
          "name": "string",
          "namespace": "string",
          "podLabels": {
            "{customized property}": "string"
          }
        }
      ]
    },
    "privateLinkResources": [
      {
        "groupId": "string",
        "id": "string",
        "name": "string",
        "requiredMembers": [ "string" ],
        "type": "string"
      }
    ],
    "publicNetworkAccess": "string",
    "securityProfile": {
      "azureDefender": {
        "enabled": "bool",
        "logAnalyticsWorkspaceResourceId": "string"
      }
    },
    "servicePrincipalProfile": {
      "clientId": "string",
      "secret": "string"
    },
    "windowsProfile": {
      "adminPassword": "string",
      "adminUsername": "string",
      "enableCSIProxy": "bool",
      "gmsaProfile": {
        "dnsServer": "string",
        "enabled": "bool",
        "rootDomainName": "string"
      },
      "licenseType": "string"
    }
  }
}

Valeurs de propriété

managedClusters

Nom Description Valeur
type Type de ressource 'Microsoft.ContainerService/managedClusters'
apiVersion Version de l’API de ressource '2022-03-01'
nom Nom de la ressource chaîne (obligatoire)

Limite de caractères : 1 à 63

Caractères valides :
Alphanumériques, traits de soulignement et traits d’union.

Commencez et terminez par alphanumérique.
emplacement Emplacement géographique où réside la ressource chaîne (obligatoire)
étiquettes Balises de ressource. Dictionnaire de noms et de valeurs d’étiquettes. Consultez les balises dans les modèles
Sku Référence SKU de cluster managé. ManagedClusterSKU
extendedLocation Emplacement étendu de la machine virtuelle. ExtendedLocation
identité Identité du cluster managé, s’il est configuré. ManagedClusterIdentity
Propriétés Propriétés d’un cluster managé. ManagedClusterProperties

ExtendedLocation

Nom Description Valeur
nom Nom de l’emplacement étendu. corde
type Type de l’emplacement étendu. 'EdgeZone'

ManagedClusterIdentity

Nom Description Valeur
type Pour plus d’informations, consultez utiliser des identités managées dans AKS. 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities Les clés doivent être des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} ». ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

Nom Description Valeur
{propriété personnalisée} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

Cet objet ne contient aucune propriété à définir pendant le déploiement. Toutes les propriétés sont ReadOnly.

ManagedClusterProperties

Nom Description Valeur
aadProfile Configuration d’Azure Active Directory. ManagedClusterAADProfile
addonProfiles Profil du module complémentaire de cluster managé. ManagedClusterPropertiesAddonProfiles
agentPoolProfiles Propriétés du pool d’agents. ManagedClusterAgentPoolProfile[]
apiServerAccessProfile Profil d’accès pour le serveur d’API de cluster managé. ManagedClusterAPIServerAccessProfile
autoScalerProfile Paramètres à appliquer à la mise à l’échelle automatique du cluster en cas d’activation ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile Configuration de la mise à niveau automatique. ManagedClusterAutoUpgradeProfile
disableLocalAccounts Si la valeur est true, l’obtention d’informations d’identification statiques est désactivée pour ce cluster. Cela ne doit être utilisé que sur les clusters managés activés par AAD. Pour plus d’informations, consultez désactiver les comptes locaux. Bool
diskEncryptionSetID Il s’agit de la forme suivante : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName} » corde
dnsPrefix Cette opération ne peut pas être mise à jour une fois le cluster managé créé. corde
enablePodSecurityPolicy (DÉPRÉCIATION) Indique s’il faut activer la stratégie de sécurité des pods Kubernetes (préversion). Cette fonctionnalité est définie pour suppression le 15 octobre 2020. En savoir plus sur aka.ms/aks/azpodpolicy. Bool
enableRBAC Indique s’il faut activer Kubernetes Role-Based contrôle d’accès. Bool
fqdnSubdomain Cette opération ne peut pas être mise à jour une fois le cluster managé créé. corde
httpProxyConfig Configurations pour l’approvisionnement du cluster avec des serveurs proxy HTTP. ManagedClusterHttpProxyConfig
identityProfile Identités associées au cluster. ManagedClusterPropertiesIdentityProfile
kubernetesVersion Lorsque vous mettez à niveau un cluster AKS pris en charge, les versions mineures de Kubernetes ne peuvent pas être ignorées. Toutes les mises à niveau doivent être effectuées séquentiellement par numéro de version principal. Par exemple, les mises à niveau entre 1.14.x -> 1.15.x ou 1.15.x -> 1.16.x sont autorisées, mais 1.14.x -> 1.16.x n’est pas autorisée. Pour plus d’informations, consultez mise à niveau d’un cluster AKS. corde
linuxProfile Profil pour les machines virtuelles Linux dans le cluster managé. ContainerServiceLinuxProfile
networkProfile Profil de configuration réseau. ContainerServiceNetworkProfile
nodeResourceGroup Nom du groupe de ressources contenant des nœuds de pool d’agents. corde
podIdentityProfile Consultez utiliser l’identité de pod AAD pour plus d’informations sur l’intégration des identités de pod AAD. ManagedClusterPodIdentityProfile
privateLinkResources Ressources de liaison privée associées au cluster. privateLinkResource[]
publicNetworkAccess Autoriser ou refuser l’accès au réseau public pour AKS 'Désactivé'
'Activé'
securityProfile Profil de sécurité pour le cluster managé. ManagedClusterSecurityProfile
servicePrincipalProfile Informations sur une identité de principal de service pour le cluster à utiliser pour manipuler des API Azure. ManagedClusterServicePrincipalProfile
windowsProfile Profil des machines virtuelles Windows dans le cluster managé. ManagedClusterWindowsProfile

ManagedClusterAADProfile

Nom Description Valeur
adminGroupObjectIDs Liste des ID d’objet de groupe AAD qui auront le rôle d’administrateur du cluster. string[]
clientAppID ID d’application AAD client. corde
enableAzureRBAC Indique s’il faut activer Azure RBAC pour l’autorisation Kubernetes. Bool
Géré Indique s’il faut activer AAD managé. Bool
serverAppID ID d’application AAD du serveur. corde
serverAppSecret Secret de l’application AAD du serveur. corde
tenantID ID de locataire AAD à utiliser pour l’authentification. S’il n’est pas spécifié, utilisez le locataire de l’abonnement de déploiement. corde

ManagedClusterPropertiesAddonProfiles

Nom Description Valeur
{propriété personnalisée} ManagedClusterAddonProfile

ManagedClusterAddonProfile

Nom Description Valeur
config Paires clé-valeur pour la configuration d’un module complémentaire. ManagedClusterAddonProfileConfig
Activé Indique si le module complémentaire est activé ou non. bool (obligatoire)

ManagedClusterAddonProfileConfig

Nom Description Valeur
{propriété personnalisée} corde

ManagedClusterAgentPoolProfile

Nom Description Valeur
availabilityZones Liste des zones de disponibilité à utiliser pour les nœuds. Cela ne peut être spécifié que si la propriété AgentPoolType est « VirtualMachineScaleSets ». string[]
compter Nombre d’agents (machines virtuelles) pour héberger des conteneurs Docker. Les valeurs autorisées doivent être comprises entre 0 et 1 000 (inclus) pour les pools d’utilisateurs et dans la plage comprise entre 1 et 1 000 (inclus) pour les pools système. La valeur par défaut est 1. Int
creationData CreationData à utiliser pour spécifier l’ID d’instantané source si le pool de nœuds sera créé/mis à niveau à l’aide d’un instantané. CreationData
enableAutoScaling Indique s’il faut activer la mise à l’échelle automatique Bool
enableEncryptionAtHost Cela n’est pris en charge que sur certaines tailles de machine virtuelle et dans certaines régions Azure. Pour plus d’informations, consultez : /azure/aks/enable-host-encryption Bool
enableFIPS Pour plus d’informations, consultez Ajouter un pool de nœuds compatible FIPS. Bool
enableNodePublicIP Certains scénarios peuvent nécessiter des nœuds dans un pool de nœuds pour recevoir leurs propres adresses IP publiques dédiées. Un scénario courant concerne les charges de travail de jeu, où une console doit établir une connexion directe à une machine virtuelle cloud afin de réduire les tronçons. Pour plus d’informations, consultez affectation d’une adresse IP publique par nœud. La valeur par défaut est false. Bool
enableUltraSSD Indique s’il faut activer UltraSSD Bool
gpuInstanceProfile GPUInstanceProfile à utiliser pour spécifier le profil d’instance GPU MIG pour la référence SKU de machine virtuelle GPU prise en charge. 'MIG1g'
'MIG2g'
'MIG3g'
'MIG4g'
'MIG7g'
kubeletConfig Configuration Kubelet sur les nœuds du pool d’agents. KubeletConfig
kubeletDiskType Détermine le placement des volumes emptyDir, de la racine des données du runtime de conteneur et du stockage éphémère Kubelet. 'OS'
'Temporaire'
linuxOSConfig Configuration du système d’exploitation des nœuds de l’agent Linux. LinuxOSConfig
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
mode Un cluster doit avoir au moins un pool d’agents « Système » à tout moment. Pour plus d’informations sur les restrictions de pool d’agents et les meilleures pratiques, consultez : /azure/aks/use-system-pools 'System'
'User'
nom Les noms de pool d’agents Windows doivent être de 6 caractères ou moins. chaîne (obligatoire)

Contraintes:
Modèle = ^[a-z][a-z0-9]{0,11}$
nodeLabels Étiquettes de nœud à conserver sur tous les nœuds du pool d’agents. ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodePublicIPPrefixID Il s’agit de la forme suivante : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} corde
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[]
orchestratorVersion En guise de meilleure pratique, vous devez mettre à niveau tous les pools de nœuds d’un cluster AKS vers la même version de Kubernetes. La version du pool de nœuds doit avoir la même version principale que le plan de contrôle. La version mineure du pool de nœuds doit se trouver dans deux versions mineures de la version du plan de contrôle. La version du pool de nœuds ne peut pas être supérieure à la version du plan de contrôle. Pour plus d’informations, consultez mise à niveau d’un pool de nœuds. corde
osDiskSizeGB Taille du disque du système d’exploitation en Go à utiliser pour spécifier la taille du disque pour chaque ordinateur du pool maître/agent. Si vous spécifiez 0, elle applique la taille osDisk par défaut en fonction de vmSize spécifiée. Int

Contraintes:
Valeur minimale = 0
Valeur maximale = 2048
osDiskType La valeur par défaut est « Éphémère » si la machine virtuelle la prend en charge et a un disque de cache supérieur à celui demandé d’OSDiskSizeGB. Sinon, la valeur par défaut est « Gérée ». Peut ne pas être modifié après la création. Pour plus d’informations, consultez système d’exploitation éphémère. 'Éphémère'
'Managed'
osSKU Spécifie une référence SKU de système d’exploitation. Cette valeur ne doit pas être spécifiée si OSType est Windows. 'CBLMarinr'
'Ubuntu'
osType Type de système d’exploitation. La valeur par défaut est Linux. 'Linux'
'Windows'
podSubnetID En cas d’omission, les adresses IP de pod sont affectées statiquement sur le sous-réseau de nœud (voir vnetSubnetID pour plus d’informations). Il s’agit de la forme suivante : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} corde
powerState Lorsqu’un pool d’agents est créé pour la première fois, il est en cours d’exécution. Le pool d’agents peut être arrêté en définissant ce champ sur Arrêté. Un pool d’agents arrêté arrête toutes ses machines virtuelles et n’accumule pas de frais de facturation. Un pool d’agents ne peut être arrêté que s’il est en cours d’exécution et si l’état d’approvisionnement est Réussi PowerState
proximityPlacementGroupID ID du groupe de placement de proximité. corde
scaleDownMode Cela affecte également le comportement du générateur de mise à l’échelle automatique du cluster. S’il n’est pas spécifié, il est défini par défaut sur Delete. 'Libérer'
'Supprimer'
scaleSetEvictionPolicy Cela ne peut pas être spécifié, sauf si scaleSetPriority est « Spot ». S’il n’est pas spécifié, la valeur par défaut est « Supprimer ». 'Libérer'
'Supprimer'
scaleSetPriority Priorité du groupe de machines virtuelles identiques. S’il n’est pas spécifié, la valeur par défaut est « Standard ». 'Normal'
'Spot'
spotMaxPrice Les valeurs possibles sont une valeur décimale supérieure à zéro ou -1 qui indique la volonté de payer n’importe quel prix à la demande. Pour plus d’informations sur la tarification spot, consultez tarification des machines virtuelles spot Pour spécifier une valeur décimale, utilisez la fonction json(). int ou json decimal
étiquettes Balises à conserver sur le groupe de machines virtuelles identiques du pool d’agents. objet
type Type de pool d’agents. 'AvailabilitySet'
'VirtualMachineScaleSets'
upgradeSettings Paramètres de mise à niveau du pool d’agents AgentPoolUpgradeSettings
vmSize La disponibilité de la taille des machines virtuelles varie selon la région. Si un nœud contient des ressources de calcul insuffisantes (mémoire, processeur, etc.) les pods peuvent échouer à s’exécuter correctement. Pour plus d’informations sur les tailles de machine virtuelle restreintes, consultez : /azure/aks/quotas-skus-regions corde
vnetSubnetID Si ce n’est pas spécifié, un réseau virtuel et un sous-réseau sont générés et utilisés. Si aucun podSubnetID n’est spécifié, cela s’applique aux nœuds et aux pods, sinon il s’applique uniquement aux nœuds. Il s’agit de la forme suivante : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} corde
workloadRuntime Détermine le type de charge de travail qu’un nœud peut exécuter. 'OCIContainer'
'WasmWasi'

CreationData

Nom Description Valeur
sourceResourceId Il s’agit de l’ID ARM de l’objet source à utiliser pour créer l’objet cible. corde

KubeletConfig

Nom Description Valeur
allowedUnsafeSysctls Liste autorisée de sysctls non sécurisés ou de modèles sysctl non sécurisés (se terminant par *). string[]
containerLogMaxFiles Nombre maximal de fichiers journaux de conteneur pouvant être présents pour un conteneur. Le nombre doit être ≥ 2. Int

Contraintes:
Valeur minimale = 2
containerLogMaxSizeMB Taille maximale (par exemple, 10Mi) du fichier journal conteneur avant sa rotation. Int
cpuCfsQuota La valeur par défaut est true. Bool
cpuCfsQuotaPeriod La valeur par défaut est « 100ms ». Les valeurs valides sont une séquence de nombres décimaux avec une fraction facultative et un suffixe d’unité. Par exemple : « 300ms », « 2h45m ». Les unités prises en charge sont « ns », « us », « ms », « s », « m » et « h ». corde
cpuManagerPolicy La valeur par défaut est « none ». Pour plus d’informations, consultez stratégies de gestion du processeur Kubernetes. Les valeurs autorisées sont « none » et « static ». corde
failSwapOn Si la valeur est true, kubelet ne démarre pas si l’échange est activé sur le nœud. Bool
imageGcHighThreshold Pour désactiver le garbage collection d’images, définissez sur 100. La valeur par défaut est 85% Int
imageGcLowThreshold Cela ne peut pas être défini plus haut que imageGcHighThreshold. La valeur par défaut est 80% Int
podMaxPids Nombre maximal de processus par pod. Int
topologyManagerPolicy Pour plus d’informations, consultez Gestionnaire de topologie Kubernetes. La valeur par défaut est « none ». Les valeurs autorisées sont « none », « best-effort », « restricted » et « single-numa-node ». corde

LinuxOSConfig

Nom Description Valeur
swapFileSizeMB Taille en Mo d’un fichier d’échange qui sera créé sur chaque nœud. Int
sysctls Paramètres Sysctl pour les nœuds d’agent Linux. SysctlConfig
transparentHugePageDefrag Les valeurs valides sont « always », « defer », « defer+madvise », « madvise » et « never ». La valeur par défaut est « madvise ». Pour plus d’informations, consultez Transparent Hugepages. corde
transparentHugePageEnabled Les valeurs valides sont « always », « madvise » et « never ». La valeur par défaut est « always ». Pour plus d’informations, consultez Transparent Hugepages. corde

SysctlConfig

Nom Description Valeur
fsAioMaxNr Paramètre Sysctl fs.aio-max-nr. Int
fsFileMax Paramètre Sysctl fs.file-max. Int
fsInotifyMaxUserWatches Paramètre Sysctl fs.inotify.max_user_watch. Int
fsNrOpen Paramètre Sysctl fs.nr_open. Int
kernelThreadsMax Sysctl définissant kernel.threads-max. Int
netCoreNetdevMaxBacklog Paramètre Sysctl net.core.netdev_max_backlog. Int
netCoreOptmemMax Paramètre Sysctl net.core.optmem_max. Int
netCoreRmemDefault Paramètre Sysctl net.core.rmem_default. Int
netCoreRmemMax Paramètre Sysctl net.core.rmem_max. Int
netCoreSomaxconn Sysctl définissant net.core.somaxconn. Int
netCoreWmemDefault Paramètre Sysctl net.core.wmem_default. Int
netCoreWmemMax Paramètre Sysctl net.core.wmem_max. Int
netIpv4IpLocalPortRange Paramètre Sysctl net.ipv4.ip_local_port_range. corde
netIpv4NeighDefaultGcThresh1 Paramètre Sysctl net.ipv4.neigh.default.gc_thresh1. Int
netIpv4NeighDefaultGcThresh2 Paramètre Sysctl net.ipv4.neigh.default.gc_thresh2. Int
netIpv4NeighDefaultGcThresh3 Paramètre Sysctl net.ipv4.neigh.default.gc_thresh3. Int
netIpv4TcpFinTimeout Paramètre Sysctl net.ipv4.tcp_fin_timeout. Int
netIpv4TcpkeepaliveIntvl Paramètre Sysctl net.ipv4.tcp_keepalive_intvl. Int
netIpv4TcpKeepaliveProbes Paramètre Sysctl net.ipv4.tcp_keepalive_probes. Int
netIpv4TcpKeepaliveTime Paramètre Sysctl net.ipv4.tcp_keepalive_time. Int
netIpv4TcpMaxSynBacklog Paramètre Sysctl net.ipv4.tcp_max_syn_backlog. Int
netIpv4TcpMaxTwBuckets Paramètre Sysctl net.ipv4.tcp_max_tw_buckets. Int
netIpv4TcpTwReuse Paramètre Sysctl net.ipv4.tcp_tw_reuse. Bool
netNetfilterNfConntrackBuckets Paramètre Sysctl net.netfilter.nf_conntrack_buckets. Int
netNetfilterNfConntrackMax Paramètre Sysctl net.netfilter.nf_conntrack_max. Int
vmMaxMapCount Paramètre Sysctl vm.max_map_count. Int
vmSwappiness Sysctl définissant vm.swappiness. Int
vmVfsCachePressure Paramètre Sysctl vm.vfs_cache_pressure. Int

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Nom Description Valeur
{propriété personnalisée} corde

PowerState

Nom Description Valeur
code Indique si le cluster est en cours d’exécution ou arrêté 'Running'
'Arrêté'

AgentPoolUpgradeSettings

Nom Description Valeur
maxSurge Cela peut être défini sur un entier (par exemple, « 5 ») ou sur un pourcentage (par exemple, « 50%»). Si un pourcentage est spécifié, il s’agit du pourcentage de la taille totale du pool d’agents au moment de la mise à niveau. Pour les pourcentages, les nœuds fractionnaires sont arrondis. S’il n’est pas spécifié, la valeur par défaut est 1. Pour plus d’informations, notamment les meilleures pratiques, consultez : /azure/aks/upgrade-cluster#customize-node-surge-upgrade corde

ManagedClusterAPIServerAccessProfile

Nom Description Valeur
authorizedIPRanges Les plages d’adresses IP sont spécifiées au format CIDR, par exemple 137.117.106.88/29. Cette fonctionnalité n’est pas compatible avec les clusters qui utilisent l’adresse IP publique par nœud ou les clusters qui utilisent un équilibreur de charge de base. Pour plus d’informations, consultez plages d’adresses IP autorisées du serveur d’API. string[]
disableRunCommand Indique s’il faut désactiver la commande d’exécution pour le cluster ou non. Bool
enablePrivateCluster Pour plus d’informations, consultez Création d’un cluster AKS privé. Bool
enablePrivateClusterPublicFQDN Indique s’il faut créer un nom de domaine complet public supplémentaire pour un cluster privé ou non. Bool
privateDNSZone La valeur par défaut est System. Pour plus d’informations, consultez configurer une zone DNS privée. Les valeurs autorisées sont « system » et « none ». corde

ManagedClusterPropertiesAutoScalerProfile

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

ManagedClusterAutoUpgradeProfile

Nom Description Valeur
upgradeChannel Pour plus d’informations, consultez définition du canal de mise à niveau automatique du cluster AKS. 'node-image'
'none'
'patch'
'rapid'
'stable'

ManagedClusterHttpProxyConfig

Nom Description Valeur
httpProxy Point de terminaison du serveur proxy HTTP à utiliser. corde
httpsProxy Point de terminaison du serveur proxy HTTPS à utiliser. corde
noProxy Points de terminaison qui ne doivent pas passer par proxy. string[]
trustedCa Autre certificat d’autorité de certification à utiliser pour la connexion aux serveurs proxy. corde

ManagedClusterPropertiesIdentityProfile

Nom Description Valeur
{propriété personnalisée} UserAssignedIdentity

UserAssignedIdentity

Nom Description Valeur
clientId ID client de l’identité affectée par l’utilisateur. corde
objectId ID d’objet de l’identité affectée par l’utilisateur. corde
resourceId ID de ressource de l’identité affectée par l’utilisateur. corde

ContainerServiceLinuxProfile

Nom Description Valeur
adminUsername Nom d’utilisateur administrateur à utiliser pour les machines virtuelles Linux. chaîne (obligatoire)

Contraintes:
Modèle = ^[A-Za-z][-A-Za-z0-9_]*$
ssh Configuration SSH pour les machines virtuelles Linux s’exécutant sur Azure. ContainerServiceSshConfiguration (obligatoire)

ContainerServiceSshConfiguration

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

ContainerServiceSshPublicKey

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. chaîne (obligatoire)

ContainerServiceNetworkProfile

Nom Description Valeur
dnsServiceIP Adresse IP affectée au service DNS Kubernetes. Elle doit se trouver dans la plage d’adresses du service Kubernetes spécifiée dans serviceCidr. corde

Contraintes:
Modèle = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
dockerBridgeCidr Plage d’adresses IP de notation CIDR affectée au réseau de pont Docker. Elle ne doit pas chevaucher les plages d’adresses IP de sous-réseau ou la plage d’adresses du service Kubernetes. corde

Contraintes:
Modèle = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
ipFamilies Les familles d’adresses IP sont utilisées pour déterminer des clusters à pile unique ou double pile. Pour une pile unique, la valeur attendue est IPv4. Pour la double pile, les valeurs attendues sont IPv4 et IPv6. Tableau de chaînes contenant l’un des éléments suivants :
'IPv4'
'IPv6'
loadBalancerProfile Profil de l’équilibreur de charge du cluster. ManagedClusterLoadBalancerProfile
loadBalancerSku La valeur par défaut est « standard ». Consultez références SKU Azure Load Balancer pour plus d’informations sur les différences entre les références SKU de l’équilibreur de charge. 'basic'
'standard'
natGatewayProfile Profil de la passerelle NAT de cluster. ManagedClusterNATGatewayProfile
networkMode Cela ne peut pas être spécifié si networkPlugin est autre que « azure ». 'bridge'
'transparent'
networkPlugin Plug-in réseau utilisé pour créer le réseau Kubernetes. 'azure'
'kubenet'
networkPolicy Stratégie réseau utilisée pour créer le réseau Kubernetes. 'azure'
'calico'
outboundType Cela ne peut être défini qu’au moment de la création du cluster et ne peut pas être modifié ultérieurement. Pour plus d’informations, consultez type sortant sortant. 'loadBalancer'
'managedNATGateway'
'userAssignedNATGateway'
'userDefinedRouting'
podCidr Plage d’adresses IP de notation CIDR à partir de laquelle affecter des adresses IP de pod lorsque kubenet est utilisé. corde

Contraintes:
Modèle = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
podCidrs Un CIDR IPv4 est attendu pour la mise en réseau à pile unique. Deux CIDR, un pour chaque famille IP (IPv4/IPv6), sont attendus pour la mise en réseau à double pile. string[]
serviceCidr Plage d’adresses IP de notation CIDR à partir de laquelle attribuer des adresses IP de cluster de service. Elle ne doit pas chevaucher les plages d’adresses IP de sous-réseau. corde

Contraintes:
Modèle = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidrs Un CIDR IPv4 est attendu pour la mise en réseau à pile unique. Deux CIDR, un pour chaque famille IP (IPv4/IPv6), sont attendus pour la mise en réseau à double pile. Ils ne doivent pas chevaucher les plages d’adresses IP de sous-réseau. string[]

ManagedClusterLoadBalancerProfile

Nom Description Valeur
allocationOutboundPorts Nombre souhaité de ports SNAT alloués par machine virtuelle. Les valeurs autorisées sont comprises entre 0 et 64 000 (inclus). La valeur par défaut est 0, ce qui entraîne l’allocation dynamique de ports dans Azure. Int

Contraintes:
Valeur minimale = 0
Valeur maximale = 64000
EffectiveOutboundIPs Ressources IP sortantes effectives de l’équilibreur de charge du cluster. resourceReference[]
enableMultipleStandardLoadBalancers Activez plusieurs équilibreurs de charge standard par cluster AKS ou non. Bool
idleTimeoutInMinutes Délai d’inactivité du flux sortant souhaité en minutes. Les valeurs autorisées sont comprises entre 4 et 120 (inclus). La valeur par défaut est de 30 minutes. Int

Contraintes:
Valeur minimale = 4
Valeur maximale = 120
managedOutboundIPs Adresses IP sortantes gérées souhaitées pour l’équilibreur de charge du cluster. ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes Ressources de préfixe IP sortantes souhaitées pour l’équilibreur de charge du cluster. ManagedClusterLoadBalancerProfileOutboundIPPrefixes
Adresses IP sortantes Ressources IP sortantes souhaitées pour l’équilibreur de charge du cluster. ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

Nom Description Valeur
id ID de ressource Azure complet. corde

ManagedClusterLoadBalancerProfileManagedOutboundIPs

Nom Description Valeur
compter Nombre souhaité d’adresses IP sortantes IPv4 créées/gérées par Azure pour l’équilibreur de charge du cluster. Les valeurs autorisées doivent être comprises entre 1 et 100 (inclus). La valeur par défaut est 1. Int

Contraintes:
Valeur minimale = 1
Valeur maximale = 100
countIPv6 Nombre souhaité d’adresses IP sortantes IPv6 créées/gérées par Azure pour l’équilibreur de charge du cluster. Les valeurs autorisées doivent être comprises entre 1 et 100 (inclus). La valeur par défaut est 0 pour une pile unique et 1 pour la double pile. Int

Contraintes:
Valeur minimale = 0
Valeur maximale = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

Nom Description Valeur
publicIPPrefixes Liste des ressources de préfixe d’adresse IP publique. resourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

Nom Description Valeur
publicIPs Liste des ressources IP publiques. resourceReference[]

ManagedClusterNATGatewayProfile

Nom Description Valeur
EffectiveOutboundIPs Ressources IP sortantes effectives de la passerelle NAT de cluster. resourceReference[]
idleTimeoutInMinutes Délai d’inactivité du flux sortant souhaité en minutes. Les valeurs autorisées sont comprises entre 4 et 120 (inclus). La valeur par défaut est de 4 minutes. Int

Contraintes:
Valeur minimale = 4
Valeur maximale = 120
managedOutboundIPProfile Profil des ressources IP sortantes gérées de la passerelle NAT de cluster. ManagedClusterManagedOutboundIPProfile

ManagedClusterManagedOutboundIPProfile

Nom Description Valeur
compter Nombre souhaité d’adresses IP sortantes créées/gérées par Azure. Les valeurs autorisées doivent être comprises entre 1 et 16 (inclus). La valeur par défaut est 1. Int

Contraintes:
Valeur minimale = 1
Valeur maximale = 16

ManagedClusterPodIdentityProfile

Nom Description Valeur
allowNetworkPluginKubenet L’exécution dans Kubenet est désactivée par défaut en raison de la nature liée à la sécurité de l’identité de pod AAD et des risques d’usurpation d’adresse IP. Pour plus d’informations, consultez l’utilisation du plug-in réseau Kubenet avec AAD Pod Identity. Bool
Activé Indique si le module complémentaire d’identité de pod est activé. Bool
userAssignedIdentities Identités de pod à utiliser dans le cluster. ManagedClusterPodIdentity[]
userAssignedIdentityExceptions Exceptions d’identité de pod à autoriser. ManagedClusterPodIdentityException[]

ManagedClusterPodIdentity

Nom Description Valeur
bindingSelector Sélecteur de liaison à utiliser pour la ressource AzureIdentityBinding. corde
identité Détails de l’identité affectée par l’utilisateur. UserAssignedIdentity (obligatoire)
nom Nom de l’identité de pod. chaîne (obligatoire)
espace de noms Espace de noms de l’identité de pod. chaîne (obligatoire)

ManagedClusterPodIdentityException

Nom Description Valeur
nom Nom de l’exception d’identité de pod. chaîne (obligatoire)
espace de noms Espace de noms de l’exception d’identité de pod. chaîne (obligatoire)
podLabels Étiquettes de pod à mettre en correspondance. ManagedClusterPodIdentityExceptionPodLabels (obligatoire)

ManagedClusterPodIdentityExceptionPodLabels

Nom Description Valeur
{propriété personnalisée} corde

PrivateLinkResource

Nom Description Valeur
groupId ID de groupe de la ressource. corde
id ID de la ressource de liaison privée. corde
nom Nom de la ressource de liaison privée. corde
requiredMembers RequiredMembers de la ressource string[]
type Type de ressource. corde

ManagedClusterSecurityProfile

Nom Description Valeur
azureDefender Paramètres Azure Defender pour le profil de sécurité. ManagedClusterSecurityProfileAzureDefender

ManagedClusterSecurityProfileAzureDefender

Nom Description Valeur
Activé Indique s’il faut activer Azure Defender Bool
logAnalyticsWorkspaceResourceId ID de ressource de l’espace de travail Log Analytique à associer à Azure Defender. Quand Azure Defender est activé, ce champ est obligatoire et doit être un ID de ressource d’espace de travail valide. Quand Azure Defender est désactivé, laissez le champ vide. corde

ManagedClusterServicePrincipalProfile

Nom Description Valeur
clientId ID du principal de service. chaîne (obligatoire)
secret Mot de passe secret associé au principal de service en texte brut. corde

ManagedClusterWindowsProfile

Nom Description Valeur
adminPassword Spécifie le mot de passe du compte d’administrateur.

Longueur minimale : 8 caractères

Longueur maximale : 123 caractères

Exigences de complexité : 3 conditions sur 4 ci-dessous doivent être remplies
Comporte des caractères inférieurs
Comporte des caractères supérieurs
A un chiffre
A un caractère spécial (correspondance Regex [\W_])

Valeurs non autorisées : « abc@123 », « P@$$w 0rd », « P@ssw0rd », « P@ssword123 », « Pa$$word », « pass@word1 », « Password ! », « Password1 », « Password22 », « iloveyou ! »
corde
adminUsername Spécifie le nom du compte d’administrateur.

restriction : impossible de se terminer par « ».

Valeurs non autorisées : « administrateur », « admin », « user », « user1 », « test », « user2 », « test1 », « user3 », « admin1 », « admin1 », « 1 », « 123 », « a », « actuser », « adm », « admin2 », « aspnet », « backup », « console », « david », « guest », « john », « owner », « root », « server », « sql », « support », « support_388945a0 », « sys », « test2 », « test3 », « user4 », « user5 ».

Longueur minimale : 1 caractère

Longueur maximale : 20 caractères
chaîne (obligatoire)
enableCSIProxy Pour plus d’informations sur le proxy CSI, consultez le dépôt GitHub du proxy CSI. Bool
gmsaProfile Profil gMSA Windows dans le cluster managé. windowsGmsaProfile
licenseType Type de licence à utiliser pour les machines virtuelles Windows. Pour plus d’informations, consultez Azure Hybrid User Benefits. 'None'
'Windows_Server'

WindowsGmsaProfile

Nom Description Valeur
dnsServer Spécifie le serveur DNS pour Windows gMSA.

Définissez-le sur vide si vous avez configuré le serveur DNS dans le réseau virtuel utilisé pour créer le cluster managé.
corde
Activé Spécifie s’il faut activer gMSA Windows dans le cluster managé. Bool
rootDomainName Spécifie le nom de domaine racine pour Windows gMSA.

Définissez-le sur vide si vous avez configuré le serveur DNS dans le réseau virtuel utilisé pour créer le cluster managé.
corde

ManagedClusterSKU

Nom Description Valeur
nom Nom d’une référence SKU de cluster managé. 'De base'
niveau S’il n’est pas spécifié, la valeur par défaut est « Free ». Pour plus d’informations, consultez contrat SLA de temps d’activité. 'Free'
'Payé'

Modèles de démarrage rapide

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

Modèle Description
CI/CD à l’aide de Jenkins sur azure Container Service (AKS)

Déployer sur Azure
Les conteneurs facilitent la création et le déploiement continus de vos applications. En orchestrant le déploiement de ces conteneurs à l’aide de Kubernetes dans Azure Container Service, vous pouvez obtenir des clusters réplicables et gérables de conteneurs. En configurant une build continue pour produire vos images conteneur et l’orchestration, vous pouvez augmenter la vitesse et la fiabilité de votre déploiement.
min.io de passerelle Azure

Déployer sur Azure
Déploiement de passerelle Azure entièrement privé min.io pour fournir une API de stockage conforme S3 soutenue par le stockage d’objets blob
cluster AKS avec une passerelle NAT et un Application Gateway

Déployer sur Azure
Cet exemple montre comment déployer un cluster AKS avec NAT Gateway pour les connexions sortantes et une passerelle Application Gateway pour les connexions entrantes.
créer un de cluster AKS privé

Déployer sur Azure
Cet exemple montre comment créer un cluster AKS privé dans un réseau virtuel avec une machine virtuelle jumpbox.
créer un cluster AKS privé avec une zone DNS publique

Déployer sur Azure
Cet exemple montre comment déployer un cluster AKS privé avec une zone DNS publique.
Déployer un cluster Kubernetes managé (AKS)

Déployer sur Azure
Ce modèle ARM illustre le déploiement d’une instance AKS avec des fonctionnalités réseau avancées dans un réseau virtuel existant. En outre, le principal de service choisi est affecté au rôle Contributeur réseau sur le sous-réseau qui contient le cluster AKS.
Déployer un cluster Kubernetes managé avec AAD (AKS)

Déployer sur Azure
Ce modèle ARM illustre le déploiement d’une instance AKS avec des fonctionnalités réseau avancées dans un réseau virtuel existant et l’entier Azure AD. En outre, le principal de service choisi est affecté au rôle Contributeur réseau sur le sous-réseau qui contient le cluster AKS.
Déployer un cluster AKS pour Azure ML

Déployer sur Azure
Ce modèle vous permet de déployer un cluster AKS conforme à l’entreprise qui peut être attaché à Azure ML
Azure Container Service (AKS)

Déployer sur Azure
Déployer un cluster managé avec Azure Container Service (AKS)
Azure Container Service (AKS)

Déployer sur Azure
Déployer un cluster managé avec Azure Container Service (AKS) à l’aide d’hôtes de conteneur Linux Azure
Azure Container Service (AKS) avec Helm

Déployer sur Azure
Déployer un cluster managé avec Azure Container Service (AKS) avec Helm
Azure Kubernetes Service (AKS)

Déployer sur Azure
Déploie un cluster Kubernetes managé via Azure Kubernetes Service (AKS)
cluster AKS avec le contrôleur d’entrée Application Gateway

Déployer sur Azure
Cet exemple montre comment déployer un cluster AKS avec Application Gateway, Application Gateway Ingress Controller, Azure Container Registry, Log Analytique et Key Vault

Définition de ressource Terraform (fournisseur AzAPI)

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

  • groupes de ressources

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.ContainerService/managedClusters, ajoutez le terraform suivant à votre modèle.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ContainerService/managedClusters@2022-03-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      aadProfile = {
        adminGroupObjectIDs = [
          "string"
        ]
        clientAppID = "string"
        enableAzureRBAC = bool
        managed = bool
        serverAppID = "string"
        serverAppSecret = "string"
        tenantID = "string"
      }
      addonProfiles = {
        {customized property} = {
          config = {
            {customized property} = "string"
          }
          enabled = bool
        }
      }
      agentPoolProfiles = [
        {
          availabilityZones = [
            "string"
          ]
          count = int
          creationData = {
            sourceResourceId = "string"
          }
          enableAutoScaling = bool
          enableEncryptionAtHost = bool
          enableFIPS = bool
          enableNodePublicIP = bool
          enableUltraSSD = bool
          gpuInstanceProfile = "string"
          kubeletConfig = {
            allowedUnsafeSysctls = [
              "string"
            ]
            containerLogMaxFiles = int
            containerLogMaxSizeMB = int
            cpuCfsQuota = bool
            cpuCfsQuotaPeriod = "string"
            cpuManagerPolicy = "string"
            failSwapOn = bool
            imageGcHighThreshold = int
            imageGcLowThreshold = int
            podMaxPids = int
            topologyManagerPolicy = "string"
          }
          kubeletDiskType = "string"
          linuxOSConfig = {
            swapFileSizeMB = int
            sysctls = {
              fsAioMaxNr = int
              fsFileMax = int
              fsInotifyMaxUserWatches = int
              fsNrOpen = int
              kernelThreadsMax = int
              netCoreNetdevMaxBacklog = int
              netCoreOptmemMax = int
              netCoreRmemDefault = int
              netCoreRmemMax = int
              netCoreSomaxconn = int
              netCoreWmemDefault = int
              netCoreWmemMax = int
              netIpv4IpLocalPortRange = "string"
              netIpv4NeighDefaultGcThresh1 = int
              netIpv4NeighDefaultGcThresh2 = int
              netIpv4NeighDefaultGcThresh3 = int
              netIpv4TcpFinTimeout = int
              netIpv4TcpkeepaliveIntvl = int
              netIpv4TcpKeepaliveProbes = int
              netIpv4TcpKeepaliveTime = int
              netIpv4TcpMaxSynBacklog = int
              netIpv4TcpMaxTwBuckets = int
              netIpv4TcpTwReuse = bool
              netNetfilterNfConntrackBuckets = int
              netNetfilterNfConntrackMax = int
              vmMaxMapCount = int
              vmSwappiness = int
              vmVfsCachePressure = int
            }
            transparentHugePageDefrag = "string"
            transparentHugePageEnabled = "string"
          }
          maxCount = int
          maxPods = int
          minCount = int
          mode = "string"
          name = "string"
          nodeLabels = {
            {customized property} = "string"
          }
          nodePublicIPPrefixID = "string"
          nodeTaints = [
            "string"
          ]
          orchestratorVersion = "string"
          osDiskSizeGB = int
          osDiskType = "string"
          osSKU = "string"
          osType = "string"
          podSubnetID = "string"
          powerState = {
            code = "string"
          }
          proximityPlacementGroupID = "string"
          scaleDownMode = "string"
          scaleSetEvictionPolicy = "string"
          scaleSetPriority = "string"
          spotMaxPrice = "decimal-as-string"
          tags = {}
          type = "string"
          upgradeSettings = {
            maxSurge = "string"
          }
          vmSize = "string"
          vnetSubnetID = "string"
          workloadRuntime = "string"
        }
      ]
      apiServerAccessProfile = {
        authorizedIPRanges = [
          "string"
        ]
        disableRunCommand = bool
        enablePrivateCluster = bool
        enablePrivateClusterPublicFQDN = bool
        privateDNSZone = "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"
      }
      autoUpgradeProfile = {
        upgradeChannel = "string"
      }
      disableLocalAccounts = bool
      diskEncryptionSetID = "string"
      dnsPrefix = "string"
      enablePodSecurityPolicy = bool
      enableRBAC = bool
      fqdnSubdomain = "string"
      httpProxyConfig = {
        httpProxy = "string"
        httpsProxy = "string"
        noProxy = [
          "string"
        ]
        trustedCa = "string"
      }
      identityProfile = {
        {customized property} = {
          clientId = "string"
          objectId = "string"
          resourceId = "string"
        }
      }
      kubernetesVersion = "string"
      linuxProfile = {
        adminUsername = "string"
        ssh = {
          publicKeys = [
            {
              keyData = "string"
            }
          ]
        }
      }
      networkProfile = {
        dnsServiceIP = "string"
        dockerBridgeCidr = "string"
        ipFamilies = [
          "string"
        ]
        loadBalancerProfile = {
          allocatedOutboundPorts = int
          effectiveOutboundIPs = [
            {
              id = "string"
            }
          ]
          enableMultipleStandardLoadBalancers = bool
          idleTimeoutInMinutes = int
          managedOutboundIPs = {
            count = int
            countIPv6 = int
          }
          outboundIPPrefixes = {
            publicIPPrefixes = [
              {
                id = "string"
              }
            ]
          }
          outboundIPs = {
            publicIPs = [
              {
                id = "string"
              }
            ]
          }
        }
        loadBalancerSku = "string"
        natGatewayProfile = {
          effectiveOutboundIPs = [
            {
              id = "string"
            }
          ]
          idleTimeoutInMinutes = int
          managedOutboundIPProfile = {
            count = int
          }
        }
        networkMode = "string"
        networkPlugin = "string"
        networkPolicy = "string"
        outboundType = "string"
        podCidr = "string"
        podCidrs = [
          "string"
        ]
        serviceCidr = "string"
        serviceCidrs = [
          "string"
        ]
      }
      nodeResourceGroup = "string"
      podIdentityProfile = {
        allowNetworkPluginKubenet = bool
        enabled = bool
        userAssignedIdentities = [
          {
            bindingSelector = "string"
            identity = {
              clientId = "string"
              objectId = "string"
              resourceId = "string"
            }
            name = "string"
            namespace = "string"
          }
        ]
        userAssignedIdentityExceptions = [
          {
            name = "string"
            namespace = "string"
            podLabels = {
              {customized property} = "string"
            }
          }
        ]
      }
      privateLinkResources = [
        {
          groupId = "string"
          id = "string"
          name = "string"
          requiredMembers = [
            "string"
          ]
          type = "string"
        }
      ]
      publicNetworkAccess = "string"
      securityProfile = {
        azureDefender = {
          enabled = bool
          logAnalyticsWorkspaceResourceId = "string"
        }
      }
      servicePrincipalProfile = {
        clientId = "string"
        secret = "string"
      }
      windowsProfile = {
        adminPassword = "string"
        adminUsername = "string"
        enableCSIProxy = bool
        gmsaProfile = {
          dnsServer = "string"
          enabled = bool
          rootDomainName = "string"
        }
        licenseType = "string"
      }
    }
    sku = {
      name = "Basic"
      tier = "string"
    }
    extendedLocation = {
      name = "string"
      type = "EdgeZone"
    }
  })
}

Valeurs de propriété

managedClusters

Nom Description Valeur
type Type de ressource « Microsoft.ContainerService/managedClusters@2022-03-01 »
nom Nom de la ressource chaîne (obligatoire)

Limite de caractères : 1 à 63

Caractères valides :
Alphanumériques, traits de soulignement et traits d’union.

Commencez et terminez par alphanumérique.
emplacement Emplacement géographique où réside la ressource chaîne (obligatoire)
parent_id Pour effectuer un déploiement sur un groupe de ressources, utilisez l’ID de ce groupe de ressources. chaîne (obligatoire)
étiquettes Balises de ressource. Dictionnaire de noms et de valeurs d’étiquettes.
Sku Référence SKU de cluster managé. ManagedClusterSKU
extendedLocation Emplacement étendu de la machine virtuelle. ExtendedLocation
identité Identité du cluster managé, s’il est configuré. ManagedClusterIdentity
Propriétés Propriétés d’un cluster managé. ManagedClusterProperties

ExtendedLocation

Nom Description Valeur
nom Nom de l’emplacement étendu. corde
type Type de l’emplacement étendu. « EdgeZone »

ManagedClusterIdentity

Nom Description Valeur
type Pour plus d’informations, consultez utiliser des identités managées dans AKS. « SystemAssigned »
« UserAssigned »
identity_ids Les clés doivent être des ID de ressource ARM sous la forme : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} ». Tableau d’ID d’identité utilisateur.

ManagedClusterIdentityUserAssignedIdentities

Nom Description Valeur
{propriété personnalisée} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

Cet objet ne contient aucune propriété à définir pendant le déploiement. Toutes les propriétés sont ReadOnly.

ManagedClusterProperties

Nom Description Valeur
aadProfile Configuration d’Azure Active Directory. ManagedClusterAADProfile
addonProfiles Profil du module complémentaire de cluster managé. ManagedClusterPropertiesAddonProfiles
agentPoolProfiles Propriétés du pool d’agents. ManagedClusterAgentPoolProfile[]
apiServerAccessProfile Profil d’accès pour le serveur d’API de cluster managé. ManagedClusterAPIServerAccessProfile
autoScalerProfile Paramètres à appliquer à la mise à l’échelle automatique du cluster en cas d’activation ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile Configuration de la mise à niveau automatique. ManagedClusterAutoUpgradeProfile
disableLocalAccounts Si la valeur est true, l’obtention d’informations d’identification statiques est désactivée pour ce cluster. Cela ne doit être utilisé que sur les clusters managés activés par AAD. Pour plus d’informations, consultez désactiver les comptes locaux. Bool
diskEncryptionSetID Il s’agit de la forme suivante : « /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName} » corde
dnsPrefix Cette opération ne peut pas être mise à jour une fois le cluster managé créé. corde
enablePodSecurityPolicy (DÉPRÉCIATION) Indique s’il faut activer la stratégie de sécurité des pods Kubernetes (préversion). Cette fonctionnalité est définie pour suppression le 15 octobre 2020. En savoir plus sur aka.ms/aks/azpodpolicy. Bool
enableRBAC Indique s’il faut activer Kubernetes Role-Based contrôle d’accès. Bool
fqdnSubdomain Cette opération ne peut pas être mise à jour une fois le cluster managé créé. corde
httpProxyConfig Configurations pour l’approvisionnement du cluster avec des serveurs proxy HTTP. ManagedClusterHttpProxyConfig
identityProfile Identités associées au cluster. ManagedClusterPropertiesIdentityProfile
kubernetesVersion Lorsque vous mettez à niveau un cluster AKS pris en charge, les versions mineures de Kubernetes ne peuvent pas être ignorées. Toutes les mises à niveau doivent être effectuées séquentiellement par numéro de version principal. Par exemple, les mises à niveau entre 1.14.x -> 1.15.x ou 1.15.x -> 1.16.x sont autorisées, mais 1.14.x -> 1.16.x n’est pas autorisée. Pour plus d’informations, consultez mise à niveau d’un cluster AKS. corde
linuxProfile Profil pour les machines virtuelles Linux dans le cluster managé. ContainerServiceLinuxProfile
networkProfile Profil de configuration réseau. ContainerServiceNetworkProfile
nodeResourceGroup Nom du groupe de ressources contenant des nœuds de pool d’agents. corde
podIdentityProfile Consultez utiliser l’identité de pod AAD pour plus d’informations sur l’intégration des identités de pod AAD. ManagedClusterPodIdentityProfile
privateLinkResources Ressources de liaison privée associées au cluster. privateLinkResource[]
publicNetworkAccess Autoriser ou refuser l’accès au réseau public pour AKS « Désactivé »
« Activé »
securityProfile Profil de sécurité pour le cluster managé. ManagedClusterSecurityProfile
servicePrincipalProfile Informations sur une identité de principal de service pour le cluster à utiliser pour manipuler des API Azure. ManagedClusterServicePrincipalProfile
windowsProfile Profil des machines virtuelles Windows dans le cluster managé. ManagedClusterWindowsProfile

ManagedClusterAADProfile

Nom Description Valeur
adminGroupObjectIDs Liste des ID d’objet de groupe AAD qui auront le rôle d’administrateur du cluster. string[]
clientAppID ID d’application AAD client. corde
enableAzureRBAC Indique s’il faut activer Azure RBAC pour l’autorisation Kubernetes. Bool
Géré Indique s’il faut activer AAD managé. Bool
serverAppID ID d’application AAD du serveur. corde
serverAppSecret Secret de l’application AAD du serveur. corde
tenantID ID de locataire AAD à utiliser pour l’authentification. S’il n’est pas spécifié, utilisez le locataire de l’abonnement de déploiement. corde

ManagedClusterPropertiesAddonProfiles

Nom Description Valeur
{propriété personnalisée} ManagedClusterAddonProfile

ManagedClusterAddonProfile

Nom Description Valeur
config Paires clé-valeur pour la configuration d’un module complémentaire. ManagedClusterAddonProfileConfig
Activé Indique si le module complémentaire est activé ou non. bool (obligatoire)

ManagedClusterAddonProfileConfig

Nom Description Valeur
{propriété personnalisée} corde

ManagedClusterAgentPoolProfile

Nom Description Valeur
availabilityZones Liste des zones de disponibilité à utiliser pour les nœuds. Cela ne peut être spécifié que si la propriété AgentPoolType est « VirtualMachineScaleSets ». string[]
compter Nombre d’agents (machines virtuelles) pour héberger des conteneurs Docker. Les valeurs autorisées doivent être comprises entre 0 et 1 000 (inclus) pour les pools d’utilisateurs et dans la plage comprise entre 1 et 1 000 (inclus) pour les pools système. La valeur par défaut est 1. Int
creationData CreationData à utiliser pour spécifier l’ID d’instantané source si le pool de nœuds sera créé/mis à niveau à l’aide d’un instantané. CreationData
enableAutoScaling Indique s’il faut activer la mise à l’échelle automatique Bool
enableEncryptionAtHost Cela n’est pris en charge que sur certaines tailles de machine virtuelle et dans certaines régions Azure. Pour plus d’informations, consultez : /azure/aks/enable-host-encryption Bool
enableFIPS Pour plus d’informations, consultez Ajouter un pool de nœuds compatible FIPS. Bool
enableNodePublicIP Certains scénarios peuvent nécessiter des nœuds dans un pool de nœuds pour recevoir leurs propres adresses IP publiques dédiées. Un scénario courant concerne les charges de travail de jeu, où une console doit établir une connexion directe à une machine virtuelle cloud afin de réduire les tronçons. Pour plus d’informations, consultez affectation d’une adresse IP publique par nœud. La valeur par défaut est false. Bool
enableUltraSSD Indique s’il faut activer UltraSSD Bool
gpuInstanceProfile GPUInstanceProfile à utiliser pour spécifier le profil d’instance GPU MIG pour la référence SKU de machine virtuelle GPU prise en charge. « MIG1g »
« MIG2g »
« MIG3g »
« MIG4g »
« MIG7g »
kubeletConfig Configuration Kubelet sur les nœuds du pool d’agents. KubeletConfig
kubeletDiskType Détermine le placement des volumes emptyDir, de la racine des données du runtime de conteneur et du stockage éphémère Kubelet. « Système d’exploitation »
« Temporaire »
linuxOSConfig Configuration du système d’exploitation des nœuds de l’agent Linux. LinuxOSConfig
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
mode Un cluster doit avoir au moins un pool d’agents « Système » à tout moment. Pour plus d’informations sur les restrictions de pool d’agents et les meilleures pratiques, consultez : /azure/aks/use-system-pools « Système »
« Utilisateur »
nom Les noms de pool d’agents Windows doivent être de 6 caractères ou moins. chaîne (obligatoire)

Contraintes:
Modèle = ^[a-z][a-z0-9]{0,11}$
nodeLabels Étiquettes de nœud à conserver sur tous les nœuds du pool d’agents. ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodePublicIPPrefixID Il s’agit de la forme suivante : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} corde
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[]
orchestratorVersion En guise de meilleure pratique, vous devez mettre à niveau tous les pools de nœuds d’un cluster AKS vers la même version de Kubernetes. La version du pool de nœuds doit avoir la même version principale que le plan de contrôle. La version mineure du pool de nœuds doit se trouver dans deux versions mineures de la version du plan de contrôle. La version du pool de nœuds ne peut pas être supérieure à la version du plan de contrôle. Pour plus d’informations, consultez mise à niveau d’un pool de nœuds. corde
osDiskSizeGB Taille du disque du système d’exploitation en Go à utiliser pour spécifier la taille du disque pour chaque ordinateur du pool maître/agent. Si vous spécifiez 0, elle applique la taille osDisk par défaut en fonction de vmSize spécifiée. Int

Contraintes:
Valeur minimale = 0
Valeur maximale = 2048
osDiskType La valeur par défaut est « Éphémère » si la machine virtuelle la prend en charge et a un disque de cache supérieur à celui demandé d’OSDiskSizeGB. Sinon, la valeur par défaut est « Gérée ». Peut ne pas être modifié après la création. Pour plus d’informations, consultez système d’exploitation éphémère. « Éphémère »
« Géré »
osSKU Spécifie une référence SKU de système d’exploitation. Cette valeur ne doit pas être spécifiée si OSType est Windows. « CBLMarinr »
« Ubuntu »
osType Type de système d’exploitation. La valeur par défaut est Linux. « Linux »
« Windows »
podSubnetID En cas d’omission, les adresses IP de pod sont affectées statiquement sur le sous-réseau de nœud (voir vnetSubnetID pour plus d’informations). Il s’agit de la forme suivante : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} corde
powerState Lorsqu’un pool d’agents est créé pour la première fois, il est en cours d’exécution. Le pool d’agents peut être arrêté en définissant ce champ sur Arrêté. Un pool d’agents arrêté arrête toutes ses machines virtuelles et n’accumule pas de frais de facturation. Un pool d’agents ne peut être arrêté que s’il est en cours d’exécution et si l’état d’approvisionnement est Réussi PowerState
proximityPlacementGroupID ID du groupe de placement de proximité. corde
scaleDownMode Cela affecte également le comportement du générateur de mise à l’échelle automatique du cluster. S’il n’est pas spécifié, il est défini par défaut sur Delete. « Libérer »
« Supprimer »
scaleSetEvictionPolicy Cela ne peut pas être spécifié, sauf si scaleSetPriority est « Spot ». S’il n’est pas spécifié, la valeur par défaut est « Supprimer ». « Libérer »
« Supprimer »
scaleSetPriority Priorité du groupe de machines virtuelles identiques. S’il n’est pas spécifié, la valeur par défaut est « Standard ». « Normal »
« Spot »
spotMaxPrice Les valeurs possibles sont une valeur décimale supérieure à zéro ou -1 qui indique la volonté de payer n’importe quel prix à la demande. Pour plus d’informations sur la tarification spot, consultez tarification des machines virtuelles spot Spécifier une valeur décimale sous forme de chaîne. int ou json decimal
étiquettes Balises à conserver sur le groupe de machines virtuelles identiques du pool d’agents. objet
type Type de pool d’agents. « AvailabilitySet »
« VirtualMachineScaleSets »
upgradeSettings Paramètres de mise à niveau du pool d’agents AgentPoolUpgradeSettings
vmSize La disponibilité de la taille des machines virtuelles varie selon la région. Si un nœud contient des ressources de calcul insuffisantes (mémoire, processeur, etc.) les pods peuvent échouer à s’exécuter correctement. Pour plus d’informations sur les tailles de machine virtuelle restreintes, consultez : /azure/aks/quotas-skus-regions corde
vnetSubnetID Si ce n’est pas spécifié, un réseau virtuel et un sous-réseau sont générés et utilisés. Si aucun podSubnetID n’est spécifié, cela s’applique aux nœuds et aux pods, sinon il s’applique uniquement aux nœuds. Il s’agit de la forme suivante : /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} corde
workloadRuntime Détermine le type de charge de travail qu’un nœud peut exécuter. « OCIContainer »
« WasmWasi »

CreationData

Nom Description Valeur
sourceResourceId Il s’agit de l’ID ARM de l’objet source à utiliser pour créer l’objet cible. corde

KubeletConfig

Nom Description Valeur
allowedUnsafeSysctls Liste autorisée de sysctls non sécurisés ou de modèles sysctl non sécurisés (se terminant par *). string[]
containerLogMaxFiles Nombre maximal de fichiers journaux de conteneur pouvant être présents pour un conteneur. Le nombre doit être ≥ 2. Int

Contraintes:
Valeur minimale = 2
containerLogMaxSizeMB Taille maximale (par exemple, 10Mi) du fichier journal conteneur avant sa rotation. Int
cpuCfsQuota La valeur par défaut est true. Bool
cpuCfsQuotaPeriod La valeur par défaut est « 100ms ». Les valeurs valides sont une séquence de nombres décimaux avec une fraction facultative et un suffixe d’unité. Par exemple : « 300ms », « 2h45m ». Les unités prises en charge sont « ns », « us », « ms », « s », « m » et « h ». corde
cpuManagerPolicy La valeur par défaut est « none ». Pour plus d’informations, consultez stratégies de gestion du processeur Kubernetes. Les valeurs autorisées sont « none » et « static ». corde
failSwapOn Si la valeur est true, kubelet ne démarre pas si l’échange est activé sur le nœud. Bool
imageGcHighThreshold Pour désactiver le garbage collection d’images, définissez sur 100. La valeur par défaut est 85% Int
imageGcLowThreshold Cela ne peut pas être défini plus haut que imageGcHighThreshold. La valeur par défaut est 80% Int
podMaxPids Nombre maximal de processus par pod. Int
topologyManagerPolicy Pour plus d’informations, consultez Gestionnaire de topologie Kubernetes. La valeur par défaut est « none ». Les valeurs autorisées sont « none », « best-effort », « restricted » et « single-numa-node ». corde

LinuxOSConfig

Nom Description Valeur
swapFileSizeMB Taille en Mo d’un fichier d’échange qui sera créé sur chaque nœud. Int
sysctls Paramètres Sysctl pour les nœuds d’agent Linux. SysctlConfig
transparentHugePageDefrag Les valeurs valides sont « always », « defer », « defer+madvise », « madvise » et « never ». La valeur par défaut est « madvise ». Pour plus d’informations, consultez Transparent Hugepages. corde
transparentHugePageEnabled Les valeurs valides sont « always », « madvise » et « never ». La valeur par défaut est « always ». Pour plus d’informations, consultez Transparent Hugepages. corde

SysctlConfig

Nom Description Valeur
fsAioMaxNr Paramètre Sysctl fs.aio-max-nr. Int
fsFileMax Paramètre Sysctl fs.file-max. Int
fsInotifyMaxUserWatches Paramètre Sysctl fs.inotify.max_user_watch. Int
fsNrOpen Paramètre Sysctl fs.nr_open. Int
kernelThreadsMax Sysctl définissant kernel.threads-max. Int
netCoreNetdevMaxBacklog Paramètre Sysctl net.core.netdev_max_backlog. Int
netCoreOptmemMax Paramètre Sysctl net.core.optmem_max. Int
netCoreRmemDefault Paramètre Sysctl net.core.rmem_default. Int
netCoreRmemMax Paramètre Sysctl net.core.rmem_max. Int
netCoreSomaxconn Sysctl définissant net.core.somaxconn. Int
netCoreWmemDefault Paramètre Sysctl net.core.wmem_default. Int
netCoreWmemMax Paramètre Sysctl net.core.wmem_max. Int
netIpv4IpLocalPortRange Paramètre Sysctl net.ipv4.ip_local_port_range. corde
netIpv4NeighDefaultGcThresh1 Paramètre Sysctl net.ipv4.neigh.default.gc_thresh1. Int
netIpv4NeighDefaultGcThresh2 Paramètre Sysctl net.ipv4.neigh.default.gc_thresh2. Int
netIpv4NeighDefaultGcThresh3 Paramètre Sysctl net.ipv4.neigh.default.gc_thresh3. Int
netIpv4TcpFinTimeout Paramètre Sysctl net.ipv4.tcp_fin_timeout. Int
netIpv4TcpkeepaliveIntvl Paramètre Sysctl net.ipv4.tcp_keepalive_intvl. Int
netIpv4TcpKeepaliveProbes Paramètre Sysctl net.ipv4.tcp_keepalive_probes. Int
netIpv4TcpKeepaliveTime Paramètre Sysctl net.ipv4.tcp_keepalive_time. Int
netIpv4TcpMaxSynBacklog Paramètre Sysctl net.ipv4.tcp_max_syn_backlog. Int
netIpv4TcpMaxTwBuckets Paramètre Sysctl net.ipv4.tcp_max_tw_buckets. Int
netIpv4TcpTwReuse Paramètre Sysctl net.ipv4.tcp_tw_reuse. Bool
netNetfilterNfConntrackBuckets Paramètre Sysctl net.netfilter.nf_conntrack_buckets. Int
netNetfilterNfConntrackMax Paramètre Sysctl net.netfilter.nf_conntrack_max. Int
vmMaxMapCount Paramètre Sysctl vm.max_map_count. Int
vmSwappiness Sysctl définissant vm.swappiness. Int
vmVfsCachePressure Paramètre Sysctl vm.vfs_cache_pressure. Int

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Nom Description Valeur
{propriété personnalisée} corde

PowerState

Nom Description Valeur
code Indique si le cluster est en cours d’exécution ou arrêté « En cours d’exécution »
« Arrêté »

AgentPoolUpgradeSettings

Nom Description Valeur
maxSurge Cela peut être défini sur un entier (par exemple, « 5 ») ou sur un pourcentage (par exemple, « 50%»). Si un pourcentage est spécifié, il s’agit du pourcentage de la taille totale du pool d’agents au moment de la mise à niveau. Pour les pourcentages, les nœuds fractionnaires sont arrondis. S’il n’est pas spécifié, la valeur par défaut est 1. Pour plus d’informations, notamment les meilleures pratiques, consultez : /azure/aks/upgrade-cluster#customize-node-surge-upgrade corde

ManagedClusterAPIServerAccessProfile

Nom Description Valeur
authorizedIPRanges Les plages d’adresses IP sont spécifiées au format CIDR, par exemple 137.117.106.88/29. Cette fonctionnalité n’est pas compatible avec les clusters qui utilisent l’adresse IP publique par nœud ou les clusters qui utilisent un équilibreur de charge de base. Pour plus d’informations, consultez plages d’adresses IP autorisées du serveur d’API. string[]
disableRunCommand Indique s’il faut désactiver la commande d’exécution pour le cluster ou non. Bool
enablePrivateCluster Pour plus d’informations, consultez Création d’un cluster AKS privé. Bool
enablePrivateClusterPublicFQDN Indique s’il faut créer un nom de domaine complet public supplémentaire pour un cluster privé ou non. Bool
privateDNSZone La valeur par défaut est System. Pour plus d’informations, consultez configurer une zone DNS privée. Les valeurs autorisées sont « system » et « none ». corde

ManagedClusterPropertiesAutoScalerProfile

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. « le moins gaspiller »
« 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

ManagedClusterAutoUpgradeProfile

Nom Description Valeur
upgradeChannel Pour plus d’informations, consultez définition du canal de mise à niveau automatique du cluster AKS. « node-image »
« aucun »
« patch »
« rapide »
« stable »

ManagedClusterHttpProxyConfig

Nom Description Valeur
httpProxy Point de terminaison du serveur proxy HTTP à utiliser. corde
httpsProxy Point de terminaison du serveur proxy HTTPS à utiliser. corde
noProxy Points de terminaison qui ne doivent pas passer par proxy. string[]
trustedCa Autre certificat d’autorité de certification à utiliser pour la connexion aux serveurs proxy. corde

ManagedClusterPropertiesIdentityProfile

Nom Description Valeur
{propriété personnalisée} UserAssignedIdentity

UserAssignedIdentity

Nom Description Valeur
clientId ID client de l’identité affectée par l’utilisateur. corde
objectId ID d’objet de l’identité affectée par l’utilisateur. corde
resourceId ID de ressource de l’identité affectée par l’utilisateur. corde

ContainerServiceLinuxProfile

Nom Description Valeur
adminUsername Nom d’utilisateur administrateur à utiliser pour les machines virtuelles Linux. chaîne (obligatoire)

Contraintes:
Modèle = ^[A-Za-z][-A-Za-z0-9_]*$
ssh Configuration SSH pour les machines virtuelles Linux s’exécutant sur Azure. ContainerServiceSshConfiguration (obligatoire)

ContainerServiceSshConfiguration

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

ContainerServiceSshPublicKey

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. chaîne (obligatoire)

ContainerServiceNetworkProfile

Nom Description Valeur
dnsServiceIP Adresse IP affectée au service DNS Kubernetes. Elle doit se trouver dans la plage d’adresses du service Kubernetes spécifiée dans serviceCidr. corde

Contraintes:
Modèle = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
dockerBridgeCidr Plage d’adresses IP de notation CIDR affectée au réseau de pont Docker. Elle ne doit pas chevaucher les plages d’adresses IP de sous-réseau ou la plage d’adresses du service Kubernetes. corde

Contraintes:
Modèle = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
ipFamilies Les familles d’adresses IP sont utilisées pour déterminer des clusters à pile unique ou double pile. Pour une pile unique, la valeur attendue est IPv4. Pour la double pile, les valeurs attendues sont IPv4 et IPv6. Tableau de chaînes contenant l’un des éléments suivants :
« IPv4 »
« IPv6 »
loadBalancerProfile Profil de l’équilibreur de charge du cluster. ManagedClusterLoadBalancerProfile
loadBalancerSku La valeur par défaut est « standard ». Consultez références SKU Azure Load Balancer pour plus d’informations sur les différences entre les références SKU de l’équilibreur de charge. « de base »
« standard »
natGatewayProfile Profil de la passerelle NAT de cluster. ManagedClusterNATGatewayProfile
networkMode Cela ne peut pas être spécifié si networkPlugin est autre que « azure ». « bridge »
« transparent »
networkPlugin Plug-in réseau utilisé pour créer le réseau Kubernetes. « azure »
« kubenet »
networkPolicy Stratégie réseau utilisée pour créer le réseau Kubernetes. « azure »
« calico »
outboundType Cela ne peut être défini qu’au moment de la création du cluster et ne peut pas être modifié ultérieurement. Pour plus d’informations, consultez type sortant sortant. « loadBalancer »
« managedNATGateway »
« userAssignedNATGateway »
« userDefinedRouting »
podCidr Plage d’adresses IP de notation CIDR à partir de laquelle affecter des adresses IP de pod lorsque kubenet est utilisé. corde

Contraintes:
Modèle = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
podCidrs Un CIDR IPv4 est attendu pour la mise en réseau à pile unique. Deux CIDR, un pour chaque famille IP (IPv4/IPv6), sont attendus pour la mise en réseau à double pile. string[]
serviceCidr Plage d’adresses IP de notation CIDR à partir de laquelle attribuer des adresses IP de cluster de service. Elle ne doit pas chevaucher les plages d’adresses IP de sous-réseau. corde

Contraintes:
Modèle = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidrs Un CIDR IPv4 est attendu pour la mise en réseau à pile unique. Deux CIDR, un pour chaque famille IP (IPv4/IPv6), sont attendus pour la mise en réseau à double pile. Ils ne doivent pas chevaucher les plages d’adresses IP de sous-réseau. string[]

ManagedClusterLoadBalancerProfile

Nom Description Valeur
allocationOutboundPorts Nombre souhaité de ports SNAT alloués par machine virtuelle. Les valeurs autorisées sont comprises entre 0 et 64 000 (inclus). La valeur par défaut est 0, ce qui entraîne l’allocation dynamique de ports dans Azure. Int

Contraintes:
Valeur minimale = 0
Valeur maximale = 64000
EffectiveOutboundIPs Ressources IP sortantes effectives de l’équilibreur de charge du cluster. resourceReference[]
enableMultipleStandardLoadBalancers Activez plusieurs équilibreurs de charge standard par cluster AKS ou non. Bool
idleTimeoutInMinutes Délai d’inactivité du flux sortant souhaité en minutes. Les valeurs autorisées sont comprises entre 4 et 120 (inclus). La valeur par défaut est de 30 minutes. Int

Contraintes:
Valeur minimale = 4
Valeur maximale = 120
managedOutboundIPs Adresses IP sortantes gérées souhaitées pour l’équilibreur de charge du cluster. ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes Ressources de préfixe IP sortantes souhaitées pour l’équilibreur de charge du cluster. ManagedClusterLoadBalancerProfileOutboundIPPrefixes
Adresses IP sortantes Ressources IP sortantes souhaitées pour l’équilibreur de charge du cluster. ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

Nom Description Valeur
id ID de ressource Azure complet. corde

ManagedClusterLoadBalancerProfileManagedOutboundIPs

Nom Description Valeur
compter Nombre souhaité d’adresses IP sortantes IPv4 créées/gérées par Azure pour l’équilibreur de charge du cluster. Les valeurs autorisées doivent être comprises entre 1 et 100 (inclus). La valeur par défaut est 1. Int

Contraintes:
Valeur minimale = 1
Valeur maximale = 100
countIPv6 Nombre souhaité d’adresses IP sortantes IPv6 créées/gérées par Azure pour l’équilibreur de charge du cluster. Les valeurs autorisées doivent être comprises entre 1 et 100 (inclus). La valeur par défaut est 0 pour une pile unique et 1 pour la double pile. Int

Contraintes:
Valeur minimale = 0
Valeur maximale = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

Nom Description Valeur
publicIPPrefixes Liste des ressources de préfixe d’adresse IP publique. resourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

Nom Description Valeur
publicIPs Liste des ressources IP publiques. resourceReference[]

ManagedClusterNATGatewayProfile

Nom Description Valeur
EffectiveOutboundIPs Ressources IP sortantes effectives de la passerelle NAT de cluster. resourceReference[]
idleTimeoutInMinutes Délai d’inactivité du flux sortant souhaité en minutes. Les valeurs autorisées sont comprises entre 4 et 120 (inclus). La valeur par défaut est de 4 minutes. Int

Contraintes:
Valeur minimale = 4
Valeur maximale = 120
managedOutboundIPProfile Profil des ressources IP sortantes gérées de la passerelle NAT de cluster. ManagedClusterManagedOutboundIPProfile

ManagedClusterManagedOutboundIPProfile

Nom Description Valeur
compter Nombre souhaité d’adresses IP sortantes créées/gérées par Azure. Les valeurs autorisées doivent être comprises entre 1 et 16 (inclus). La valeur par défaut est 1. Int

Contraintes:
Valeur minimale = 1
Valeur maximale = 16

ManagedClusterPodIdentityProfile

Nom Description Valeur
allowNetworkPluginKubenet L’exécution dans Kubenet est désactivée par défaut en raison de la nature liée à la sécurité de l’identité de pod AAD et des risques d’usurpation d’adresse IP. Pour plus d’informations, consultez l’utilisation du plug-in réseau Kubenet avec AAD Pod Identity. Bool
Activé Indique si le module complémentaire d’identité de pod est activé. Bool
userAssignedIdentities Identités de pod à utiliser dans le cluster. ManagedClusterPodIdentity[]
userAssignedIdentityExceptions Exceptions d’identité de pod à autoriser. ManagedClusterPodIdentityException[]

ManagedClusterPodIdentity

Nom Description Valeur
bindingSelector Sélecteur de liaison à utiliser pour la ressource AzureIdentityBinding. corde
identité Détails de l’identité affectée par l’utilisateur. UserAssignedIdentity (obligatoire)
nom Nom de l’identité de pod. chaîne (obligatoire)
espace de noms Espace de noms de l’identité de pod. chaîne (obligatoire)

ManagedClusterPodIdentityException

Nom Description Valeur
nom Nom de l’exception d’identité de pod. chaîne (obligatoire)
espace de noms Espace de noms de l’exception d’identité de pod. chaîne (obligatoire)
podLabels Étiquettes de pod à mettre en correspondance. ManagedClusterPodIdentityExceptionPodLabels (obligatoire)

ManagedClusterPodIdentityExceptionPodLabels

Nom Description Valeur
{propriété personnalisée} corde

PrivateLinkResource

Nom Description Valeur
groupId ID de groupe de la ressource. corde
id ID de la ressource de liaison privée. corde
nom Nom de la ressource de liaison privée. corde
requiredMembers RequiredMembers de la ressource string[]
type Type de ressource. corde

ManagedClusterSecurityProfile

Nom Description Valeur
azureDefender Paramètres Azure Defender pour le profil de sécurité. ManagedClusterSecurityProfileAzureDefender

ManagedClusterSecurityProfileAzureDefender

Nom Description Valeur
Activé Indique s’il faut activer Azure Defender Bool
logAnalyticsWorkspaceResourceId ID de ressource de l’espace de travail Log Analytique à associer à Azure Defender. Quand Azure Defender est activé, ce champ est obligatoire et doit être un ID de ressource d’espace de travail valide. Quand Azure Defender est désactivé, laissez le champ vide. corde

ManagedClusterServicePrincipalProfile

Nom Description Valeur
clientId ID du principal de service. chaîne (obligatoire)
secret Mot de passe secret associé au principal de service en texte brut. corde

ManagedClusterWindowsProfile

Nom Description Valeur
adminPassword Spécifie le mot de passe du compte d’administrateur.

Longueur minimale : 8 caractères

Longueur maximale : 123 caractères

Exigences de complexité : 3 conditions sur 4 ci-dessous doivent être remplies
Comporte des caractères inférieurs
Comporte des caractères supérieurs
A un chiffre
A un caractère spécial (correspondance Regex [\W_])

Valeurs non autorisées : « abc@123 », « P@$$w 0rd », « P@ssw0rd », « P@ssword123 », « Pa$$word », « pass@word1 », « Password ! », « Password1 », « Password22 », « iloveyou ! »
corde
adminUsername Spécifie le nom du compte d’administrateur.

restriction : impossible de se terminer par « ».

Valeurs non autorisées : « administrateur », « admin », « user », « user1 », « test », « user2 », « test1 », « user3 », « admin1 », « admin1 », « 1 », « 123 », « a », « actuser », « adm », « admin2 », « aspnet », « backup », « console », « david », « guest », « john », « owner », « root », « server », « sql », « support », « support_388945a0 », « sys », « test2 », « test3 », « user4 », « user5 ».

Longueur minimale : 1 caractère

Longueur maximale : 20 caractères
chaîne (obligatoire)
enableCSIProxy Pour plus d’informations sur le proxy CSI, consultez le dépôt GitHub du proxy CSI. Bool
gmsaProfile Profil gMSA Windows dans le cluster managé. windowsGmsaProfile
licenseType Type de licence à utiliser pour les machines virtuelles Windows. Pour plus d’informations, consultez Azure Hybrid User Benefits. « Aucun »
« Windows_Server »

WindowsGmsaProfile

Nom Description Valeur
dnsServer Spécifie le serveur DNS pour Windows gMSA.

Définissez-le sur vide si vous avez configuré le serveur DNS dans le réseau virtuel utilisé pour créer le cluster managé.
corde
Activé Spécifie s’il faut activer gMSA Windows dans le cluster managé. Bool
rootDomainName Spécifie le nom de domaine racine pour Windows gMSA.

Définissez-le sur vide si vous avez configuré le serveur DNS dans le réseau virtuel utilisé pour créer le cluster managé.
corde

ManagedClusterSKU

Nom Description Valeur
nom Nom d’une référence SKU de cluster managé. « De base »
niveau S’il n’est pas spécifié, la valeur par défaut est « Free ». Pour plus d’informations, consultez contrat SLA de temps d’activité. « Gratuit »
« Payé »