Compartir a través de


Microsoft.ContainerService managedClusters 01/04/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-04-01' = {
  scope: resourceSymbolicName or scope
  identity: {
    type: 'string'
  }
  location: 'string'
  name: 'string'
  properties: {
    aadProfile: {
      adminGroupObjectIDs: [
        'string'
      ]
      clientAppID: 'string'
      managed: bool
      serverAppID: 'string'
      serverAppSecret: 'string'
      tenantID: 'string'
    }
    addonProfiles: {
      {customized property}: {
        config: {
          {customized property}: 'string'
        }
        enabled: bool
      }
    }
    agentPoolProfiles: [
      {
        availabilityZones: [
          'string'
        ]
        count: int
        enableAutoScaling: bool
        enableNodePublicIP: bool
        maxCount: int
        maxPods: int
        minCount: int
        mode: 'string'
        name: 'string'
        nodeImageVersion: 'string'
        nodeLabels: {
          {customized property}: 'string'
        }
        nodeTaints: [
          'string'
        ]
        orchestratorVersion: 'string'
        osDiskSizeGB: int
        osType: '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
    }
    autoScalerProfile: {
      balance-similar-node-groups: 'string'
      max-graceful-termination-sec: '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'
    }
    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'
    servicePrincipalProfile: {
      clientId: 'string'
      secret: 'string'
    }
    windowsProfile: {
      adminPassword: 'string'
      adminUsername: '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

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)

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
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
enableNodePublicIP Habilitación de la dirección IP pública para los nodos bool
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)
nodeImageVersion Versión de la imagen de nodo string
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
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'
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 SubnetID de red virtual especifica el identificador de subred de la red virtual. 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

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'

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[]

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
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
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
max-graceful-termination-sec 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

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterPropertiesIdentityProfileValue

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

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)

ResourceReference

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

ResourceTags

Name Description Value

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 de 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-04-01",
  "name": "string",
  "identity": {
    "type": "string"
  },
  "location": "string",
  "properties": {
    "aadProfile": {
      "adminGroupObjectIDs": [ "string" ],
      "clientAppID": "string",
      "managed": "bool",
      "serverAppID": "string",
      "serverAppSecret": "string",
      "tenantID": "string"
    },
    "addonProfiles": {
      "{customized property}": {
        "config": {
          "{customized property}": "string"
        },
        "enabled": "bool"
      }
    },
    "agentPoolProfiles": [
      {
        "availabilityZones": [ "string" ],
        "count": "int",
        "enableAutoScaling": "bool",
        "enableNodePublicIP": "bool",
        "maxCount": "int",
        "maxPods": "int",
        "minCount": "int",
        "mode": "string",
        "name": "string",
        "nodeImageVersion": "string",
        "nodeLabels": {
          "{customized property}": "string"
        },
        "nodeTaints": [ "string" ],
        "orchestratorVersion": "string",
        "osDiskSizeGB": "int",
        "osType": "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"
    },
    "autoScalerProfile": {
      "balance-similar-node-groups": "string",
      "max-graceful-termination-sec": "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"
    },
    "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",
    "servicePrincipalProfile": {
      "clientId": "string",
      "secret": "string"
    },
    "windowsProfile": {
      "adminPassword": "string",
      "adminUsername": "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-04-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

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)

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
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
enableNodePublicIP Habilitación de la dirección IP pública para los nodos bool
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)
nodeImageVersion Versión de la imagen de nodo string
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
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'
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 SubnetID de red virtual especifica el identificador de subred de la red virtual. 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

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'

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[]

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
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
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
max-graceful-termination-sec 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

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterPropertiesIdentityProfileValue

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

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)

ResourceReference

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

ResourceTags

Name Description Value

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-04-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"
        managed = bool
        serverAppID = "string"
        serverAppSecret = "string"
        tenantID = "string"
      }
      addonProfiles = {
        {customized property} = {
          config = {
            {customized property} = "string"
          }
          enabled = bool
        }
      }
      agentPoolProfiles = [
        {
          availabilityZones = [
            "string"
          ]
          count = int
          enableAutoScaling = bool
          enableNodePublicIP = bool
          maxCount = int
          maxPods = int
          minCount = int
          mode = "string"
          name = "string"
          nodeImageVersion = "string"
          nodeLabels = {
            {customized property} = "string"
          }
          nodeTaints = [
            "string"
          ]
          orchestratorVersion = "string"
          osDiskSizeGB = int
          osType = "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
      }
      autoScalerProfile = {
        balance-similar-node-groups = "string"
        max-graceful-termination-sec = "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"
      }
      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"
      servicePrincipalProfile = {
        clientId = "string"
        secret = "string"
      }
      windowsProfile = {
        adminPassword = "string"
        adminUsername = "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-04-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

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)

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
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
enableNodePublicIP Habilitación de la dirección IP pública para los nodos bool
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)
nodeImageVersion Versión de la imagen de nodo string
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
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'
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 SubnetID de red virtual especifica el identificador de subred de la red virtual. 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

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'

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[]

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
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
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
max-graceful-termination-sec 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

ManagedClusterPropertiesIdentityProfile

Name Description Value

ManagedClusterPropertiesIdentityProfileValue

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

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)

ResourceReference

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

ResourceTags

Name Description Value

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