Compartir a través de


Microsoft.ContainerService managedClusters 01/12/2020

Remarks

Para obtener información sobre los complementos disponibles, consulte Complementos, extensiones y otras integraciones con Azure Kubernetes Service.

Definición de recursos de Bicep

El tipo de recurso managedClusters se puede implementar con operaciones destinadas a:

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.ContainerService/managedClusters, agregue el siguiente bicep a la plantilla.

resource symbolicname 'Microsoft.ContainerService/managedClusters@2020-12-01' = {
  scope: resourceSymbolicName or scope
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  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
        enableAutoScaling: bool
        enableEncryptionAtHost: bool
        enableNodePublicIP: bool
        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'
        }
        nodeTaints: [
          'string'
        ]
        orchestratorVersion: 'string'
        osDiskSizeGB: int
        osDiskType: 'string'
        osType: 'string'
        podSubnetID: 'string'
        proximityPlacementGroupID: 'string'
        scaleSetEvictionPolicy: 'string'
        scaleSetPriority: 'string'
        spotMaxPrice: int
        tags: {
          {customized property}: 'string'
        }
        type: 'string'
        upgradeSettings: {
          maxSurge: 'string'
        }
        vmSize: 'string'
        vnetSubnetID: 'string'
      }
    ]
    apiServerAccessProfile: {
      authorizedIPRanges: [
        'string'
      ]
      enablePrivateCluster: 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'
    }
    diskEncryptionSetID: 'string'
    dnsPrefix: 'string'
    enablePodSecurityPolicy: bool
    enableRBAC: bool
    identityProfile: {
      {customized property}: {
        clientId: 'string'
        objectId: 'string'
        resourceId: 'string'
      }
    }
    kubernetesVersion: 'string'
    linuxProfile: {
      adminUsername: 'string'
      ssh: {
        publicKeys: [
          {
            keyData: 'string'
          }
        ]
      }
    }
    networkProfile: {
      dnsServiceIP: 'string'
      dockerBridgeCidr: 'string'
      loadBalancerProfile: {
        allocatedOutboundPorts: int
        effectiveOutboundIPs: [
          {
            id: 'string'
          }
        ]
        idleTimeoutInMinutes: int
        managedOutboundIPs: {
          count: int
        }
        outboundIPPrefixes: {
          publicIPPrefixes: [
            {
              id: 'string'
            }
          ]
        }
        outboundIPs: {
          publicIPs: [
            {
              id: 'string'
            }
          ]
        }
      }
      loadBalancerSku: 'string'
      networkMode: 'string'
      networkPlugin: 'string'
      networkPolicy: 'string'
      outboundType: 'string'
      podCidr: 'string'
      serviceCidr: 'string'
    }
    nodeResourceGroup: 'string'
    podIdentityProfile: {
      enabled: bool
      userAssignedIdentities: [
        {
          identity: {
            clientId: 'string'
            objectId: 'string'
            resourceId: 'string'
          }
          name: 'string'
          namespace: 'string'
        }
      ]
      userAssignedIdentityExceptions: [
        {
          name: 'string'
          namespace: 'string'
          podLabels: {
            {customized property}: 'string'
          }
        }
      ]
    }
    servicePrincipalProfile: {
      clientId: 'string'
      secret: 'string'
    }
    windowsProfile: {
      adminPassword: 'string'
      adminUsername: 'string'
      licenseType: 'string'
    }
  }
  sku: {
    name: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Valores de propiedad

Microsoft.ContainerService/managedClusters

Name Description Value
identity Identidad del clúster administrado, si está configurada. ManagedClusterIdentity
location Ubicación del recurso string (obligatorio)
name El nombre del recurso string

Constraints:
Longitud mínima = 1
Longitud máxima = 63
Patrón = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (obligatorio)
properties Propiedades de un clúster administrado. ManagedClusterProperties
scope Use al crear un recurso en un ámbito diferente del ámbito de implementación. Establezca esta propiedad en el nombre simbólico de un recurso para aplicar el recurso de extensión .
sku SKU del clúster administrado. ManagedClusterSKU
tags Etiquetas de recursos Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas

AgentPoolUpgradeSettings

Name Description Value
maxSurge Recuento o porcentaje de nodos adicionales que se van a agregar durante la actualización. Si está vacío, usa el valor predeterminado de AKS string

Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties

Name Description Value

ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties

Name Description Value
clientId Identificador de cliente de la identidad asignada por el usuario. string
objectId Identificador de objeto de la identidad asignada por el usuario. string
resourceId Identificador de recurso de la identidad asignada por el usuario. string

ContainerServiceLinuxProfile

Name Description Value
adminUsername Nombre de usuario del administrador que se va a usar para máquinas virtuales Linux. string

Constraints:
Patrón = ^[A-Za-z][-A-Za-z0-9_]*$ (obligatorio)
ssh Configuración de SSH para máquinas virtuales basadas en Linux que se ejecutan en Azure. ContainerServiceSshConfiguration (obligatorio)

ContainerServiceNetworkProfile

Name Description Value
dnsServiceIP Una dirección IP asignada al servicio DNS de Kubernetes. Debe estar dentro del intervalo de direcciones del servicio kubernetes especificado en serviceCidr. string

Constraints:
Patrón = ^(?:(?: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 Intervalo IP de notación CIDR asignado a la red del puente de Docker. No se debe superponer con ningún intervalo IP de subred ni con el intervalo de direcciones del servicio Kubernetes. string

Constraints:
Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
loadBalancerProfile Perfil del equilibrador de carga del clúster. ManagedClusterLoadBalancerProfile
loadBalancerSku SKU del equilibrador de carga para el clúster administrado. 'basic'
'standard'
networkMode Modo de red que se usa para compilar la red de Kubernetes. 'bridge'
'transparent'
networkPlugin Complemento de red que se usa para compilar la red de Kubernetes. 'azure'
'kubenet'
networkPolicy Directiva de red que se usa para compilar la red de Kubernetes. 'azure'
'calico'
outboundType Método de enrutamiento de salida (salida). 'loadBalancer'
'userDefinedRouting'
podCidr Intervalo IP de notación CIDR desde el que se van a asignar direcciones IP de pod cuando se usa kubenet. string

Constraints:
Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidr Intervalo IP de notación CIDR desde el que se van a asignar direcciones IP del clúster de servicio. No debe superponerse con ningún intervalo IP de subred. string

Constraints:
Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$

ContainerServiceSshConfiguration

Name Description Value
publicKeys Lista de claves públicas SSH que se usan para autenticarse con máquinas virtuales basadas en Linux. Solo se espera una clave especificada. ContainerServiceSshPublicKey[] (obligatorio)

ContainerServiceSshPublicKey

Name Description Value
keyData Clave pública de certificado que se usa para autenticarse con máquinas virtuales a través de SSH. El certificado debe estar en formato PEM con o sin encabezados. string (obligatorio)

KubeletConfig

Name Description Value
allowedUnsafeSysctls Lista de permitidos de sysctls no seguros o patrones sysctl no seguros (que terminan en *). string[]
containerLogMaxFiles El número máximo de archivos de registro de contenedor que pueden estar presentes para un contenedor. El número debe ser ≥ 2. int

Constraints:
Valor mínimo = 2
containerLogMaxSizeMB Tamaño máximo (por ejemplo, 10Mi) del archivo de registro de contenedor antes de girarlo. int
cpuCfsQuota Habilite la aplicación de cuota de CFS de CPU para contenedores que especifiquen límites de CPU. bool
cpuCfsQuotaPeriod Establece el valor del período de cuota cfS de CPU. string
cpuManagerPolicy Directiva del Administrador de CPU que se va a usar. string
failSwapOn Si se establece en true, se producirá un error al iniciar Kubelet si el intercambio está habilitado en el nodo. bool
imageGcHighThreshold El porcentaje de uso del disco después del cual siempre se ejecuta la recolección de elementos no utilizados de imagen. int
imageGcLowThreshold El porcentaje de uso del disco antes del cual nunca se ejecuta la recolección de elementos no utilizados de imagen. int
podMaxPids Número máximo de procesos por pod. int
topologyManagerPolicy Directiva del Administrador de topologías que se va a usar. string

LinuxOSConfig

Name Description Value
swapFileSizeMB SwapFileSizeMB especifica el tamaño en MB de un archivo de intercambio que se creará en cada nodo. int
sysctls Configuración de Sysctl para los nodos del agente de Linux. SysctlConfig
transparentHugePageDefrag Configuración de desfragmentación de página enorme transparente. string
transparentHugePageEnabled Configuración transparente habilitada para páginas enormes. string

ManagedClusterAADProfile

Name Description Value
adminGroupObjectIDs Identificadores de objeto de grupo de AAD que tendrán el rol de administrador del clúster. string[]
clientAppID Identificador de aplicación de AAD cliente. string
enableAzureRBAC Si se habilita RBAC de Azure para la autorización de Kubernetes. bool
managed Si se va a habilitar AAD administrado. bool
serverAppID Identificador de aplicación de AAD del servidor. string
serverAppSecret Secreto de aplicación de AAD del servidor. string
tenantID Identificador de inquilino de AAD que se va a usar para la autenticación. Si no se especifica, usará el inquilino de la suscripción de implementación. string

ManagedClusterAddonProfile

Name Description Value
config Pares clave-valor para configurar un complemento. ManagedClusterAddonProfileConfig
enabled Indica si el complemento está habilitado o no. bool (obligatorio)

ManagedClusterAddonProfileConfig

Name Description Value

ManagedClusterAgentPoolProfile

Name Description Value
availabilityZones Zonas de disponibilidad para nodos. Debe usar VirtualMachineScaleSets AgentPoolType. string[]
count Número de agentes (VM) para hospedar contenedores de Docker. Los valores permitidos deben estar comprendidos entre 0 y 100 (ambos incluidos) para los grupos de usuarios y en el intervalo de 1 a 100 (ambos incluidos) para los grupos del sistema. El valor predeterminado es 1. int
enableAutoScaling Si se va a habilitar el escalador automático bool
enableEncryptionAtHost Si se va a habilitar EncryptionAtHost bool
enableNodePublicIP Habilitación de la dirección IP pública para los nodos bool
kubeletConfig KubeletConfig especifica la configuración de kubelet en los nodos del agente. KubeletConfig
kubeletDiskType KubeletDiskType determina la ubicación de volúmenes emptyDir, raíz de datos en tiempo de ejecución del contenedor y almacenamiento efímero de Kubelet. Actualmente permite un valor, sistema operativo, lo que da lugar a Kubelet mediante el disco del sistema operativo para los datos. 'OS'
linuxOSConfig LinuxOSConfig especifica la configuración del sistema operativo de los nodos del agente de Linux. LinuxOSConfig
maxCount Número máximo de nodos para el escalado automático int
maxPods Número máximo de pods que se pueden ejecutar en un nodo. int
minCount Número mínimo de nodos para el escalado automático int
mode AgentPoolMode representa el modo de un grupo de agentes. 'System'
'User'
name Nombre único del perfil del grupo de agentes en el contexto de la suscripción y el grupo de recursos. string

Constraints:
Patrón = ^[a-z][a-z0-9]{0,11}$ (obligatorio)
nodeLabels Etiquetas de nodo del grupo de agentes que se conservarán en todos los nodos del grupo de agentes. ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodeTaints Taints agregados a nuevos nodos durante la creación y escalado del grupo de nodos. Por ejemplo, key=value:NoSchedule. string[]
orchestratorVersion Versión del orquestador especificada al crear el clúster administrado. string
osDiskSizeGB Tamaño del disco del sistema operativo en GB que se va a usar para especificar el tamaño del disco para cada máquina de este grupo de maestros o agentes. Si especifica 0, se aplicará el tamaño predeterminado de osDisk según el valor de vmSize especificado. int

Constraints:
Valor mínimo = 0
Valor máximo = 1023
osDiskType Tipo de disco del sistema operativo que se va a usar para las máquinas de un grupo de agentes determinado. Los valores permitidos son "Efímero" y "Administrado". Si no se especifica, el valor predeterminado es "Efímero" cuando la máquina virtual admite sistema operativo efímero y tiene un disco de caché mayor que el OSDiskSizeGB solicitado. De lo contrario, el valor predeterminado es "Administrado". Es posible que no se cambie después de la creación. 'Ephemeral'
'Managed'
osType OsType que se va a usar para especificar el tipo de sistema operativo. Elija entre Linux y Windows. El valor predeterminado es Linux. 'Linux'
'Windows'
podSubnetID Pod SubnetID especifica el identificador de subred de la red virtual para los pods. string
proximityPlacementGroupID Identificador del grupo de selección de ubicación de proximidad. string
scaleSetEvictionPolicy ScaleSetEvictionPolicy que se va a usar para especificar la directiva de expulsión para el conjunto de escalado de máquinas virtuales de Spot. Valor predeterminado es Eliminar. 'Deallocate'
'Delete'
scaleSetPriority ScaleSetPriority que se usará para especificar la prioridad del conjunto de escalado de máquinas virtuales. El valor predeterminado es normal. 'Regular'
'Spot'
spotMaxPrice SpotMaxPrice que se usará para especificar el precio máximo que está dispuesto a pagar en dólares estadounidenses. Los valores posibles son cualquier valor decimal mayor que cero o -1 que indica que el precio predeterminado debe ser up-to a petición. int
tags Etiquetas de grupo de agentes que se conservarán en el conjunto de escalado de máquinas virtuales del grupo de agentes. ManagedClusterAgentPoolProfilePropertiesTags
type AgentPoolType representa los tipos de un grupo de agentes. 'AvailabilitySet'
'VirtualMachineScaleSets'
upgradeSettings Configuración para actualizar el grupo de agentes AgentPoolUpgradeSettings
vmSize Tamaño de las máquinas virtuales del agente. 'Standard_A1'
'Standard_A10'
'Standard_A11'
'Standard_A1_v2'
'Standard_A2'
'Standard_A2m_v2'
'Standard_A2_v2'
'Standard_A3'
'Standard_A4'
'Standard_A4m_v2'
'Standard_A4_v2'
'Standard_A5'
'Standard_A6'
'Standard_A7'
'Standard_A8'
'Standard_A8m_v2'
'Standard_A8_v2'
'Standard_A9'
'Standard_B2ms'
'Standard_B2s'
'Standard_B4ms'
'Standard_B8ms'
'Standard_D1'
'Standard_D11'
'Standard_D11_v2'
'Standard_D11_v2_Promo'
'Standard_D12'
'Standard_D12_v2'
'Standard_D12_v2_Promo'
'Standard_D13'
'Standard_D13_v2'
'Standard_D13_v2_Promo'
'Standard_D14'
'Standard_D14_v2'
'Standard_D14_v2_Promo'
'Standard_D15_v2'
'Standard_D16s_v3'
'Standard_D16_v3'
'Standard_D1_v2'
'Standard_D2'
'Standard_D2s_v3'
'Standard_D2_v2'
'Standard_D2_v2_Promo'
'Standard_D2_v3'
'Standard_D3'
'Standard_D32s_v3'
'Standard_D32_v3'
'Standard_D3_v2'
'Standard_D3_v2_Promo'
'Standard_D4'
'Standard_D4s_v3'
'Standard_D4_v2'
'Standard_D4_v2_Promo'
'Standard_D4_v3'
'Standard_D5_v2'
'Standard_D5_v2_Promo'
'Standard_D64s_v3'
'Standard_D64_v3'
'Standard_D8s_v3'
'Standard_D8_v3'
'Standard_DS1'
'Standard_DS11'
'Standard_DS11_v2'
'Standard_DS11_v2_Promo'
'Standard_DS12'
'Standard_DS12_v2'
'Standard_DS12_v2_Promo'
'Standard_DS13'
'Standard_DS13-2_v2'
'Standard_DS13-4_v2'
'Standard_DS13_v2'
'Standard_DS13_v2_Promo'
'Standard_DS14'
'Standard_DS14-4_v2'
'Standard_DS14-8_v2'
'Standard_DS14_v2'
'Standard_DS14_v2_Promo'
'Standard_DS15_v2'
'Standard_DS1_v2'
'Standard_DS2'
'Standard_DS2_v2'
'Standard_DS2_v2_Promo'
'Standard_DS3'
'Standard_DS3_v2'
'Standard_DS3_v2_Promo'
'Standard_DS4'
'Standard_DS4_v2'
'Standard_DS4_v2_Promo'
'Standard_DS5_v2'
'Standard_DS5_v2_Promo'
'Standard_E16s_v3'
'Standard_E16_v3'
'Standard_E2s_v3'
'Standard_E2_v3'
'Standard_E32-16s_v3'
'Standard_E32-8s_v3'
'Standard_E32s_v3'
'Standard_E32_v3'
'Standard_E4s_v3'
'Standard_E4_v3'
'Standard_E64-16s_v3'
'Standard_E64-32s_v3'
'Standard_E64s_v3'
'Standard_E64_v3'
'Standard_E8s_v3'
'Standard_E8_v3'
'Standard_F1'
'Standard_F16'
'Standard_F16s'
'Standard_F16s_v2'
'Standard_F1s'
'Standard_F2'
'Standard_F2s'
'Standard_F2s_v2'
'Standard_F32s_v2'
'Standard_F4'
'Standard_F4s'
'Standard_F4s_v2'
'Standard_F64s_v2'
'Standard_F72s_v2'
'Standard_F8'
'Standard_F8s'
'Standard_F8s_v2'
'Standard_G1'
'Standard_G2'
'Standard_G3'
'Standard_G4'
'Standard_G5'
'Standard_GS1'
'Standard_GS2'
'Standard_GS3'
'Standard_GS4'
'Standard_GS4-4'
'Standard_GS4-8'
'Standard_GS5'
'Standard_GS5-16'
'Standard_GS5-8'
'Standard_H16'
'Standard_H16m'
'Standard_H16mr'
'Standard_H16r'
'Standard_H8'
'Standard_H8m'
'Standard_L16s'
'Standard_L32s'
'Standard_L4s'
'Standard_L8s'
'Standard_M128-32ms'
'Standard_M128-64ms'
'Standard_M128ms'
'Standard_M128s'
'Standard_M64-16ms'
'Standard_M64-32ms'
'Standard_M64ms'
'Standard_M64s'
'Standard_NC12'
'Standard_NC12s_v2'
'Standard_NC12s_v3'
'Standard_NC24'
'Standard_NC24r'
'Standard_NC24rs_v2'
'Standard_NC24rs_v3'
'Standard_NC24s_v2'
'Standard_NC24s_v3'
'Standard_NC6'
'Standard_NC6s_v2'
'Standard_NC6s_v3'
'Standard_ND12s'
'Standard_ND24rs'
'Standard_ND24s'
'Standard_ND6s'
'Standard_NV12'
'Standard_NV24'
'Standard_NV6'
vnetSubnetID VNet SubnetID especifica el identificador de subred de la red virtual para los nodos y quizás los pods string

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Name Description Value

ManagedClusterAgentPoolProfilePropertiesTags

Name Description Value

ManagedClusterAPIServerAccessProfile

Name Description Value
authorizedIPRanges Intervalos IP autorizados para el servidor de API de Kubernetes. string[]
enablePrivateCluster Si se va a crear el clúster como un clúster privado o no. bool
privateDNSZone Modo de zona dns privada para el clúster privado. string

ManagedClusterAutoUpgradeProfile

Name Description Value
upgradeChannel canal de actualización para la actualización automática. 'none'
'patch'
'rapid'
'stable'

ManagedClusterIdentity

Name Description Value
type Tipo de identidad que se usa para el clúster administrado. El tipo "SystemAssigned" usará una identidad creada implícitamente en los componentes maestros y una identidad asignada por el usuario creado automáticamente en MC_ grupo de recursos en los nodos del agente. En su lugar, el tipo "None" no usará MSI para el clúster administrado. 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities Identidad de usuario asociada al clúster administrado. Esta identidad se usará en el plano de control y solo se permite una identidad asignada por el usuario. Las referencias de clave de diccionario de identidad de usuario serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

Name Description Value

ManagedClusterLoadBalancerProfile

Name Description Value
allocatedOutboundPorts Número deseado de puertos SNAT asignados por máquina virtual. Los valores permitidos deben estar en el intervalo de 0 a 64000 (ambos incluidos). El valor predeterminado es 0, lo que da como resultado la asignación dinámica de puertos de Azure. int

Constraints:
Valor mínimo = 0
Valor máximo = 64000
effectiveOutboundIPs Los recursos DE IP de salida efectivos del equilibrador de carga del clúster. ResourceReference[]
idleTimeoutInMinutes Tiempo de espera de inactividad de flujo de salida deseado en minutos. Los valores permitidos deben estar en el intervalo de 4 a 120 (ambos incluidos). El valor predeterminado es de 30 minutos. int

Constraints:
Valor mínimo = 4
Valor máximo = 120
managedOutboundIPs Direcciones IP de salida administradas deseadas para el equilibrador de carga del clúster. ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes Recursos de prefijo ip de salida deseados para el equilibrador de carga del clúster. ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs Recursos IP de salida deseados para el equilibrador de carga del clúster. ManagedClusterLoadBalancerProfileOutboundIPs

ManagedClusterLoadBalancerProfileManagedOutboundIPs

Name Description Value
count Número deseado de direcciones IP de salida creadas o administradas por Azure para el equilibrador de carga del clúster. Los valores permitidos deben estar en el intervalo de 1 a 100 (ambos incluidos). El valor predeterminado es 1. int

Constraints:
Valor mínimo = 1
Valor máximo = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

Name Description Value
publicIPPrefixes Lista de recursos de prefijo de IP pública. ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

Name Description Value
publicIPs Lista de recursos de ip pública. ResourceReference[]

ManagedClusterPodIdentity

Name Description Value
identity Información de la identidad asignada por el usuario. UserAssignedIdentity (obligatorio)
name Nombre de la identidad del pod. string (obligatorio)
namespace Espacio de nombres de la identidad del pod. string (obligatorio)

ManagedClusterPodIdentityException

Name Description Value
name Nombre de la excepción de identidad del pod. string (obligatorio)
namespace Espacio de nombres de la excepción de identidad de pod. string (obligatorio)
podLabels Etiquetas de pod que coincidan. ManagedClusterPodIdentityExceptionPodLabels (obligatorio)

ManagedClusterPodIdentityExceptionPodLabels

Name Description Value

ManagedClusterPodIdentityProfile

Name Description Value
enabled Indica si el complemento de identidad de pod está habilitado. bool
userAssignedIdentities Configuración de identidad de pod asignada por el usuario. ManagedClusterPodIdentity[]
userAssignedIdentityExceptions Configuración de excepción de identidad de pod asignada por el usuario. ManagedClusterPodIdentityException[]

ManagedClusterProperties

Name Description Value
aadProfile Perfil de configuración de Azure Active Directory. ManagedClusterAADProfile
addonProfiles Perfil del complemento de clúster administrado. ManagedClusterPropertiesAddonProfiles
agentPoolProfiles Propiedades del grupo de agentes. ManagedClusterAgentPoolProfile[]
apiServerAccessProfile Perfil de acceso para el servidor de API de clúster administrado. ManagedClusterAPIServerAccessProfile
autoScalerProfile Parámetros que se van a aplicar al escalador automático del clúster cuando está habilitado ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile Perfil de configuración de actualización automática. ManagedClusterAutoUpgradeProfile
diskEncryptionSetID ResourceId del conjunto de cifrado de disco que se va a usar para habilitar el cifrado en reposo. string
dnsPrefix Prefijo DNS especificado al crear el clúster administrado. string
enablePodSecurityPolicy (EN DESUSO) Indica si se va a habilitar la directiva de seguridad de pods de Kubernetes (versión preliminar). Esta característica se establece para su eliminación el 15 de octubre de 2020. Obtenga más información en aka.ms/aks/azpodpolicy. bool
enableRBAC Si se va a habilitar Kubernetes Role-Based Access Control. bool
identityProfile Identidades asociadas al clúster. ManagedClusterPropertiesIdentityProfile
kubernetesVersion Versión de Kubernetes especificada al crear el clúster administrado. string
linuxProfile Perfil de máquinas virtuales Linux en el clúster de servicios de contenedor. ContainerServiceLinuxProfile
networkProfile Perfil de configuración de red. ContainerServiceNetworkProfile
nodeResourceGroup Nombre del grupo de recursos que contiene los nodos del grupo de agentes. string
podIdentityProfile Perfil de identidad de pod del clúster administrado. ManagedClusterPodIdentityProfile
servicePrincipalProfile Información sobre una identidad de entidad de servicio para el clúster que se va a usar para manipular las API de Azure. ManagedClusterServicePrincipalProfile
windowsProfile Perfil de máquinas virtuales Windows en el clúster del servicio de contenedor. ManagedClusterWindowsProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterPropertiesAutoScalerProfile

Name Description Value
balance-similar-node-groups string
expander 'least-waste'
'most-pods'
'priority'
'random'
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

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterServicePrincipalProfile

Name Description Value
clientId Identificador de la entidad de servicio. string (obligatorio)
secret Contraseña secreta asociada a la entidad de servicio en texto sin formato. string

ManagedClusterSKU

Name Description Value
name Nombre de una SKU de clúster administrado. 'Basic'
tier Nivel de una SKU de clúster administrado. 'Free'
'Paid'

ManagedClusterWindowsProfile

Name Description Value
adminPassword Especifica la contraseña de la cuenta de administrador.

Longitud mínima: 8 caracteres

Longitud máxima: 123 caracteres

requisitos de complejidad: 3 de 4 condiciones siguientes deben cumplirse.
Tiene caracteres inferiores
Tiene caracteres superiores
Tiene un dígito
Tiene un carácter especial (coincidencia regex [\W_])

Valores no permitidos: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
string
adminUsername Especifica el nombre de la cuenta de administrador.

restricción: No se puede terminar en "."

valores no permitidos: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "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".

Longitud mínima: 1 carácter

Longitud máxima: 20 caracteres
string (obligatorio)
licenseType LicenseType que se va a usar para máquinas virtuales Windows. Windows_Server se usa para habilitar ventajas del usuario híbrido de Azure para máquinas virtuales Windows. 'None'
'Windows_Server'

ResourceReference

Name Description Value
id Identificador completo del recurso de Azure. string

ResourceTags

Name Description Value

SysctlConfig

Name Description Value
fsAioMaxNr Configuración de Sysctl fs.aio-max-nr. int
fsFileMax Configuración de Sysctl fs.file-max. int
fsInotifyMaxUserWatches Configuración de Sysctl fs.inotify.max_user_watches. int
fsNrOpen Configuración de Sysctl fs.nr_open. int
kernelThreadsMax Configuración de Sysctl kernel.threads-max. int
netCoreNetdevMaxBacklog Configuración de Sysctl net.core.netdev_max_backlog. int
netCoreOptmemMax Configuración de Sysctl net.core.optmem_max. int
netCoreRmemDefault Configuración de Sysctl net.core.rmem_default. int
netCoreRmemMax Configuración de Sysctl net.core.rmem_max. int
netCoreSomaxconn Configuración de Sysctl net.core.somaxconn. int
netCoreWmemDefault Configuración de Sysctl net.core.wmem_default. int
netCoreWmemMax Configuración de Sysctl net.core.wmem_max. int
netIpv4IpLocalPortRange Configuración de Sysctl net.ipv4.ip_local_port_range. string
netIpv4NeighDefaultGcThresh1 Configuración de Sysctl net.ipv4.neigh.default.gc_thresh1. int
netIpv4NeighDefaultGcThresh2 Configuración de Sysctl net.ipv4.neigh.default.gc_thresh2. int
netIpv4NeighDefaultGcThresh3 Configuración de Sysctl net.ipv4.neigh.default.gc_thresh3. int
netIpv4TcpFinTimeout Configuración de Sysctl net.ipv4.tcp_fin_timeout. int
netIpv4TcpkeepaliveIntvl Configuración de Sysctl net.ipv4.tcp_keepalive_intvl. int
netIpv4TcpKeepaliveProbes Configuración de Sysctl net.ipv4.tcp_keepalive_probes. int
netIpv4TcpKeepaliveTime Configuración de Sysctl net.ipv4.tcp_keepalive_time. int
netIpv4TcpMaxSynBacklog Configuración de Sysctl net.ipv4.tcp_max_syn_backlog. int
netIpv4TcpMaxTwBuckets Configuración de Sysctl net.ipv4.tcp_max_tw_buckets. int
netIpv4TcpTwReuse Configuración de Sysctl net.ipv4.tcp_tw_reuse. bool
netNetfilterNfConntrackBuckets Configuración de Sysctl net.netfilter.nf_conntrack_buckets. int
netNetfilterNfConntrackMax Configuración de Sysctl net.netfilter.nf_conntrack_max. int
vmMaxMapCount Configuración de Sysctl vm.max_map_count. int
vmSwappiness Configuración de Sysctl vm.swappiness. int
vmVfsCachePressure Configuración de Sysctl vm.vfs_cache_pressure. int

UserAssignedIdentity

Name Description Value
clientId Identificador de cliente de la identidad asignada por el usuario. string
objectId Identificador de objeto de la identidad asignada por el usuario. string
resourceId Identificador de recurso de la identidad asignada por el usuario. string

Ejemplos de uso

Módulos comprobados de Azure

Los siguientes módulos comprobados de Azure se pueden usar para implementar este tipo de recurso.

Module Description
Clúster administrado de Azure Kubernetes Service (AKS) Módulo de recursos de AVM para clústeres administrados de Azure Kubernetes Service (AKS)

Ejemplos de inicio rápido de Azure

Los siguientes plantillas de inicio rápido de Azure contienen ejemplos de Bicep para implementar este tipo de recurso.

Archivo Bicep Description
clúster de AKS con una puerta de enlace NAT y un de Application Gateway En este ejemplo se muestra cómo implementar un clúster de AKS con NAT Gateway para las conexiones salientes y una instancia de Application Gateway para las conexiones entrantes.
clúster de AKS con el controlador de entrada de Application Gateway En este ejemplo se muestra cómo implementar un clúster de AKS con Application Gateway, Application Gateway Ingress Controller, Azure Container Registry, Log Analytics y Key Vault
Azure Container Service (AKS) Implementación de un clúster administrado con Azure Container Service (AKS) mediante hosts de contenedor linux de Azure
Azure Container Service (AKS) Implementación de un clúster administrado con Azure Container Service (AKS)
Azure Container Service (AKS) con Helm Implementación de un clúster administrado con Azure Container Service (AKS) con Helm
Azure Kubernetes Service (AKS) Implementa un clúster de Kubernetes administrado mediante Azure Kubernetes Service (AKS)
configuración segura de un extremo a otro de Azure Machine Learning Este conjunto de plantillas de Bicep muestra cómo configurar Azure Machine Learning de un extremo a otro en una configuración segura. Esta implementación de referencia incluye el área de trabajo, un clúster de proceso, una instancia de proceso y un clúster de AKS privado asociado.
configuración segura de un extremo a otro de Azure Machine Learning (heredado) Este conjunto de plantillas de Bicep muestra cómo configurar Azure Machine Learning de un extremo a otro en una configuración segura. Esta implementación de referencia incluye el área de trabajo, un clúster de proceso, una instancia de proceso y un clúster de AKS privado asociado.
Crear un clúster de AKS privado En este ejemplo se muestra cómo crear un clúster de AKS privado en una red virtual junto con una máquina virtual jumpbox.
Crear AKS con Prometheus y Grafana con vínculo privae Esto creará una instancia de Azure grafana, AKS e instalará Prometheus, un kit de herramientas de supervisión y alertas de código abierto, en un clúster de Azure Kubernetes Service (AKS). Después, use el punto de conexión privado administrado de Azure Managed Grafana para conectarse a este servidor de Prometheus y mostrar los datos de Prometheus en un panel de Grafana.

Definición de recursos de plantilla de ARM

El tipo de recurso managedClusters se puede implementar con operaciones destinadas a:

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.ContainerService/managedClusters, agregue el siguiente JSON a la plantilla.

{
  "type": "Microsoft.ContainerService/managedClusters",
  "apiVersion": "2020-12-01",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "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",
        "enableAutoScaling": "bool",
        "enableEncryptionAtHost": "bool",
        "enableNodePublicIP": "bool",
        "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"
        },
        "nodeTaints": [ "string" ],
        "orchestratorVersion": "string",
        "osDiskSizeGB": "int",
        "osDiskType": "string",
        "osType": "string",
        "podSubnetID": "string",
        "proximityPlacementGroupID": "string",
        "scaleSetEvictionPolicy": "string",
        "scaleSetPriority": "string",
        "spotMaxPrice": "int",
        "tags": {
          "{customized property}": "string"
        },
        "type": "string",
        "upgradeSettings": {
          "maxSurge": "string"
        },
        "vmSize": "string",
        "vnetSubnetID": "string"
      }
    ],
    "apiServerAccessProfile": {
      "authorizedIPRanges": [ "string" ],
      "enablePrivateCluster": "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"
    },
    "diskEncryptionSetID": "string",
    "dnsPrefix": "string",
    "enablePodSecurityPolicy": "bool",
    "enableRBAC": "bool",
    "identityProfile": {
      "{customized property}": {
        "clientId": "string",
        "objectId": "string",
        "resourceId": "string"
      }
    },
    "kubernetesVersion": "string",
    "linuxProfile": {
      "adminUsername": "string",
      "ssh": {
        "publicKeys": [
          {
            "keyData": "string"
          }
        ]
      }
    },
    "networkProfile": {
      "dnsServiceIP": "string",
      "dockerBridgeCidr": "string",
      "loadBalancerProfile": {
        "allocatedOutboundPorts": "int",
        "effectiveOutboundIPs": [
          {
            "id": "string"
          }
        ],
        "idleTimeoutInMinutes": "int",
        "managedOutboundIPs": {
          "count": "int"
        },
        "outboundIPPrefixes": {
          "publicIPPrefixes": [
            {
              "id": "string"
            }
          ]
        },
        "outboundIPs": {
          "publicIPs": [
            {
              "id": "string"
            }
          ]
        }
      },
      "loadBalancerSku": "string",
      "networkMode": "string",
      "networkPlugin": "string",
      "networkPolicy": "string",
      "outboundType": "string",
      "podCidr": "string",
      "serviceCidr": "string"
    },
    "nodeResourceGroup": "string",
    "podIdentityProfile": {
      "enabled": "bool",
      "userAssignedIdentities": [
        {
          "identity": {
            "clientId": "string",
            "objectId": "string",
            "resourceId": "string"
          },
          "name": "string",
          "namespace": "string"
        }
      ],
      "userAssignedIdentityExceptions": [
        {
          "name": "string",
          "namespace": "string",
          "podLabels": {
            "{customized property}": "string"
          }
        }
      ]
    },
    "servicePrincipalProfile": {
      "clientId": "string",
      "secret": "string"
    },
    "windowsProfile": {
      "adminPassword": "string",
      "adminUsername": "string",
      "licenseType": "string"
    }
  },
  "sku": {
    "name": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Valores de propiedad

Microsoft.ContainerService/managedClusters

Name Description Value
apiVersion La versión de api '2020-12-01'
identity Identidad del clúster administrado, si está configurada. ManagedClusterIdentity
location Ubicación del recurso string (obligatorio)
name El nombre del recurso string

Constraints:
Longitud mínima = 1
Longitud máxima = 63
Patrón = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (obligatorio)
properties Propiedades de un clúster administrado. ManagedClusterProperties
sku SKU del clúster administrado. ManagedClusterSKU
tags Etiquetas de recursos Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas
type El tipo de recurso 'Microsoft.ContainerService/managedClusters'

AgentPoolUpgradeSettings

Name Description Value
maxSurge Recuento o porcentaje de nodos adicionales que se van a agregar durante la actualización. Si está vacío, usa el valor predeterminado de AKS string

Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties

Name Description Value

ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties

Name Description Value
clientId Identificador de cliente de la identidad asignada por el usuario. string
objectId Identificador de objeto de la identidad asignada por el usuario. string
resourceId Identificador de recurso de la identidad asignada por el usuario. string

ContainerServiceLinuxProfile

Name Description Value
adminUsername Nombre de usuario del administrador que se va a usar para máquinas virtuales Linux. string

Constraints:
Patrón = ^[A-Za-z][-A-Za-z0-9_]*$ (obligatorio)
ssh Configuración de SSH para máquinas virtuales basadas en Linux que se ejecutan en Azure. ContainerServiceSshConfiguration (obligatorio)

ContainerServiceNetworkProfile

Name Description Value
dnsServiceIP Una dirección IP asignada al servicio DNS de Kubernetes. Debe estar dentro del intervalo de direcciones del servicio kubernetes especificado en serviceCidr. string

Constraints:
Patrón = ^(?:(?: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 Intervalo IP de notación CIDR asignado a la red del puente de Docker. No se debe superponer con ningún intervalo IP de subred ni con el intervalo de direcciones del servicio Kubernetes. string

Constraints:
Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
loadBalancerProfile Perfil del equilibrador de carga del clúster. ManagedClusterLoadBalancerProfile
loadBalancerSku SKU del equilibrador de carga para el clúster administrado. 'basic'
'standard'
networkMode Modo de red que se usa para compilar la red de Kubernetes. 'bridge'
'transparent'
networkPlugin Complemento de red que se usa para compilar la red de Kubernetes. 'azure'
'kubenet'
networkPolicy Directiva de red que se usa para compilar la red de Kubernetes. 'azure'
'calico'
outboundType Método de enrutamiento de salida (salida). 'loadBalancer'
'userDefinedRouting'
podCidr Intervalo IP de notación CIDR desde el que se van a asignar direcciones IP de pod cuando se usa kubenet. string

Constraints:
Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidr Intervalo IP de notación CIDR desde el que se van a asignar direcciones IP del clúster de servicio. No debe superponerse con ningún intervalo IP de subred. string

Constraints:
Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$

ContainerServiceSshConfiguration

Name Description Value
publicKeys Lista de claves públicas SSH que se usan para autenticarse con máquinas virtuales basadas en Linux. Solo se espera una clave especificada. ContainerServiceSshPublicKey[] (obligatorio)

ContainerServiceSshPublicKey

Name Description Value
keyData Clave pública de certificado que se usa para autenticarse con máquinas virtuales a través de SSH. El certificado debe estar en formato PEM con o sin encabezados. string (obligatorio)

KubeletConfig

Name Description Value
allowedUnsafeSysctls Lista de permitidos de sysctls no seguros o patrones sysctl no seguros (que terminan en *). string[]
containerLogMaxFiles El número máximo de archivos de registro de contenedor que pueden estar presentes para un contenedor. El número debe ser ≥ 2. int

Constraints:
Valor mínimo = 2
containerLogMaxSizeMB Tamaño máximo (por ejemplo, 10Mi) del archivo de registro de contenedor antes de girarlo. int
cpuCfsQuota Habilite la aplicación de cuota de CFS de CPU para contenedores que especifiquen límites de CPU. bool
cpuCfsQuotaPeriod Establece el valor del período de cuota cfS de CPU. string
cpuManagerPolicy Directiva del Administrador de CPU que se va a usar. string
failSwapOn Si se establece en true, se producirá un error al iniciar Kubelet si el intercambio está habilitado en el nodo. bool
imageGcHighThreshold El porcentaje de uso del disco después del cual siempre se ejecuta la recolección de elementos no utilizados de imagen. int
imageGcLowThreshold El porcentaje de uso del disco antes del cual nunca se ejecuta la recolección de elementos no utilizados de imagen. int
podMaxPids Número máximo de procesos por pod. int
topologyManagerPolicy Directiva del Administrador de topologías que se va a usar. string

LinuxOSConfig

Name Description Value
swapFileSizeMB SwapFileSizeMB especifica el tamaño en MB de un archivo de intercambio que se creará en cada nodo. int
sysctls Configuración de Sysctl para los nodos del agente de Linux. SysctlConfig
transparentHugePageDefrag Configuración de desfragmentación de página enorme transparente. string
transparentHugePageEnabled Configuración transparente habilitada para páginas enormes. string

ManagedClusterAADProfile

Name Description Value
adminGroupObjectIDs Identificadores de objeto de grupo de AAD que tendrán el rol de administrador del clúster. string[]
clientAppID Identificador de aplicación de AAD cliente. string
enableAzureRBAC Si se habilita RBAC de Azure para la autorización de Kubernetes. bool
managed Si se va a habilitar AAD administrado. bool
serverAppID Identificador de aplicación de AAD del servidor. string
serverAppSecret Secreto de aplicación de AAD del servidor. string
tenantID Identificador de inquilino de AAD que se va a usar para la autenticación. Si no se especifica, usará el inquilino de la suscripción de implementación. string

ManagedClusterAddonProfile

Name Description Value
config Pares clave-valor para configurar un complemento. ManagedClusterAddonProfileConfig
enabled Indica si el complemento está habilitado o no. bool (obligatorio)

ManagedClusterAddonProfileConfig

Name Description Value

ManagedClusterAgentPoolProfile

Name Description Value
availabilityZones Zonas de disponibilidad para nodos. Debe usar VirtualMachineScaleSets AgentPoolType. string[]
count Número de agentes (VM) para hospedar contenedores de Docker. Los valores permitidos deben estar comprendidos entre 0 y 100 (ambos incluidos) para los grupos de usuarios y en el intervalo de 1 a 100 (ambos incluidos) para los grupos del sistema. El valor predeterminado es 1. int
enableAutoScaling Si se va a habilitar el escalador automático bool
enableEncryptionAtHost Si se va a habilitar EncryptionAtHost bool
enableNodePublicIP Habilitación de la dirección IP pública para los nodos bool
kubeletConfig KubeletConfig especifica la configuración de kubelet en los nodos del agente. KubeletConfig
kubeletDiskType KubeletDiskType determina la ubicación de volúmenes emptyDir, raíz de datos en tiempo de ejecución del contenedor y almacenamiento efímero de Kubelet. Actualmente permite un valor, sistema operativo, lo que da lugar a Kubelet mediante el disco del sistema operativo para los datos. 'OS'
linuxOSConfig LinuxOSConfig especifica la configuración del sistema operativo de los nodos del agente de Linux. LinuxOSConfig
maxCount Número máximo de nodos para el escalado automático int
maxPods Número máximo de pods que se pueden ejecutar en un nodo. int
minCount Número mínimo de nodos para el escalado automático int
mode AgentPoolMode representa el modo de un grupo de agentes. 'System'
'User'
name Nombre único del perfil del grupo de agentes en el contexto de la suscripción y el grupo de recursos. string

Constraints:
Patrón = ^[a-z][a-z0-9]{0,11}$ (obligatorio)
nodeLabels Etiquetas de nodo del grupo de agentes que se conservarán en todos los nodos del grupo de agentes. ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodeTaints Taints agregados a nuevos nodos durante la creación y escalado del grupo de nodos. Por ejemplo, key=value:NoSchedule. string[]
orchestratorVersion Versión del orquestador especificada al crear el clúster administrado. string
osDiskSizeGB Tamaño del disco del sistema operativo en GB que se va a usar para especificar el tamaño del disco para cada máquina de este grupo de maestros o agentes. Si especifica 0, se aplicará el tamaño predeterminado de osDisk según el valor de vmSize especificado. int

Constraints:
Valor mínimo = 0
Valor máximo = 1023
osDiskType Tipo de disco del sistema operativo que se va a usar para las máquinas de un grupo de agentes determinado. Los valores permitidos son "Efímero" y "Administrado". Si no se especifica, el valor predeterminado es "Efímero" cuando la máquina virtual admite sistema operativo efímero y tiene un disco de caché mayor que el OSDiskSizeGB solicitado. De lo contrario, el valor predeterminado es "Administrado". Es posible que no se cambie después de la creación. 'Ephemeral'
'Managed'
osType OsType que se va a usar para especificar el tipo de sistema operativo. Elija entre Linux y Windows. El valor predeterminado es Linux. 'Linux'
'Windows'
podSubnetID Pod SubnetID especifica el identificador de subred de la red virtual para los pods. string
proximityPlacementGroupID Identificador del grupo de selección de ubicación de proximidad. string
scaleSetEvictionPolicy ScaleSetEvictionPolicy que se va a usar para especificar la directiva de expulsión para el conjunto de escalado de máquinas virtuales de Spot. Valor predeterminado es Eliminar. 'Deallocate'
'Delete'
scaleSetPriority ScaleSetPriority que se usará para especificar la prioridad del conjunto de escalado de máquinas virtuales. El valor predeterminado es normal. 'Regular'
'Spot'
spotMaxPrice SpotMaxPrice que se usará para especificar el precio máximo que está dispuesto a pagar en dólares estadounidenses. Los valores posibles son cualquier valor decimal mayor que cero o -1 que indica que el precio predeterminado debe ser up-to a petición. int
tags Etiquetas de grupo de agentes que se conservarán en el conjunto de escalado de máquinas virtuales del grupo de agentes. ManagedClusterAgentPoolProfilePropertiesTags
type AgentPoolType representa los tipos de un grupo de agentes. 'AvailabilitySet'
'VirtualMachineScaleSets'
upgradeSettings Configuración para actualizar el grupo de agentes AgentPoolUpgradeSettings
vmSize Tamaño de las máquinas virtuales del agente. 'Standard_A1'
'Standard_A10'
'Standard_A11'
'Standard_A1_v2'
'Standard_A2'
'Standard_A2m_v2'
'Standard_A2_v2'
'Standard_A3'
'Standard_A4'
'Standard_A4m_v2'
'Standard_A4_v2'
'Standard_A5'
'Standard_A6'
'Standard_A7'
'Standard_A8'
'Standard_A8m_v2'
'Standard_A8_v2'
'Standard_A9'
'Standard_B2ms'
'Standard_B2s'
'Standard_B4ms'
'Standard_B8ms'
'Standard_D1'
'Standard_D11'
'Standard_D11_v2'
'Standard_D11_v2_Promo'
'Standard_D12'
'Standard_D12_v2'
'Standard_D12_v2_Promo'
'Standard_D13'
'Standard_D13_v2'
'Standard_D13_v2_Promo'
'Standard_D14'
'Standard_D14_v2'
'Standard_D14_v2_Promo'
'Standard_D15_v2'
'Standard_D16s_v3'
'Standard_D16_v3'
'Standard_D1_v2'
'Standard_D2'
'Standard_D2s_v3'
'Standard_D2_v2'
'Standard_D2_v2_Promo'
'Standard_D2_v3'
'Standard_D3'
'Standard_D32s_v3'
'Standard_D32_v3'
'Standard_D3_v2'
'Standard_D3_v2_Promo'
'Standard_D4'
'Standard_D4s_v3'
'Standard_D4_v2'
'Standard_D4_v2_Promo'
'Standard_D4_v3'
'Standard_D5_v2'
'Standard_D5_v2_Promo'
'Standard_D64s_v3'
'Standard_D64_v3'
'Standard_D8s_v3'
'Standard_D8_v3'
'Standard_DS1'
'Standard_DS11'
'Standard_DS11_v2'
'Standard_DS11_v2_Promo'
'Standard_DS12'
'Standard_DS12_v2'
'Standard_DS12_v2_Promo'
'Standard_DS13'
'Standard_DS13-2_v2'
'Standard_DS13-4_v2'
'Standard_DS13_v2'
'Standard_DS13_v2_Promo'
'Standard_DS14'
'Standard_DS14-4_v2'
'Standard_DS14-8_v2'
'Standard_DS14_v2'
'Standard_DS14_v2_Promo'
'Standard_DS15_v2'
'Standard_DS1_v2'
'Standard_DS2'
'Standard_DS2_v2'
'Standard_DS2_v2_Promo'
'Standard_DS3'
'Standard_DS3_v2'
'Standard_DS3_v2_Promo'
'Standard_DS4'
'Standard_DS4_v2'
'Standard_DS4_v2_Promo'
'Standard_DS5_v2'
'Standard_DS5_v2_Promo'
'Standard_E16s_v3'
'Standard_E16_v3'
'Standard_E2s_v3'
'Standard_E2_v3'
'Standard_E32-16s_v3'
'Standard_E32-8s_v3'
'Standard_E32s_v3'
'Standard_E32_v3'
'Standard_E4s_v3'
'Standard_E4_v3'
'Standard_E64-16s_v3'
'Standard_E64-32s_v3'
'Standard_E64s_v3'
'Standard_E64_v3'
'Standard_E8s_v3'
'Standard_E8_v3'
'Standard_F1'
'Standard_F16'
'Standard_F16s'
'Standard_F16s_v2'
'Standard_F1s'
'Standard_F2'
'Standard_F2s'
'Standard_F2s_v2'
'Standard_F32s_v2'
'Standard_F4'
'Standard_F4s'
'Standard_F4s_v2'
'Standard_F64s_v2'
'Standard_F72s_v2'
'Standard_F8'
'Standard_F8s'
'Standard_F8s_v2'
'Standard_G1'
'Standard_G2'
'Standard_G3'
'Standard_G4'
'Standard_G5'
'Standard_GS1'
'Standard_GS2'
'Standard_GS3'
'Standard_GS4'
'Standard_GS4-4'
'Standard_GS4-8'
'Standard_GS5'
'Standard_GS5-16'
'Standard_GS5-8'
'Standard_H16'
'Standard_H16m'
'Standard_H16mr'
'Standard_H16r'
'Standard_H8'
'Standard_H8m'
'Standard_L16s'
'Standard_L32s'
'Standard_L4s'
'Standard_L8s'
'Standard_M128-32ms'
'Standard_M128-64ms'
'Standard_M128ms'
'Standard_M128s'
'Standard_M64-16ms'
'Standard_M64-32ms'
'Standard_M64ms'
'Standard_M64s'
'Standard_NC12'
'Standard_NC12s_v2'
'Standard_NC12s_v3'
'Standard_NC24'
'Standard_NC24r'
'Standard_NC24rs_v2'
'Standard_NC24rs_v3'
'Standard_NC24s_v2'
'Standard_NC24s_v3'
'Standard_NC6'
'Standard_NC6s_v2'
'Standard_NC6s_v3'
'Standard_ND12s'
'Standard_ND24rs'
'Standard_ND24s'
'Standard_ND6s'
'Standard_NV12'
'Standard_NV24'
'Standard_NV6'
vnetSubnetID VNet SubnetID especifica el identificador de subred de la red virtual para los nodos y quizás los pods string

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Name Description Value

ManagedClusterAgentPoolProfilePropertiesTags

Name Description Value

ManagedClusterAPIServerAccessProfile

Name Description Value
authorizedIPRanges Intervalos IP autorizados para el servidor de API de Kubernetes. string[]
enablePrivateCluster Si se va a crear el clúster como un clúster privado o no. bool
privateDNSZone Modo de zona dns privada para el clúster privado. string

ManagedClusterAutoUpgradeProfile

Name Description Value
upgradeChannel canal de actualización para la actualización automática. 'none'
'patch'
'rapid'
'stable'

ManagedClusterIdentity

Name Description Value
type Tipo de identidad que se usa para el clúster administrado. El tipo "SystemAssigned" usará una identidad creada implícitamente en los componentes maestros y una identidad asignada por el usuario creado automáticamente en MC_ grupo de recursos en los nodos del agente. En su lugar, el tipo "None" no usará MSI para el clúster administrado. 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities Identidad de usuario asociada al clúster administrado. Esta identidad se usará en el plano de control y solo se permite una identidad asignada por el usuario. Las referencias de clave de diccionario de identidad de usuario serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

Name Description Value

ManagedClusterLoadBalancerProfile

Name Description Value
allocatedOutboundPorts Número deseado de puertos SNAT asignados por máquina virtual. Los valores permitidos deben estar en el intervalo de 0 a 64000 (ambos incluidos). El valor predeterminado es 0, lo que da como resultado la asignación dinámica de puertos de Azure. int

Constraints:
Valor mínimo = 0
Valor máximo = 64000
effectiveOutboundIPs Los recursos DE IP de salida efectivos del equilibrador de carga del clúster. ResourceReference[]
idleTimeoutInMinutes Tiempo de espera de inactividad de flujo de salida deseado en minutos. Los valores permitidos deben estar en el intervalo de 4 a 120 (ambos incluidos). El valor predeterminado es de 30 minutos. int

Constraints:
Valor mínimo = 4
Valor máximo = 120
managedOutboundIPs Direcciones IP de salida administradas deseadas para el equilibrador de carga del clúster. ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes Recursos de prefijo ip de salida deseados para el equilibrador de carga del clúster. ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs Recursos IP de salida deseados para el equilibrador de carga del clúster. ManagedClusterLoadBalancerProfileOutboundIPs

ManagedClusterLoadBalancerProfileManagedOutboundIPs

Name Description Value
count Número deseado de direcciones IP de salida creadas o administradas por Azure para el equilibrador de carga del clúster. Los valores permitidos deben estar en el intervalo de 1 a 100 (ambos incluidos). El valor predeterminado es 1. int

Constraints:
Valor mínimo = 1
Valor máximo = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

Name Description Value
publicIPPrefixes Lista de recursos de prefijo de IP pública. ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

Name Description Value
publicIPs Lista de recursos de ip pública. ResourceReference[]

ManagedClusterPodIdentity

Name Description Value
identity Información de la identidad asignada por el usuario. UserAssignedIdentity (obligatorio)
name Nombre de la identidad del pod. string (obligatorio)
namespace Espacio de nombres de la identidad del pod. string (obligatorio)

ManagedClusterPodIdentityException

Name Description Value
name Nombre de la excepción de identidad del pod. string (obligatorio)
namespace Espacio de nombres de la excepción de identidad de pod. string (obligatorio)
podLabels Etiquetas de pod que coincidan. ManagedClusterPodIdentityExceptionPodLabels (obligatorio)

ManagedClusterPodIdentityExceptionPodLabels

Name Description Value

ManagedClusterPodIdentityProfile

Name Description Value
enabled Indica si el complemento de identidad de pod está habilitado. bool
userAssignedIdentities Configuración de identidad de pod asignada por el usuario. ManagedClusterPodIdentity[]
userAssignedIdentityExceptions Configuración de excepción de identidad de pod asignada por el usuario. ManagedClusterPodIdentityException[]

ManagedClusterProperties

Name Description Value
aadProfile Perfil de configuración de Azure Active Directory. ManagedClusterAADProfile
addonProfiles Perfil del complemento de clúster administrado. ManagedClusterPropertiesAddonProfiles
agentPoolProfiles Propiedades del grupo de agentes. ManagedClusterAgentPoolProfile[]
apiServerAccessProfile Perfil de acceso para el servidor de API de clúster administrado. ManagedClusterAPIServerAccessProfile
autoScalerProfile Parámetros que se van a aplicar al escalador automático del clúster cuando está habilitado ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile Perfil de configuración de actualización automática. ManagedClusterAutoUpgradeProfile
diskEncryptionSetID ResourceId del conjunto de cifrado de disco que se va a usar para habilitar el cifrado en reposo. string
dnsPrefix Prefijo DNS especificado al crear el clúster administrado. string
enablePodSecurityPolicy (EN DESUSO) Indica si se va a habilitar la directiva de seguridad de pods de Kubernetes (versión preliminar). Esta característica se establece para su eliminación el 15 de octubre de 2020. Obtenga más información en aka.ms/aks/azpodpolicy. bool
enableRBAC Si se va a habilitar Kubernetes Role-Based Access Control. bool
identityProfile Identidades asociadas al clúster. ManagedClusterPropertiesIdentityProfile
kubernetesVersion Versión de Kubernetes especificada al crear el clúster administrado. string
linuxProfile Perfil de máquinas virtuales Linux en el clúster de servicios de contenedor. ContainerServiceLinuxProfile
networkProfile Perfil de configuración de red. ContainerServiceNetworkProfile
nodeResourceGroup Nombre del grupo de recursos que contiene los nodos del grupo de agentes. string
podIdentityProfile Perfil de identidad de pod del clúster administrado. ManagedClusterPodIdentityProfile
servicePrincipalProfile Información sobre una identidad de entidad de servicio para el clúster que se va a usar para manipular las API de Azure. ManagedClusterServicePrincipalProfile
windowsProfile Perfil de máquinas virtuales Windows en el clúster del servicio de contenedor. ManagedClusterWindowsProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterPropertiesAutoScalerProfile

Name Description Value
balance-similar-node-groups string
expander 'least-waste'
'most-pods'
'priority'
'random'
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

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterServicePrincipalProfile

Name Description Value
clientId Identificador de la entidad de servicio. string (obligatorio)
secret Contraseña secreta asociada a la entidad de servicio en texto sin formato. string

ManagedClusterSKU

Name Description Value
name Nombre de una SKU de clúster administrado. 'Basic'
tier Nivel de una SKU de clúster administrado. 'Free'
'Paid'

ManagedClusterWindowsProfile

Name Description Value
adminPassword Especifica la contraseña de la cuenta de administrador.

Longitud mínima: 8 caracteres

Longitud máxima: 123 caracteres

requisitos de complejidad: 3 de 4 condiciones siguientes deben cumplirse.
Tiene caracteres inferiores
Tiene caracteres superiores
Tiene un dígito
Tiene un carácter especial (coincidencia regex [\W_])

Valores no permitidos: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
string
adminUsername Especifica el nombre de la cuenta de administrador.

restricción: No se puede terminar en "."

valores no permitidos: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "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".

Longitud mínima: 1 carácter

Longitud máxima: 20 caracteres
string (obligatorio)
licenseType LicenseType que se va a usar para máquinas virtuales Windows. Windows_Server se usa para habilitar ventajas del usuario híbrido de Azure para máquinas virtuales Windows. 'None'
'Windows_Server'

ResourceReference

Name Description Value
id Identificador completo del recurso de Azure. string

ResourceTags

Name Description Value

SysctlConfig

Name Description Value
fsAioMaxNr Configuración de Sysctl fs.aio-max-nr. int
fsFileMax Configuración de Sysctl fs.file-max. int
fsInotifyMaxUserWatches Configuración de Sysctl fs.inotify.max_user_watches. int
fsNrOpen Configuración de Sysctl fs.nr_open. int
kernelThreadsMax Configuración de Sysctl kernel.threads-max. int
netCoreNetdevMaxBacklog Configuración de Sysctl net.core.netdev_max_backlog. int
netCoreOptmemMax Configuración de Sysctl net.core.optmem_max. int
netCoreRmemDefault Configuración de Sysctl net.core.rmem_default. int
netCoreRmemMax Configuración de Sysctl net.core.rmem_max. int
netCoreSomaxconn Configuración de Sysctl net.core.somaxconn. int
netCoreWmemDefault Configuración de Sysctl net.core.wmem_default. int
netCoreWmemMax Configuración de Sysctl net.core.wmem_max. int
netIpv4IpLocalPortRange Configuración de Sysctl net.ipv4.ip_local_port_range. string
netIpv4NeighDefaultGcThresh1 Configuración de Sysctl net.ipv4.neigh.default.gc_thresh1. int
netIpv4NeighDefaultGcThresh2 Configuración de Sysctl net.ipv4.neigh.default.gc_thresh2. int
netIpv4NeighDefaultGcThresh3 Configuración de Sysctl net.ipv4.neigh.default.gc_thresh3. int
netIpv4TcpFinTimeout Configuración de Sysctl net.ipv4.tcp_fin_timeout. int
netIpv4TcpkeepaliveIntvl Configuración de Sysctl net.ipv4.tcp_keepalive_intvl. int
netIpv4TcpKeepaliveProbes Configuración de Sysctl net.ipv4.tcp_keepalive_probes. int
netIpv4TcpKeepaliveTime Configuración de Sysctl net.ipv4.tcp_keepalive_time. int
netIpv4TcpMaxSynBacklog Configuración de Sysctl net.ipv4.tcp_max_syn_backlog. int
netIpv4TcpMaxTwBuckets Configuración de Sysctl net.ipv4.tcp_max_tw_buckets. int
netIpv4TcpTwReuse Configuración de Sysctl net.ipv4.tcp_tw_reuse. bool
netNetfilterNfConntrackBuckets Configuración de Sysctl net.netfilter.nf_conntrack_buckets. int
netNetfilterNfConntrackMax Configuración de Sysctl net.netfilter.nf_conntrack_max. int
vmMaxMapCount Configuración de Sysctl vm.max_map_count. int
vmSwappiness Configuración de Sysctl vm.swappiness. int
vmVfsCachePressure Configuración de Sysctl vm.vfs_cache_pressure. int

UserAssignedIdentity

Name Description Value
clientId Identificador de cliente de la identidad asignada por el usuario. string
objectId Identificador de objeto de la identidad asignada por el usuario. string
resourceId Identificador de recurso de la identidad asignada por el usuario. string

Ejemplos de uso

Plantillas de inicio rápido de Azure

Los siguientes plantillas de inicio rápido de Azure implementar este tipo de recurso.

Template Description
clúster de AKS con una puerta de enlace NAT y un de Application Gateway

Implementación en Azure
En este ejemplo se muestra cómo implementar un clúster de AKS con NAT Gateway para las conexiones salientes y una instancia de Application Gateway para las conexiones entrantes.
clúster de AKS con el controlador de entrada de Application Gateway

Implementación en Azure
En este ejemplo se muestra cómo implementar un clúster de AKS con Application Gateway, Application Gateway Ingress Controller, Azure Container Registry, Log Analytics y Key Vault
Azure Container Service (AKS)

Implementación en Azure
Implementación de un clúster administrado con Azure Container Service (AKS) mediante hosts de contenedor linux de Azure
Azure Container Service (AKS)

Implementación en Azure
Implementación de un clúster administrado con Azure Container Service (AKS)
Azure Container Service (AKS) con Helm

Implementación en Azure
Implementación de un clúster administrado con Azure Container Service (AKS) con Helm
Azure Kubernetes Service (AKS)

Implementación en Azure
Implementa un clúster de Kubernetes administrado mediante Azure Kubernetes Service (AKS)
configuración segura de un extremo a otro de Azure Machine Learning

Implementación en Azure
Este conjunto de plantillas de Bicep muestra cómo configurar Azure Machine Learning de un extremo a otro en una configuración segura. Esta implementación de referencia incluye el área de trabajo, un clúster de proceso, una instancia de proceso y un clúster de AKS privado asociado.
configuración segura de un extremo a otro de Azure Machine Learning (heredado)

Implementación en Azure
Este conjunto de plantillas de Bicep muestra cómo configurar Azure Machine Learning de un extremo a otro en una configuración segura. Esta implementación de referencia incluye el área de trabajo, un clúster de proceso, una instancia de proceso y un clúster de AKS privado asociado.
CI/CD mediante Jenkins en Azure Container Service (AKS)

Implementación en Azure
Los contenedores facilitan la compilación e implementación continua de las aplicaciones. Mediante la orquestación de la implementación de esos contenedores mediante Kubernetes en Azure Container Service, puede lograr clústeres replicables y administrables de contenedores. Al configurar una compilación continua para generar las imágenes de contenedor y la orquestación, puede aumentar la velocidad y confiabilidad de la implementación.
Crear un clúster de AKS privado

Implementación en Azure
En este ejemplo se muestra cómo crear un clúster de AKS privado en una red virtual junto con una máquina virtual jumpbox.
Crear un clúster de AKS privado con una zona DNS pública

Implementación en Azure
En este ejemplo se muestra cómo implementar un clúster de AKS privado con una zona DNS pública.
Crear AKS con Prometheus y Grafana con vínculo privae

Implementación en Azure
Esto creará una instancia de Azure grafana, AKS e instalará Prometheus, un kit de herramientas de supervisión y alertas de código abierto, en un clúster de Azure Kubernetes Service (AKS). Después, use el punto de conexión privado administrado de Azure Managed Grafana para conectarse a este servidor de Prometheus y mostrar los datos de Prometheus en un panel de Grafana.
Implementación de un clúster de Kubernetes administrado (AKS)

Implementación en Azure
Esta plantilla de ARM muestra la implementación de una instancia de AKS con características avanzadas de red en una red virtual existente. Además, a la entidad de servicio elegida se le asigna el rol Colaborador de red en la subred que contiene el clúster de AKS.
Implementación de un clúster de Kubernetes administrado con AAD (AKS)

Implementación en Azure
Esta plantilla de ARM muestra la implementación de una instancia de AKS con características de red avanzadas en una red virtual existente y la integeración de Azure AD. Además, a la entidad de servicio elegida se le asigna el rol Colaborador de red en la subred que contiene el clúster de AKS.
Implementación de un clúster de AKS para Azure ML

Implementación en Azure
Esta plantilla le permite implementar un clúster de AKS compatible con entreprise que se puede asociar a Azure ML.
min.io Puerta de enlace de Azure

Implementación en Azure
Implementación de puerta de enlace de Azure min.io totalmente privada para proporcionar una API de almacenamiento compatible con S3 respaldada por Blob Storage

Definición de recursos de Terraform (proveedor AzAPI)

El tipo de recurso managedClusters se puede implementar con operaciones destinadas a:

Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.

Formato de recurso

Para crear un recurso Microsoft.ContainerService/managedClusters, agregue el siguiente Terraform a la plantilla.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ContainerService/managedClusters@2020-12-01"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    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
          enableAutoScaling = bool
          enableEncryptionAtHost = bool
          enableNodePublicIP = bool
          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"
          }
          nodeTaints = [
            "string"
          ]
          orchestratorVersion = "string"
          osDiskSizeGB = int
          osDiskType = "string"
          osType = "string"
          podSubnetID = "string"
          proximityPlacementGroupID = "string"
          scaleSetEvictionPolicy = "string"
          scaleSetPriority = "string"
          spotMaxPrice = int
          tags = {
            {customized property} = "string"
          }
          type = "string"
          upgradeSettings = {
            maxSurge = "string"
          }
          vmSize = "string"
          vnetSubnetID = "string"
        }
      ]
      apiServerAccessProfile = {
        authorizedIPRanges = [
          "string"
        ]
        enablePrivateCluster = 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"
      }
      diskEncryptionSetID = "string"
      dnsPrefix = "string"
      enablePodSecurityPolicy = bool
      enableRBAC = bool
      identityProfile = {
        {customized property} = {
          clientId = "string"
          objectId = "string"
          resourceId = "string"
        }
      }
      kubernetesVersion = "string"
      linuxProfile = {
        adminUsername = "string"
        ssh = {
          publicKeys = [
            {
              keyData = "string"
            }
          ]
        }
      }
      networkProfile = {
        dnsServiceIP = "string"
        dockerBridgeCidr = "string"
        loadBalancerProfile = {
          allocatedOutboundPorts = int
          effectiveOutboundIPs = [
            {
              id = "string"
            }
          ]
          idleTimeoutInMinutes = int
          managedOutboundIPs = {
            count = int
          }
          outboundIPPrefixes = {
            publicIPPrefixes = [
              {
                id = "string"
              }
            ]
          }
          outboundIPs = {
            publicIPs = [
              {
                id = "string"
              }
            ]
          }
        }
        loadBalancerSku = "string"
        networkMode = "string"
        networkPlugin = "string"
        networkPolicy = "string"
        outboundType = "string"
        podCidr = "string"
        serviceCidr = "string"
      }
      nodeResourceGroup = "string"
      podIdentityProfile = {
        enabled = bool
        userAssignedIdentities = [
          {
            identity = {
              clientId = "string"
              objectId = "string"
              resourceId = "string"
            }
            name = "string"
            namespace = "string"
          }
        ]
        userAssignedIdentityExceptions = [
          {
            name = "string"
            namespace = "string"
            podLabels = {
              {customized property} = "string"
            }
          }
        ]
      }
      servicePrincipalProfile = {
        clientId = "string"
        secret = "string"
      }
      windowsProfile = {
        adminPassword = "string"
        adminUsername = "string"
        licenseType = "string"
      }
    }
    sku = {
      name = "string"
      tier = "string"
    }
  }
}

Valores de propiedad

Microsoft.ContainerService/managedClusters

Name Description Value
identity Identidad del clúster administrado, si está configurada. ManagedClusterIdentity
location Ubicación del recurso string (obligatorio)
name El nombre del recurso string

Constraints:
Longitud mínima = 1
Longitud máxima = 63
Patrón = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (obligatorio)
parent_id Identificador del recurso al que se va a aplicar este recurso de extensión. string (obligatorio)
properties Propiedades de un clúster administrado. ManagedClusterProperties
sku SKU del clúster administrado. ManagedClusterSKU
tags Etiquetas de recursos Diccionario de nombres y valores de etiqueta.
type El tipo de recurso "Microsoft.ContainerService/managedClusters@2020-12-01"

AgentPoolUpgradeSettings

Name Description Value
maxSurge Recuento o porcentaje de nodos adicionales que se van a agregar durante la actualización. Si está vacío, usa el valor predeterminado de AKS string

Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties

Name Description Value

ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties

Name Description Value
clientId Identificador de cliente de la identidad asignada por el usuario. string
objectId Identificador de objeto de la identidad asignada por el usuario. string
resourceId Identificador de recurso de la identidad asignada por el usuario. string

ContainerServiceLinuxProfile

Name Description Value
adminUsername Nombre de usuario del administrador que se va a usar para máquinas virtuales Linux. string

Constraints:
Patrón = ^[A-Za-z][-A-Za-z0-9_]*$ (obligatorio)
ssh Configuración de SSH para máquinas virtuales basadas en Linux que se ejecutan en Azure. ContainerServiceSshConfiguration (obligatorio)

ContainerServiceNetworkProfile

Name Description Value
dnsServiceIP Una dirección IP asignada al servicio DNS de Kubernetes. Debe estar dentro del intervalo de direcciones del servicio kubernetes especificado en serviceCidr. string

Constraints:
Patrón = ^(?:(?: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 Intervalo IP de notación CIDR asignado a la red del puente de Docker. No se debe superponer con ningún intervalo IP de subred ni con el intervalo de direcciones del servicio Kubernetes. string

Constraints:
Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
loadBalancerProfile Perfil del equilibrador de carga del clúster. ManagedClusterLoadBalancerProfile
loadBalancerSku SKU del equilibrador de carga para el clúster administrado. 'basic'
'standard'
networkMode Modo de red que se usa para compilar la red de Kubernetes. 'bridge'
'transparent'
networkPlugin Complemento de red que se usa para compilar la red de Kubernetes. 'azure'
'kubenet'
networkPolicy Directiva de red que se usa para compilar la red de Kubernetes. 'azure'
'calico'
outboundType Método de enrutamiento de salida (salida). 'loadBalancer'
'userDefinedRouting'
podCidr Intervalo IP de notación CIDR desde el que se van a asignar direcciones IP de pod cuando se usa kubenet. string

Constraints:
Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidr Intervalo IP de notación CIDR desde el que se van a asignar direcciones IP del clúster de servicio. No debe superponerse con ningún intervalo IP de subred. string

Constraints:
Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$

ContainerServiceSshConfiguration

Name Description Value
publicKeys Lista de claves públicas SSH que se usan para autenticarse con máquinas virtuales basadas en Linux. Solo se espera una clave especificada. ContainerServiceSshPublicKey[] (obligatorio)

ContainerServiceSshPublicKey

Name Description Value
keyData Clave pública de certificado que se usa para autenticarse con máquinas virtuales a través de SSH. El certificado debe estar en formato PEM con o sin encabezados. string (obligatorio)

KubeletConfig

Name Description Value
allowedUnsafeSysctls Lista de permitidos de sysctls no seguros o patrones sysctl no seguros (que terminan en *). string[]
containerLogMaxFiles El número máximo de archivos de registro de contenedor que pueden estar presentes para un contenedor. El número debe ser ≥ 2. int

Constraints:
Valor mínimo = 2
containerLogMaxSizeMB Tamaño máximo (por ejemplo, 10Mi) del archivo de registro de contenedor antes de girarlo. int
cpuCfsQuota Habilite la aplicación de cuota de CFS de CPU para contenedores que especifiquen límites de CPU. bool
cpuCfsQuotaPeriod Establece el valor del período de cuota cfS de CPU. string
cpuManagerPolicy Directiva del Administrador de CPU que se va a usar. string
failSwapOn Si se establece en true, se producirá un error al iniciar Kubelet si el intercambio está habilitado en el nodo. bool
imageGcHighThreshold El porcentaje de uso del disco después del cual siempre se ejecuta la recolección de elementos no utilizados de imagen. int
imageGcLowThreshold El porcentaje de uso del disco antes del cual nunca se ejecuta la recolección de elementos no utilizados de imagen. int
podMaxPids Número máximo de procesos por pod. int
topologyManagerPolicy Directiva del Administrador de topologías que se va a usar. string

LinuxOSConfig

Name Description Value
swapFileSizeMB SwapFileSizeMB especifica el tamaño en MB de un archivo de intercambio que se creará en cada nodo. int
sysctls Configuración de Sysctl para los nodos del agente de Linux. SysctlConfig
transparentHugePageDefrag Configuración de desfragmentación de página enorme transparente. string
transparentHugePageEnabled Configuración transparente habilitada para páginas enormes. string

ManagedClusterAADProfile

Name Description Value
adminGroupObjectIDs Identificadores de objeto de grupo de AAD que tendrán el rol de administrador del clúster. string[]
clientAppID Identificador de aplicación de AAD cliente. string
enableAzureRBAC Si se habilita RBAC de Azure para la autorización de Kubernetes. bool
managed Si se va a habilitar AAD administrado. bool
serverAppID Identificador de aplicación de AAD del servidor. string
serverAppSecret Secreto de aplicación de AAD del servidor. string
tenantID Identificador de inquilino de AAD que se va a usar para la autenticación. Si no se especifica, usará el inquilino de la suscripción de implementación. string

ManagedClusterAddonProfile

Name Description Value
config Pares clave-valor para configurar un complemento. ManagedClusterAddonProfileConfig
enabled Indica si el complemento está habilitado o no. bool (obligatorio)

ManagedClusterAddonProfileConfig

Name Description Value

ManagedClusterAgentPoolProfile

Name Description Value
availabilityZones Zonas de disponibilidad para nodos. Debe usar VirtualMachineScaleSets AgentPoolType. string[]
count Número de agentes (VM) para hospedar contenedores de Docker. Los valores permitidos deben estar comprendidos entre 0 y 100 (ambos incluidos) para los grupos de usuarios y en el intervalo de 1 a 100 (ambos incluidos) para los grupos del sistema. El valor predeterminado es 1. int
enableAutoScaling Si se va a habilitar el escalador automático bool
enableEncryptionAtHost Si se va a habilitar EncryptionAtHost bool
enableNodePublicIP Habilitación de la dirección IP pública para los nodos bool
kubeletConfig KubeletConfig especifica la configuración de kubelet en los nodos del agente. KubeletConfig
kubeletDiskType KubeletDiskType determina la ubicación de volúmenes emptyDir, raíz de datos en tiempo de ejecución del contenedor y almacenamiento efímero de Kubelet. Actualmente permite un valor, sistema operativo, lo que da lugar a Kubelet mediante el disco del sistema operativo para los datos. 'OS'
linuxOSConfig LinuxOSConfig especifica la configuración del sistema operativo de los nodos del agente de Linux. LinuxOSConfig
maxCount Número máximo de nodos para el escalado automático int
maxPods Número máximo de pods que se pueden ejecutar en un nodo. int
minCount Número mínimo de nodos para el escalado automático int
mode AgentPoolMode representa el modo de un grupo de agentes. 'System'
'User'
name Nombre único del perfil del grupo de agentes en el contexto de la suscripción y el grupo de recursos. string

Constraints:
Patrón = ^[a-z][a-z0-9]{0,11}$ (obligatorio)
nodeLabels Etiquetas de nodo del grupo de agentes que se conservarán en todos los nodos del grupo de agentes. ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodeTaints Taints agregados a nuevos nodos durante la creación y escalado del grupo de nodos. Por ejemplo, key=value:NoSchedule. string[]
orchestratorVersion Versión del orquestador especificada al crear el clúster administrado. string
osDiskSizeGB Tamaño del disco del sistema operativo en GB que se va a usar para especificar el tamaño del disco para cada máquina de este grupo de maestros o agentes. Si especifica 0, se aplicará el tamaño predeterminado de osDisk según el valor de vmSize especificado. int

Constraints:
Valor mínimo = 0
Valor máximo = 1023
osDiskType Tipo de disco del sistema operativo que se va a usar para las máquinas de un grupo de agentes determinado. Los valores permitidos son "Efímero" y "Administrado". Si no se especifica, el valor predeterminado es "Efímero" cuando la máquina virtual admite sistema operativo efímero y tiene un disco de caché mayor que el OSDiskSizeGB solicitado. De lo contrario, el valor predeterminado es "Administrado". Es posible que no se cambie después de la creación. 'Ephemeral'
'Managed'
osType OsType que se va a usar para especificar el tipo de sistema operativo. Elija entre Linux y Windows. El valor predeterminado es Linux. 'Linux'
'Windows'
podSubnetID Pod SubnetID especifica el identificador de subred de la red virtual para los pods. string
proximityPlacementGroupID Identificador del grupo de selección de ubicación de proximidad. string
scaleSetEvictionPolicy ScaleSetEvictionPolicy que se va a usar para especificar la directiva de expulsión para el conjunto de escalado de máquinas virtuales de Spot. Valor predeterminado es Eliminar. 'Deallocate'
'Delete'
scaleSetPriority ScaleSetPriority que se usará para especificar la prioridad del conjunto de escalado de máquinas virtuales. El valor predeterminado es normal. 'Regular'
'Spot'
spotMaxPrice SpotMaxPrice que se usará para especificar el precio máximo que está dispuesto a pagar en dólares estadounidenses. Los valores posibles son cualquier valor decimal mayor que cero o -1 que indica que el precio predeterminado debe ser up-to a petición. int
tags Etiquetas de grupo de agentes que se conservarán en el conjunto de escalado de máquinas virtuales del grupo de agentes. ManagedClusterAgentPoolProfilePropertiesTags
type AgentPoolType representa los tipos de un grupo de agentes. 'AvailabilitySet'
'VirtualMachineScaleSets'
upgradeSettings Configuración para actualizar el grupo de agentes AgentPoolUpgradeSettings
vmSize Tamaño de las máquinas virtuales del agente. 'Standard_A1'
'Standard_A10'
'Standard_A11'
'Standard_A1_v2'
'Standard_A2'
'Standard_A2m_v2'
'Standard_A2_v2'
'Standard_A3'
'Standard_A4'
'Standard_A4m_v2'
'Standard_A4_v2'
'Standard_A5'
'Standard_A6'
'Standard_A7'
'Standard_A8'
'Standard_A8m_v2'
'Standard_A8_v2'
'Standard_A9'
'Standard_B2ms'
'Standard_B2s'
'Standard_B4ms'
'Standard_B8ms'
'Standard_D1'
'Standard_D11'
'Standard_D11_v2'
'Standard_D11_v2_Promo'
'Standard_D12'
'Standard_D12_v2'
'Standard_D12_v2_Promo'
'Standard_D13'
'Standard_D13_v2'
'Standard_D13_v2_Promo'
'Standard_D14'
'Standard_D14_v2'
'Standard_D14_v2_Promo'
'Standard_D15_v2'
'Standard_D16s_v3'
'Standard_D16_v3'
'Standard_D1_v2'
'Standard_D2'
'Standard_D2s_v3'
'Standard_D2_v2'
'Standard_D2_v2_Promo'
'Standard_D2_v3'
'Standard_D3'
'Standard_D32s_v3'
'Standard_D32_v3'
'Standard_D3_v2'
'Standard_D3_v2_Promo'
'Standard_D4'
'Standard_D4s_v3'
'Standard_D4_v2'
'Standard_D4_v2_Promo'
'Standard_D4_v3'
'Standard_D5_v2'
'Standard_D5_v2_Promo'
'Standard_D64s_v3'
'Standard_D64_v3'
'Standard_D8s_v3'
'Standard_D8_v3'
'Standard_DS1'
'Standard_DS11'
'Standard_DS11_v2'
'Standard_DS11_v2_Promo'
'Standard_DS12'
'Standard_DS12_v2'
'Standard_DS12_v2_Promo'
'Standard_DS13'
'Standard_DS13-2_v2'
'Standard_DS13-4_v2'
'Standard_DS13_v2'
'Standard_DS13_v2_Promo'
'Standard_DS14'
'Standard_DS14-4_v2'
'Standard_DS14-8_v2'
'Standard_DS14_v2'
'Standard_DS14_v2_Promo'
'Standard_DS15_v2'
'Standard_DS1_v2'
'Standard_DS2'
'Standard_DS2_v2'
'Standard_DS2_v2_Promo'
'Standard_DS3'
'Standard_DS3_v2'
'Standard_DS3_v2_Promo'
'Standard_DS4'
'Standard_DS4_v2'
'Standard_DS4_v2_Promo'
'Standard_DS5_v2'
'Standard_DS5_v2_Promo'
'Standard_E16s_v3'
'Standard_E16_v3'
'Standard_E2s_v3'
'Standard_E2_v3'
'Standard_E32-16s_v3'
'Standard_E32-8s_v3'
'Standard_E32s_v3'
'Standard_E32_v3'
'Standard_E4s_v3'
'Standard_E4_v3'
'Standard_E64-16s_v3'
'Standard_E64-32s_v3'
'Standard_E64s_v3'
'Standard_E64_v3'
'Standard_E8s_v3'
'Standard_E8_v3'
'Standard_F1'
'Standard_F16'
'Standard_F16s'
'Standard_F16s_v2'
'Standard_F1s'
'Standard_F2'
'Standard_F2s'
'Standard_F2s_v2'
'Standard_F32s_v2'
'Standard_F4'
'Standard_F4s'
'Standard_F4s_v2'
'Standard_F64s_v2'
'Standard_F72s_v2'
'Standard_F8'
'Standard_F8s'
'Standard_F8s_v2'
'Standard_G1'
'Standard_G2'
'Standard_G3'
'Standard_G4'
'Standard_G5'
'Standard_GS1'
'Standard_GS2'
'Standard_GS3'
'Standard_GS4'
'Standard_GS4-4'
'Standard_GS4-8'
'Standard_GS5'
'Standard_GS5-16'
'Standard_GS5-8'
'Standard_H16'
'Standard_H16m'
'Standard_H16mr'
'Standard_H16r'
'Standard_H8'
'Standard_H8m'
'Standard_L16s'
'Standard_L32s'
'Standard_L4s'
'Standard_L8s'
'Standard_M128-32ms'
'Standard_M128-64ms'
'Standard_M128ms'
'Standard_M128s'
'Standard_M64-16ms'
'Standard_M64-32ms'
'Standard_M64ms'
'Standard_M64s'
'Standard_NC12'
'Standard_NC12s_v2'
'Standard_NC12s_v3'
'Standard_NC24'
'Standard_NC24r'
'Standard_NC24rs_v2'
'Standard_NC24rs_v3'
'Standard_NC24s_v2'
'Standard_NC24s_v3'
'Standard_NC6'
'Standard_NC6s_v2'
'Standard_NC6s_v3'
'Standard_ND12s'
'Standard_ND24rs'
'Standard_ND24s'
'Standard_ND6s'
'Standard_NV12'
'Standard_NV24'
'Standard_NV6'
vnetSubnetID VNet SubnetID especifica el identificador de subred de la red virtual para los nodos y quizás los pods string

ManagedClusterAgentPoolProfilePropertiesNodeLabels

Name Description Value

ManagedClusterAgentPoolProfilePropertiesTags

Name Description Value

ManagedClusterAPIServerAccessProfile

Name Description Value
authorizedIPRanges Intervalos IP autorizados para el servidor de API de Kubernetes. string[]
enablePrivateCluster Si se va a crear el clúster como un clúster privado o no. bool
privateDNSZone Modo de zona dns privada para el clúster privado. string

ManagedClusterAutoUpgradeProfile

Name Description Value
upgradeChannel canal de actualización para la actualización automática. 'none'
'patch'
'rapid'
'stable'

ManagedClusterIdentity

Name Description Value
type Tipo de identidad que se usa para el clúster administrado. El tipo "SystemAssigned" usará una identidad creada implícitamente en los componentes maestros y una identidad asignada por el usuario creado automáticamente en MC_ grupo de recursos en los nodos del agente. En su lugar, el tipo "None" no usará MSI para el clúster administrado. 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities Identidad de usuario asociada al clúster administrado. Esta identidad se usará en el plano de control y solo se permite una identidad asignada por el usuario. Las referencias de clave de diccionario de identidad de usuario serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

Name Description Value

ManagedClusterLoadBalancerProfile

Name Description Value
allocatedOutboundPorts Número deseado de puertos SNAT asignados por máquina virtual. Los valores permitidos deben estar en el intervalo de 0 a 64000 (ambos incluidos). El valor predeterminado es 0, lo que da como resultado la asignación dinámica de puertos de Azure. int

Constraints:
Valor mínimo = 0
Valor máximo = 64000
effectiveOutboundIPs Los recursos DE IP de salida efectivos del equilibrador de carga del clúster. ResourceReference[]
idleTimeoutInMinutes Tiempo de espera de inactividad de flujo de salida deseado en minutos. Los valores permitidos deben estar en el intervalo de 4 a 120 (ambos incluidos). El valor predeterminado es de 30 minutos. int

Constraints:
Valor mínimo = 4
Valor máximo = 120
managedOutboundIPs Direcciones IP de salida administradas deseadas para el equilibrador de carga del clúster. ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes Recursos de prefijo ip de salida deseados para el equilibrador de carga del clúster. ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs Recursos IP de salida deseados para el equilibrador de carga del clúster. ManagedClusterLoadBalancerProfileOutboundIPs

ManagedClusterLoadBalancerProfileManagedOutboundIPs

Name Description Value
count Número deseado de direcciones IP de salida creadas o administradas por Azure para el equilibrador de carga del clúster. Los valores permitidos deben estar en el intervalo de 1 a 100 (ambos incluidos). El valor predeterminado es 1. int

Constraints:
Valor mínimo = 1
Valor máximo = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

Name Description Value
publicIPPrefixes Lista de recursos de prefijo de IP pública. ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

Name Description Value
publicIPs Lista de recursos de ip pública. ResourceReference[]

ManagedClusterPodIdentity

Name Description Value
identity Información de la identidad asignada por el usuario. UserAssignedIdentity (obligatorio)
name Nombre de la identidad del pod. string (obligatorio)
namespace Espacio de nombres de la identidad del pod. string (obligatorio)

ManagedClusterPodIdentityException

Name Description Value
name Nombre de la excepción de identidad del pod. string (obligatorio)
namespace Espacio de nombres de la excepción de identidad de pod. string (obligatorio)
podLabels Etiquetas de pod que coincidan. ManagedClusterPodIdentityExceptionPodLabels (obligatorio)

ManagedClusterPodIdentityExceptionPodLabels

Name Description Value

ManagedClusterPodIdentityProfile

Name Description Value
enabled Indica si el complemento de identidad de pod está habilitado. bool
userAssignedIdentities Configuración de identidad de pod asignada por el usuario. ManagedClusterPodIdentity[]
userAssignedIdentityExceptions Configuración de excepción de identidad de pod asignada por el usuario. ManagedClusterPodIdentityException[]

ManagedClusterProperties

Name Description Value
aadProfile Perfil de configuración de Azure Active Directory. ManagedClusterAADProfile
addonProfiles Perfil del complemento de clúster administrado. ManagedClusterPropertiesAddonProfiles
agentPoolProfiles Propiedades del grupo de agentes. ManagedClusterAgentPoolProfile[]
apiServerAccessProfile Perfil de acceso para el servidor de API de clúster administrado. ManagedClusterAPIServerAccessProfile
autoScalerProfile Parámetros que se van a aplicar al escalador automático del clúster cuando está habilitado ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile Perfil de configuración de actualización automática. ManagedClusterAutoUpgradeProfile
diskEncryptionSetID ResourceId del conjunto de cifrado de disco que se va a usar para habilitar el cifrado en reposo. string
dnsPrefix Prefijo DNS especificado al crear el clúster administrado. string
enablePodSecurityPolicy (EN DESUSO) Indica si se va a habilitar la directiva de seguridad de pods de Kubernetes (versión preliminar). Esta característica se establece para su eliminación el 15 de octubre de 2020. Obtenga más información en aka.ms/aks/azpodpolicy. bool
enableRBAC Si se va a habilitar Kubernetes Role-Based Access Control. bool
identityProfile Identidades asociadas al clúster. ManagedClusterPropertiesIdentityProfile
kubernetesVersion Versión de Kubernetes especificada al crear el clúster administrado. string
linuxProfile Perfil de máquinas virtuales Linux en el clúster de servicios de contenedor. ContainerServiceLinuxProfile
networkProfile Perfil de configuración de red. ContainerServiceNetworkProfile
nodeResourceGroup Nombre del grupo de recursos que contiene los nodos del grupo de agentes. string
podIdentityProfile Perfil de identidad de pod del clúster administrado. ManagedClusterPodIdentityProfile
servicePrincipalProfile Información sobre una identidad de entidad de servicio para el clúster que se va a usar para manipular las API de Azure. ManagedClusterServicePrincipalProfile
windowsProfile Perfil de máquinas virtuales Windows en el clúster del servicio de contenedor. ManagedClusterWindowsProfile

ManagedClusterPropertiesAddonProfiles

Name Description Value

ManagedClusterPropertiesAutoScalerProfile

Name Description Value
balance-similar-node-groups string
expander 'least-waste'
'most-pods'
'priority'
'random'
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

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterServicePrincipalProfile

Name Description Value
clientId Identificador de la entidad de servicio. string (obligatorio)
secret Contraseña secreta asociada a la entidad de servicio en texto sin formato. string

ManagedClusterSKU

Name Description Value
name Nombre de una SKU de clúster administrado. 'Basic'
tier Nivel de una SKU de clúster administrado. 'Free'
'Paid'

ManagedClusterWindowsProfile

Name Description Value
adminPassword Especifica la contraseña de la cuenta de administrador.

Longitud mínima: 8 caracteres

Longitud máxima: 123 caracteres

requisitos de complejidad: 3 de 4 condiciones siguientes deben cumplirse.
Tiene caracteres inferiores
Tiene caracteres superiores
Tiene un dígito
Tiene un carácter especial (coincidencia regex [\W_])

Valores no permitidos: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"
string
adminUsername Especifica el nombre de la cuenta de administrador.

restricción: No se puede terminar en "."

valores no permitidos: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "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".

Longitud mínima: 1 carácter

Longitud máxima: 20 caracteres
string (obligatorio)
licenseType LicenseType que se va a usar para máquinas virtuales Windows. Windows_Server se usa para habilitar ventajas del usuario híbrido de Azure para máquinas virtuales Windows. 'None'
'Windows_Server'

ResourceReference

Name Description Value
id Identificador completo del recurso de Azure. string

ResourceTags

Name Description Value

SysctlConfig

Name Description Value
fsAioMaxNr Configuración de Sysctl fs.aio-max-nr. int
fsFileMax Configuración de Sysctl fs.file-max. int
fsInotifyMaxUserWatches Configuración de Sysctl fs.inotify.max_user_watches. int
fsNrOpen Configuración de Sysctl fs.nr_open. int
kernelThreadsMax Configuración de Sysctl kernel.threads-max. int
netCoreNetdevMaxBacklog Configuración de Sysctl net.core.netdev_max_backlog. int
netCoreOptmemMax Configuración de Sysctl net.core.optmem_max. int
netCoreRmemDefault Configuración de Sysctl net.core.rmem_default. int
netCoreRmemMax Configuración de Sysctl net.core.rmem_max. int
netCoreSomaxconn Configuración de Sysctl net.core.somaxconn. int
netCoreWmemDefault Configuración de Sysctl net.core.wmem_default. int
netCoreWmemMax Configuración de Sysctl net.core.wmem_max. int
netIpv4IpLocalPortRange Configuración de Sysctl net.ipv4.ip_local_port_range. string
netIpv4NeighDefaultGcThresh1 Configuración de Sysctl net.ipv4.neigh.default.gc_thresh1. int
netIpv4NeighDefaultGcThresh2 Configuración de Sysctl net.ipv4.neigh.default.gc_thresh2. int
netIpv4NeighDefaultGcThresh3 Configuración de Sysctl net.ipv4.neigh.default.gc_thresh3. int
netIpv4TcpFinTimeout Configuración de Sysctl net.ipv4.tcp_fin_timeout. int
netIpv4TcpkeepaliveIntvl Configuración de Sysctl net.ipv4.tcp_keepalive_intvl. int
netIpv4TcpKeepaliveProbes Configuración de Sysctl net.ipv4.tcp_keepalive_probes. int
netIpv4TcpKeepaliveTime Configuración de Sysctl net.ipv4.tcp_keepalive_time. int
netIpv4TcpMaxSynBacklog Configuración de Sysctl net.ipv4.tcp_max_syn_backlog. int
netIpv4TcpMaxTwBuckets Configuración de Sysctl net.ipv4.tcp_max_tw_buckets. int
netIpv4TcpTwReuse Configuración de Sysctl net.ipv4.tcp_tw_reuse. bool
netNetfilterNfConntrackBuckets Configuración de Sysctl net.netfilter.nf_conntrack_buckets. int
netNetfilterNfConntrackMax Configuración de Sysctl net.netfilter.nf_conntrack_max. int
vmMaxMapCount Configuración de Sysctl vm.max_map_count. int
vmSwappiness Configuración de Sysctl vm.swappiness. int
vmVfsCachePressure Configuración de Sysctl vm.vfs_cache_pressure. int

UserAssignedIdentity

Name Description Value
clientId Identificador de cliente de la identidad asignada por el usuario. string
objectId Identificador de objeto de la identidad asignada por el usuario. string
resourceId Identificador de recurso de la identidad asignada por el usuario. string

Ejemplos de uso

Ejemplos de Terraform

Un ejemplo básico de implementación de un clúster de Kubernetes administrado (también conocido como AKS / Azure Kubernetes Service).

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type                      = "Microsoft.Resources/resourceGroups@2020-06-01"
  name                      = var.resource_name
  location                  = var.location
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "managedCluster" {
  type      = "Microsoft.ContainerService/managedClusters@2023-04-02-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  identity {
    type         = "SystemAssigned"
    identity_ids = []
  }
  body = {
    properties = {
      agentPoolProfiles = [
        {
          count  = 1
          mode   = "System"
          name   = "default"
          vmSize = "Standard_DS2_v2"
        },
      ]
      dnsPrefix = var.resource_name
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Módulos comprobados de Azure

Los siguientes módulos comprobados de Azure se pueden usar para implementar este tipo de recurso.

Module Description
Clúster administrado de AKS Módulo de recursos de AVM para clúster administrado de AKS