Compartir a través de


Microsoft.ContainerService managedClusters 31/03/2018

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@2018-03-31' = {
  scope: resourceSymbolicName or scope
  location: 'string'
  name: 'string'
  properties: {
    aadProfile: {
      clientAppID: 'string'
      serverAppID: 'string'
      serverAppSecret: 'string'
      tenantID: 'string'
    }
    addonProfiles: {
      {customized property}: {
        config: {
          {customized property}: 'string'
        }
        enabled: bool
      }
    }
    agentPoolProfiles: [
      {
        count: int
        maxPods: int
        name: 'string'
        osDiskSizeGB: int
        osType: 'string'
        vmSize: 'string'
        vnetSubnetID: 'string'
      }
    ]
    dnsPrefix: 'string'
    enableRBAC: bool
    kubernetesVersion: 'string'
    linuxProfile: {
      adminUsername: 'string'
      ssh: {
        publicKeys: [
          {
            keyData: 'string'
          }
        ]
      }
    }
    networkProfile: {
      dnsServiceIP: 'string'
      dockerBridgeCidr: 'string'
      networkPlugin: 'string'
      networkPolicy: 'string'
      podCidr: 'string'
      serviceCidr: 'string'
    }
    servicePrincipalProfile: {
      clientId: 'string'
      secret: 'string'
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

Valores de propiedad

Microsoft.ContainerService/managedClusters

Name Description Value
location Ubicación del recurso string (obligatorio)
name El nombre del recurso string (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 .
tags Etiquetas de recursos Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas

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]))?$
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. 'calico'
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
clientAppID Identificador de aplicación de AAD cliente. string (obligatorio)
serverAppID Identificador de aplicación de AAD del servidor. string (obligatorio)
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
count Número de agentes (VM) para hospedar contenedores de Docker. 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
maxPods Número máximo de pods que se pueden ejecutar en un nodo. int
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)
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'
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' (obligatorio)
vnetSubnetID SubnetID de red virtual especifica el identificador de subred de la red virtual. string

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. Actualmente solo puede existir un grupo de agentes. ManagedClusterAgentPoolProfile[]
dnsPrefix Prefijo DNS especificado al crear el clúster administrado. string
enableRBAC Si se va a habilitar Kubernetes Role-Based Access Control. bool
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
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

ManagedClusterPropertiesAddonProfiles

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

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 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": "2018-03-31",
  "name": "string",
  "location": "string",
  "properties": {
    "aadProfile": {
      "clientAppID": "string",
      "serverAppID": "string",
      "serverAppSecret": "string",
      "tenantID": "string"
    },
    "addonProfiles": {
      "{customized property}": {
        "config": {
          "{customized property}": "string"
        },
        "enabled": "bool"
      }
    },
    "agentPoolProfiles": [
      {
        "count": "int",
        "maxPods": "int",
        "name": "string",
        "osDiskSizeGB": "int",
        "osType": "string",
        "vmSize": "string",
        "vnetSubnetID": "string"
      }
    ],
    "dnsPrefix": "string",
    "enableRBAC": "bool",
    "kubernetesVersion": "string",
    "linuxProfile": {
      "adminUsername": "string",
      "ssh": {
        "publicKeys": [
          {
            "keyData": "string"
          }
        ]
      }
    },
    "networkProfile": {
      "dnsServiceIP": "string",
      "dockerBridgeCidr": "string",
      "networkPlugin": "string",
      "networkPolicy": "string",
      "podCidr": "string",
      "serviceCidr": "string"
    },
    "servicePrincipalProfile": {
      "clientId": "string",
      "secret": "string"
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

Valores de propiedad

Microsoft.ContainerService/managedClusters

Name Description Value
apiVersion La versión de api '2018-03-31'
location Ubicación del recurso string (obligatorio)
name El nombre del recurso string (obligatorio)
properties Propiedades de un clúster administrado. ManagedClusterProperties
tags Etiquetas de recursos Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas
type El tipo de recurso 'Microsoft.ContainerService/managedClusters'

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]))?$
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. 'calico'
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
clientAppID Identificador de aplicación de AAD cliente. string (obligatorio)
serverAppID Identificador de aplicación de AAD del servidor. string (obligatorio)
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
count Número de agentes (VM) para hospedar contenedores de Docker. 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
maxPods Número máximo de pods que se pueden ejecutar en un nodo. int
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)
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'
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' (obligatorio)
vnetSubnetID SubnetID de red virtual especifica el identificador de subred de la red virtual. string

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. Actualmente solo puede existir un grupo de agentes. ManagedClusterAgentPoolProfile[]
dnsPrefix Prefijo DNS especificado al crear el clúster administrado. string
enableRBAC Si se va a habilitar Kubernetes Role-Based Access Control. bool
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
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

ManagedClusterPropertiesAddonProfiles

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

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@2018-03-31"
  name = "string"
  parent_id = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      aadProfile = {
        clientAppID = "string"
        serverAppID = "string"
        serverAppSecret = "string"
        tenantID = "string"
      }
      addonProfiles = {
        {customized property} = {
          config = {
            {customized property} = "string"
          }
          enabled = bool
        }
      }
      agentPoolProfiles = [
        {
          count = int
          maxPods = int
          name = "string"
          osDiskSizeGB = int
          osType = "string"
          vmSize = "string"
          vnetSubnetID = "string"
        }
      ]
      dnsPrefix = "string"
      enableRBAC = bool
      kubernetesVersion = "string"
      linuxProfile = {
        adminUsername = "string"
        ssh = {
          publicKeys = [
            {
              keyData = "string"
            }
          ]
        }
      }
      networkProfile = {
        dnsServiceIP = "string"
        dockerBridgeCidr = "string"
        networkPlugin = "string"
        networkPolicy = "string"
        podCidr = "string"
        serviceCidr = "string"
      }
      servicePrincipalProfile = {
        clientId = "string"
        secret = "string"
      }
    }
  }
}

Valores de propiedad

Microsoft.ContainerService/managedClusters

Name Description Value
location Ubicación del recurso string (obligatorio)
name El nombre del recurso string (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
tags Etiquetas de recursos Diccionario de nombres y valores de etiqueta.
type El tipo de recurso "Microsoft.ContainerService/managedClusters@2018-03-31"

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]))?$
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. 'calico'
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
clientAppID Identificador de aplicación de AAD cliente. string (obligatorio)
serverAppID Identificador de aplicación de AAD del servidor. string (obligatorio)
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
count Número de agentes (VM) para hospedar contenedores de Docker. 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
maxPods Número máximo de pods que se pueden ejecutar en un nodo. int
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)
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'
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' (obligatorio)
vnetSubnetID SubnetID de red virtual especifica el identificador de subred de la red virtual. string

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. Actualmente solo puede existir un grupo de agentes. ManagedClusterAgentPoolProfile[]
dnsPrefix Prefijo DNS especificado al crear el clúster administrado. string
enableRBAC Si se va a habilitar Kubernetes Role-Based Access Control. bool
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
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

ManagedClusterPropertiesAddonProfiles

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

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