Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
- Latest
- 2025-10-01
- 2025-09-02-vista previa
- 2025-09-01
- 2025-08-02-vista previa
- 2025-08-01
- 2025-07-02-preview
- 2025-07-01
- 2025-06-02-preview
- 2025-05-02-preview
- 2025-05-01
- 2025-04-02-preview
- 2025-04-01
- 2025-03-02-preview
- 2025-03-01
- 2025-02-02-preview
- 2025-02-01
- 2025-01-02-preview
- 2025-01-01
- 2024-10-02-preview
- 2024-10-01
- 2024-09-02-preview
- 2024-09-01
- 2024-08-01
- 2024-07-02-preview
- 2024-07-01
- 2024-06-02-preview
- 2024-05-02-preview
- 2024-05-01
- 2024-04-02-preview
- 2024-03-02-preview
- 2024-02-02-preview
- 2024-02-01
- 2024-01-02-preview
- 2024-01-01
- 2023-11-02-preview
- 2023-11-01
- 2023-10-02-preview
- 2023-10-01
- 2023-09-02-preview
- 2023-09-01
- 2023-08-02-preview
- 2023-08-01
- 2023-07-02-preview
- 2023-07-01
- 2023-06-02-preview
- 2023-06-01
- 2023-05-02-preview
- 2023-05-01
- 2023-04-02-preview
- 2023-04-01
- 2023-03-02-preview
- 2023-03-01
- 2023-02-02-preview
- 2023-02-01
- 2023-01-02-preview
- 2023-01-01
- 2022-11-02-preview
- 2022-11-01
- 2022-10-02-preview
- 2022-09-02-preview
- 2022-09-01
- 2022-08-03-preview
- 2022-08-02-preview
- 2022-07-02-preview
- 2022-07-01
- 2022-06-02-preview
- 2022-06-01
- 2022-05-02-preview
- 2022-04-02-preview
- 2022-04-01
- 2022-03-02-preview
- 2022-03-01
- 2022-02-02-preview
- 2022-02-01
- 2022-01-02-preview
- 2022-01-01
- 2021-11-01-preview
- 2021-10-01
- 2021-09-01
- 2021-08-01
- 2021-07-01
- 2021-05-01
- 2021-03-01
- 2021-02-01
- 2020-12-01
- 2020-11-01
- 2020-09-01
- 2020-07-01
- 2020-06-01
- 2020-04-01
- 2020-03-01
- 2020-02-01
- 2020-01-01
- 2019-11-01
- 2019-10-01
- 2019-08-01
- 2019-06-01
- 2019-04-01
- 2019-02-01
- 2018-08-01-preview
- 2018-03-31
- 2017-08-31
Remarks
Para obtener información sobre los complementos disponibles, consulte Complementos, extensiones y otras integraciones con Azure Kubernetes Service.
Definición de recursos de Bicep
El tipo de recurso managedClusters se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un recurso Microsoft.ContainerService/managedClusters, agregue el siguiente bicep a la plantilla.
resource symbolicname 'Microsoft.ContainerService/managedClusters@2020-12-01' = {
scope: resourceSymbolicName or scope
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
location: 'string'
name: 'string'
properties: {
aadProfile: {
adminGroupObjectIDs: [
'string'
]
clientAppID: 'string'
enableAzureRBAC: bool
managed: bool
serverAppID: 'string'
serverAppSecret: 'string'
tenantID: 'string'
}
addonProfiles: {
{customized property}: {
config: {
{customized property}: 'string'
}
enabled: bool
}
}
agentPoolProfiles: [
{
availabilityZones: [
'string'
]
count: int
enableAutoScaling: bool
enableEncryptionAtHost: bool
enableNodePublicIP: bool
kubeletConfig: {
allowedUnsafeSysctls: [
'string'
]
containerLogMaxFiles: int
containerLogMaxSizeMB: int
cpuCfsQuota: bool
cpuCfsQuotaPeriod: 'string'
cpuManagerPolicy: 'string'
failSwapOn: bool
imageGcHighThreshold: int
imageGcLowThreshold: int
podMaxPids: int
topologyManagerPolicy: 'string'
}
kubeletDiskType: 'string'
linuxOSConfig: {
swapFileSizeMB: int
sysctls: {
fsAioMaxNr: int
fsFileMax: int
fsInotifyMaxUserWatches: int
fsNrOpen: int
kernelThreadsMax: int
netCoreNetdevMaxBacklog: int
netCoreOptmemMax: int
netCoreRmemDefault: int
netCoreRmemMax: int
netCoreSomaxconn: int
netCoreWmemDefault: int
netCoreWmemMax: int
netIpv4IpLocalPortRange: 'string'
netIpv4NeighDefaultGcThresh1: int
netIpv4NeighDefaultGcThresh2: int
netIpv4NeighDefaultGcThresh3: int
netIpv4TcpFinTimeout: int
netIpv4TcpkeepaliveIntvl: int
netIpv4TcpKeepaliveProbes: int
netIpv4TcpKeepaliveTime: int
netIpv4TcpMaxSynBacklog: int
netIpv4TcpMaxTwBuckets: int
netIpv4TcpTwReuse: bool
netNetfilterNfConntrackBuckets: int
netNetfilterNfConntrackMax: int
vmMaxMapCount: int
vmSwappiness: int
vmVfsCachePressure: int
}
transparentHugePageDefrag: 'string'
transparentHugePageEnabled: 'string'
}
maxCount: int
maxPods: int
minCount: int
mode: 'string'
name: 'string'
nodeLabels: {
{customized property}: 'string'
}
nodeTaints: [
'string'
]
orchestratorVersion: 'string'
osDiskSizeGB: int
osDiskType: 'string'
osType: 'string'
podSubnetID: 'string'
proximityPlacementGroupID: 'string'
scaleSetEvictionPolicy: 'string'
scaleSetPriority: 'string'
spotMaxPrice: int
tags: {
{customized property}: 'string'
}
type: 'string'
upgradeSettings: {
maxSurge: 'string'
}
vmSize: 'string'
vnetSubnetID: 'string'
}
]
apiServerAccessProfile: {
authorizedIPRanges: [
'string'
]
enablePrivateCluster: bool
privateDNSZone: 'string'
}
autoScalerProfile: {
balance-similar-node-groups: 'string'
expander: 'string'
max-empty-bulk-delete: 'string'
max-graceful-termination-sec: 'string'
max-node-provision-time: 'string'
max-total-unready-percentage: 'string'
new-pod-scale-up-delay: 'string'
ok-total-unready-count: 'string'
scale-down-delay-after-add: 'string'
scale-down-delay-after-delete: 'string'
scale-down-delay-after-failure: 'string'
scale-down-unneeded-time: 'string'
scale-down-unready-time: 'string'
scale-down-utilization-threshold: 'string'
scan-interval: 'string'
skip-nodes-with-local-storage: 'string'
skip-nodes-with-system-pods: 'string'
}
autoUpgradeProfile: {
upgradeChannel: 'string'
}
diskEncryptionSetID: 'string'
dnsPrefix: 'string'
enablePodSecurityPolicy: bool
enableRBAC: bool
identityProfile: {
{customized property}: {
clientId: 'string'
objectId: 'string'
resourceId: 'string'
}
}
kubernetesVersion: 'string'
linuxProfile: {
adminUsername: 'string'
ssh: {
publicKeys: [
{
keyData: 'string'
}
]
}
}
networkProfile: {
dnsServiceIP: 'string'
dockerBridgeCidr: 'string'
loadBalancerProfile: {
allocatedOutboundPorts: int
effectiveOutboundIPs: [
{
id: 'string'
}
]
idleTimeoutInMinutes: int
managedOutboundIPs: {
count: int
}
outboundIPPrefixes: {
publicIPPrefixes: [
{
id: 'string'
}
]
}
outboundIPs: {
publicIPs: [
{
id: 'string'
}
]
}
}
loadBalancerSku: 'string'
networkMode: 'string'
networkPlugin: 'string'
networkPolicy: 'string'
outboundType: 'string'
podCidr: 'string'
serviceCidr: 'string'
}
nodeResourceGroup: 'string'
podIdentityProfile: {
enabled: bool
userAssignedIdentities: [
{
identity: {
clientId: 'string'
objectId: 'string'
resourceId: 'string'
}
name: 'string'
namespace: 'string'
}
]
userAssignedIdentityExceptions: [
{
name: 'string'
namespace: 'string'
podLabels: {
{customized property}: 'string'
}
}
]
}
servicePrincipalProfile: {
clientId: 'string'
secret: 'string'
}
windowsProfile: {
adminPassword: 'string'
adminUsername: 'string'
licenseType: 'string'
}
}
sku: {
name: 'string'
tier: 'string'
}
tags: {
{customized property}: 'string'
}
}
Valores de propiedad
Microsoft.ContainerService/managedClusters
| Name | Description | Value |
|---|---|---|
| identity | Identidad del clúster administrado, si está configurada. | ManagedClusterIdentity |
| location | Ubicación del recurso | string (obligatorio) |
| name | El nombre del recurso | string Constraints: Longitud mínima = 1 Longitud máxima = 63 Patrón = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (obligatorio) |
| properties | Propiedades de un clúster administrado. | ManagedClusterProperties |
| scope | Use al crear un recurso en un ámbito diferente del ámbito de implementación. | Establezca esta propiedad en el nombre simbólico de un recurso para aplicar el recurso de extensión . |
| sku | SKU del clúster administrado. | ManagedClusterSKU |
| tags | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
AgentPoolUpgradeSettings
| Name | Description | Value |
|---|---|---|
| maxSurge | Recuento o porcentaje de nodos adicionales que se van a agregar durante la actualización. Si está vacío, usa el valor predeterminado de AKS | string |
Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties
| Name | Description | Value |
|---|
ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties
| Name | Description | Value |
|---|---|---|
| clientId | Identificador de cliente de la identidad asignada por el usuario. | string |
| objectId | Identificador de objeto de la identidad asignada por el usuario. | string |
| resourceId | Identificador de recurso de la identidad asignada por el usuario. | string |
ContainerServiceLinuxProfile
| Name | Description | Value |
|---|---|---|
| adminUsername | Nombre de usuario del administrador que se va a usar para máquinas virtuales Linux. | string Constraints: Patrón = ^[A-Za-z][-A-Za-z0-9_]*$ (obligatorio) |
| ssh | Configuración de SSH para máquinas virtuales basadas en Linux que se ejecutan en Azure. | ContainerServiceSshConfiguration (obligatorio) |
ContainerServiceNetworkProfile
| Name | Description | Value |
|---|---|---|
| dnsServiceIP | Una dirección IP asignada al servicio DNS de Kubernetes. Debe estar dentro del intervalo de direcciones del servicio kubernetes especificado en serviceCidr. | string Constraints: Patrón = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
| dockerBridgeCidr | Intervalo IP de notación CIDR asignado a la red del puente de Docker. No se debe superponer con ningún intervalo IP de subred ni con el intervalo de direcciones del servicio Kubernetes. | string Constraints: Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
| loadBalancerProfile | Perfil del equilibrador de carga del clúster. | ManagedClusterLoadBalancerProfile |
| loadBalancerSku | SKU del equilibrador de carga para el clúster administrado. | 'basic' 'standard' |
| networkMode | Modo de red que se usa para compilar la red de Kubernetes. | 'bridge' 'transparent' |
| networkPlugin | Complemento de red que se usa para compilar la red de Kubernetes. | 'azure' 'kubenet' |
| networkPolicy | Directiva de red que se usa para compilar la red de Kubernetes. | 'azure' 'calico' |
| outboundType | Método de enrutamiento de salida (salida). | 'loadBalancer' 'userDefinedRouting' |
| podCidr | Intervalo IP de notación CIDR desde el que se van a asignar direcciones IP de pod cuando se usa kubenet. | string Constraints: Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
| serviceCidr | Intervalo IP de notación CIDR desde el que se van a asignar direcciones IP del clúster de servicio. No debe superponerse con ningún intervalo IP de subred. | string Constraints: Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
ContainerServiceSshConfiguration
| Name | Description | Value |
|---|---|---|
| publicKeys | Lista de claves públicas SSH que se usan para autenticarse con máquinas virtuales basadas en Linux. Solo se espera una clave especificada. | ContainerServiceSshPublicKey[] (obligatorio) |
ContainerServiceSshPublicKey
| Name | Description | Value |
|---|---|---|
| keyData | Clave pública de certificado que se usa para autenticarse con máquinas virtuales a través de SSH. El certificado debe estar en formato PEM con o sin encabezados. | string (obligatorio) |
KubeletConfig
| Name | Description | Value |
|---|---|---|
| allowedUnsafeSysctls | Lista de permitidos de sysctls no seguros o patrones sysctl no seguros (que terminan en *). |
string[] |
| containerLogMaxFiles | El número máximo de archivos de registro de contenedor que pueden estar presentes para un contenedor. El número debe ser ≥ 2. | int Constraints: Valor mínimo = 2 |
| containerLogMaxSizeMB | Tamaño máximo (por ejemplo, 10Mi) del archivo de registro de contenedor antes de girarlo. | int |
| cpuCfsQuota | Habilite la aplicación de cuota de CFS de CPU para contenedores que especifiquen límites de CPU. | bool |
| cpuCfsQuotaPeriod | Establece el valor del período de cuota cfS de CPU. | string |
| cpuManagerPolicy | Directiva del Administrador de CPU que se va a usar. | string |
| failSwapOn | Si se establece en true, se producirá un error al iniciar Kubelet si el intercambio está habilitado en el nodo. | bool |
| imageGcHighThreshold | El porcentaje de uso del disco después del cual siempre se ejecuta la recolección de elementos no utilizados de imagen. | int |
| imageGcLowThreshold | El porcentaje de uso del disco antes del cual nunca se ejecuta la recolección de elementos no utilizados de imagen. | int |
| podMaxPids | Número máximo de procesos por pod. | int |
| topologyManagerPolicy | Directiva del Administrador de topologías que se va a usar. | string |
LinuxOSConfig
| Name | Description | Value |
|---|---|---|
| swapFileSizeMB | SwapFileSizeMB especifica el tamaño en MB de un archivo de intercambio que se creará en cada nodo. | int |
| sysctls | Configuración de Sysctl para los nodos del agente de Linux. | SysctlConfig |
| transparentHugePageDefrag | Configuración de desfragmentación de página enorme transparente. | string |
| transparentHugePageEnabled | Configuración transparente habilitada para páginas enormes. | string |
ManagedClusterAADProfile
| Name | Description | Value |
|---|---|---|
| adminGroupObjectIDs | Identificadores de objeto de grupo de AAD que tendrán el rol de administrador del clúster. | string[] |
| clientAppID | Identificador de aplicación de AAD cliente. | string |
| enableAzureRBAC | Si se habilita RBAC de Azure para la autorización de Kubernetes. | bool |
| managed | Si se va a habilitar AAD administrado. | bool |
| serverAppID | Identificador de aplicación de AAD del servidor. | string |
| serverAppSecret | Secreto de aplicación de AAD del servidor. | string |
| tenantID | Identificador de inquilino de AAD que se va a usar para la autenticación. Si no se especifica, usará el inquilino de la suscripción de implementación. | string |
ManagedClusterAddonProfile
| Name | Description | Value |
|---|---|---|
| config | Pares clave-valor para configurar un complemento. | ManagedClusterAddonProfileConfig |
| enabled | Indica si el complemento está habilitado o no. | bool (obligatorio) |
ManagedClusterAddonProfileConfig
| Name | Description | Value |
|---|
ManagedClusterAgentPoolProfile
| Name | Description | Value |
|---|---|---|
| availabilityZones | Zonas de disponibilidad para nodos. Debe usar VirtualMachineScaleSets AgentPoolType. | string[] |
| count | Número de agentes (VM) para hospedar contenedores de Docker. Los valores permitidos deben estar comprendidos entre 0 y 100 (ambos incluidos) para los grupos de usuarios y en el intervalo de 1 a 100 (ambos incluidos) para los grupos del sistema. El valor predeterminado es 1. | int |
| enableAutoScaling | Si se va a habilitar el escalador automático | bool |
| enableEncryptionAtHost | Si se va a habilitar EncryptionAtHost | bool |
| enableNodePublicIP | Habilitación de la dirección IP pública para los nodos | bool |
| kubeletConfig | KubeletConfig especifica la configuración de kubelet en los nodos del agente. | KubeletConfig |
| kubeletDiskType | KubeletDiskType determina la ubicación de volúmenes emptyDir, raíz de datos en tiempo de ejecución del contenedor y almacenamiento efímero de Kubelet. Actualmente permite un valor, sistema operativo, lo que da lugar a Kubelet mediante el disco del sistema operativo para los datos. | 'OS' |
| linuxOSConfig | LinuxOSConfig especifica la configuración del sistema operativo de los nodos del agente de Linux. | LinuxOSConfig |
| maxCount | Número máximo de nodos para el escalado automático | int |
| maxPods | Número máximo de pods que se pueden ejecutar en un nodo. | int |
| minCount | Número mínimo de nodos para el escalado automático | int |
| mode | AgentPoolMode representa el modo de un grupo de agentes. | 'System' 'User' |
| name | Nombre único del perfil del grupo de agentes en el contexto de la suscripción y el grupo de recursos. | string Constraints: Patrón = ^[a-z][a-z0-9]{0,11}$ (obligatorio) |
| nodeLabels | Etiquetas de nodo del grupo de agentes que se conservarán en todos los nodos del grupo de agentes. | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
| nodeTaints | Taints agregados a nuevos nodos durante la creación y escalado del grupo de nodos. Por ejemplo, key=value:NoSchedule. | string[] |
| orchestratorVersion | Versión del orquestador especificada al crear el clúster administrado. | string |
| osDiskSizeGB | Tamaño del disco del sistema operativo en GB que se va a usar para especificar el tamaño del disco para cada máquina de este grupo de maestros o agentes. Si especifica 0, se aplicará el tamaño predeterminado de osDisk según el valor de vmSize especificado. | int Constraints: Valor mínimo = 0 Valor máximo = 1023 |
| osDiskType | Tipo de disco del sistema operativo que se va a usar para las máquinas de un grupo de agentes determinado. Los valores permitidos son "Efímero" y "Administrado". Si no se especifica, el valor predeterminado es "Efímero" cuando la máquina virtual admite sistema operativo efímero y tiene un disco de caché mayor que el OSDiskSizeGB solicitado. De lo contrario, el valor predeterminado es "Administrado". Es posible que no se cambie después de la creación. | 'Ephemeral' 'Managed' |
| osType | OsType que se va a usar para especificar el tipo de sistema operativo. Elija entre Linux y Windows. El valor predeterminado es Linux. | 'Linux' 'Windows' |
| podSubnetID | Pod SubnetID especifica el identificador de subred de la red virtual para los pods. | string |
| proximityPlacementGroupID | Identificador del grupo de selección de ubicación de proximidad. | string |
| scaleSetEvictionPolicy | ScaleSetEvictionPolicy que se va a usar para especificar la directiva de expulsión para el conjunto de escalado de máquinas virtuales de Spot. Valor predeterminado es Eliminar. | 'Deallocate' 'Delete' |
| scaleSetPriority | ScaleSetPriority que se usará para especificar la prioridad del conjunto de escalado de máquinas virtuales. El valor predeterminado es normal. | 'Regular' 'Spot' |
| spotMaxPrice | SpotMaxPrice que se usará para especificar el precio máximo que está dispuesto a pagar en dólares estadounidenses. Los valores posibles son cualquier valor decimal mayor que cero o -1 que indica que el precio predeterminado debe ser up-to a petición. | int |
| tags | Etiquetas de grupo de agentes que se conservarán en el conjunto de escalado de máquinas virtuales del grupo de agentes. | ManagedClusterAgentPoolProfilePropertiesTags |
| type | AgentPoolType representa los tipos de un grupo de agentes. | 'AvailabilitySet' 'VirtualMachineScaleSets' |
| upgradeSettings | Configuración para actualizar el grupo de agentes | AgentPoolUpgradeSettings |
| vmSize | Tamaño de las máquinas virtuales del agente. | 'Standard_A1' 'Standard_A10' 'Standard_A11' 'Standard_A1_v2' 'Standard_A2' 'Standard_A2m_v2' 'Standard_A2_v2' 'Standard_A3' 'Standard_A4' 'Standard_A4m_v2' 'Standard_A4_v2' 'Standard_A5' 'Standard_A6' 'Standard_A7' 'Standard_A8' 'Standard_A8m_v2' 'Standard_A8_v2' 'Standard_A9' 'Standard_B2ms' 'Standard_B2s' 'Standard_B4ms' 'Standard_B8ms' 'Standard_D1' 'Standard_D11' 'Standard_D11_v2' 'Standard_D11_v2_Promo' 'Standard_D12' 'Standard_D12_v2' 'Standard_D12_v2_Promo' 'Standard_D13' 'Standard_D13_v2' 'Standard_D13_v2_Promo' 'Standard_D14' 'Standard_D14_v2' 'Standard_D14_v2_Promo' 'Standard_D15_v2' 'Standard_D16s_v3' 'Standard_D16_v3' 'Standard_D1_v2' 'Standard_D2' 'Standard_D2s_v3' 'Standard_D2_v2' 'Standard_D2_v2_Promo' 'Standard_D2_v3' 'Standard_D3' 'Standard_D32s_v3' 'Standard_D32_v3' 'Standard_D3_v2' 'Standard_D3_v2_Promo' 'Standard_D4' 'Standard_D4s_v3' 'Standard_D4_v2' 'Standard_D4_v2_Promo' 'Standard_D4_v3' 'Standard_D5_v2' 'Standard_D5_v2_Promo' 'Standard_D64s_v3' 'Standard_D64_v3' 'Standard_D8s_v3' 'Standard_D8_v3' 'Standard_DS1' 'Standard_DS11' 'Standard_DS11_v2' 'Standard_DS11_v2_Promo' 'Standard_DS12' 'Standard_DS12_v2' 'Standard_DS12_v2_Promo' 'Standard_DS13' 'Standard_DS13-2_v2' 'Standard_DS13-4_v2' 'Standard_DS13_v2' 'Standard_DS13_v2_Promo' 'Standard_DS14' 'Standard_DS14-4_v2' 'Standard_DS14-8_v2' 'Standard_DS14_v2' 'Standard_DS14_v2_Promo' 'Standard_DS15_v2' 'Standard_DS1_v2' 'Standard_DS2' 'Standard_DS2_v2' 'Standard_DS2_v2_Promo' 'Standard_DS3' 'Standard_DS3_v2' 'Standard_DS3_v2_Promo' 'Standard_DS4' 'Standard_DS4_v2' 'Standard_DS4_v2_Promo' 'Standard_DS5_v2' 'Standard_DS5_v2_Promo' 'Standard_E16s_v3' 'Standard_E16_v3' 'Standard_E2s_v3' 'Standard_E2_v3' 'Standard_E32-16s_v3' 'Standard_E32-8s_v3' 'Standard_E32s_v3' 'Standard_E32_v3' 'Standard_E4s_v3' 'Standard_E4_v3' 'Standard_E64-16s_v3' 'Standard_E64-32s_v3' 'Standard_E64s_v3' 'Standard_E64_v3' 'Standard_E8s_v3' 'Standard_E8_v3' 'Standard_F1' 'Standard_F16' 'Standard_F16s' 'Standard_F16s_v2' 'Standard_F1s' 'Standard_F2' 'Standard_F2s' 'Standard_F2s_v2' 'Standard_F32s_v2' 'Standard_F4' 'Standard_F4s' 'Standard_F4s_v2' 'Standard_F64s_v2' 'Standard_F72s_v2' 'Standard_F8' 'Standard_F8s' 'Standard_F8s_v2' 'Standard_G1' 'Standard_G2' 'Standard_G3' 'Standard_G4' 'Standard_G5' 'Standard_GS1' 'Standard_GS2' 'Standard_GS3' 'Standard_GS4' 'Standard_GS4-4' 'Standard_GS4-8' 'Standard_GS5' 'Standard_GS5-16' 'Standard_GS5-8' 'Standard_H16' 'Standard_H16m' 'Standard_H16mr' 'Standard_H16r' 'Standard_H8' 'Standard_H8m' 'Standard_L16s' 'Standard_L32s' 'Standard_L4s' 'Standard_L8s' 'Standard_M128-32ms' 'Standard_M128-64ms' 'Standard_M128ms' 'Standard_M128s' 'Standard_M64-16ms' 'Standard_M64-32ms' 'Standard_M64ms' 'Standard_M64s' 'Standard_NC12' 'Standard_NC12s_v2' 'Standard_NC12s_v3' 'Standard_NC24' 'Standard_NC24r' 'Standard_NC24rs_v2' 'Standard_NC24rs_v3' 'Standard_NC24s_v2' 'Standard_NC24s_v3' 'Standard_NC6' 'Standard_NC6s_v2' 'Standard_NC6s_v3' 'Standard_ND12s' 'Standard_ND24rs' 'Standard_ND24s' 'Standard_ND6s' 'Standard_NV12' 'Standard_NV24' 'Standard_NV6' |
| vnetSubnetID | VNet SubnetID especifica el identificador de subred de la red virtual para los nodos y quizás los pods | string |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
| Name | Description | Value |
|---|
ManagedClusterAgentPoolProfilePropertiesTags
| Name | Description | Value |
|---|
ManagedClusterAPIServerAccessProfile
| Name | Description | Value |
|---|---|---|
| authorizedIPRanges | Intervalos IP autorizados para el servidor de API de Kubernetes. | string[] |
| enablePrivateCluster | Si se va a crear el clúster como un clúster privado o no. | bool |
| privateDNSZone | Modo de zona dns privada para el clúster privado. | string |
ManagedClusterAutoUpgradeProfile
| Name | Description | Value |
|---|---|---|
| upgradeChannel | canal de actualización para la actualización automática. | 'none' 'patch' 'rapid' 'stable' |
ManagedClusterIdentity
| Name | Description | Value |
|---|---|---|
| type | Tipo de identidad que se usa para el clúster administrado. El tipo "SystemAssigned" usará una identidad creada implícitamente en los componentes maestros y una identidad asignada por el usuario creado automáticamente en MC_ grupo de recursos en los nodos del agente. En su lugar, el tipo "None" no usará MSI para el clúster administrado. | 'None' 'SystemAssigned' 'UserAssigned' |
| userAssignedIdentities | Identidad de usuario asociada al clúster administrado. Esta identidad se usará en el plano de control y solo se permite una identidad asignada por el usuario. Las referencias de clave de diccionario de identidad de usuario serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. | ManagedClusterIdentityUserAssignedIdentities |
ManagedClusterIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
ManagedClusterLoadBalancerProfile
| Name | Description | Value |
|---|---|---|
| allocatedOutboundPorts | Número deseado de puertos SNAT asignados por máquina virtual. Los valores permitidos deben estar en el intervalo de 0 a 64000 (ambos incluidos). El valor predeterminado es 0, lo que da como resultado la asignación dinámica de puertos de Azure. | int Constraints: Valor mínimo = 0 Valor máximo = 64000 |
| effectiveOutboundIPs | Los recursos DE IP de salida efectivos del equilibrador de carga del clúster. | ResourceReference[] |
| idleTimeoutInMinutes | Tiempo de espera de inactividad de flujo de salida deseado en minutos. Los valores permitidos deben estar en el intervalo de 4 a 120 (ambos incluidos). El valor predeterminado es de 30 minutos. | int Constraints: Valor mínimo = 4 Valor máximo = 120 |
| managedOutboundIPs | Direcciones IP de salida administradas deseadas para el equilibrador de carga del clúster. | ManagedClusterLoadBalancerProfileManagedOutboundIPs |
| outboundIPPrefixes | Recursos de prefijo ip de salida deseados para el equilibrador de carga del clúster. | ManagedClusterLoadBalancerProfileOutboundIPPrefixes |
| outboundIPs | Recursos IP de salida deseados para el equilibrador de carga del clúster. | ManagedClusterLoadBalancerProfileOutboundIPs |
ManagedClusterLoadBalancerProfileManagedOutboundIPs
| Name | Description | Value |
|---|---|---|
| count | Número deseado de direcciones IP de salida creadas o administradas por Azure para el equilibrador de carga del clúster. Los valores permitidos deben estar en el intervalo de 1 a 100 (ambos incluidos). El valor predeterminado es 1. | int Constraints: Valor mínimo = 1 Valor máximo = 100 |
ManagedClusterLoadBalancerProfileOutboundIPPrefixes
| Name | Description | Value |
|---|---|---|
| publicIPPrefixes | Lista de recursos de prefijo de IP pública. | ResourceReference[] |
ManagedClusterLoadBalancerProfileOutboundIPs
| Name | Description | Value |
|---|---|---|
| publicIPs | Lista de recursos de ip pública. | ResourceReference[] |
ManagedClusterPodIdentity
| Name | Description | Value |
|---|---|---|
| identity | Información de la identidad asignada por el usuario. | UserAssignedIdentity (obligatorio) |
| name | Nombre de la identidad del pod. | string (obligatorio) |
| namespace | Espacio de nombres de la identidad del pod. | string (obligatorio) |
ManagedClusterPodIdentityException
| Name | Description | Value |
|---|---|---|
| name | Nombre de la excepción de identidad del pod. | string (obligatorio) |
| namespace | Espacio de nombres de la excepción de identidad de pod. | string (obligatorio) |
| podLabels | Etiquetas de pod que coincidan. | ManagedClusterPodIdentityExceptionPodLabels (obligatorio) |
ManagedClusterPodIdentityExceptionPodLabels
| Name | Description | Value |
|---|
ManagedClusterPodIdentityProfile
| Name | Description | Value |
|---|---|---|
| enabled | Indica si el complemento de identidad de pod está habilitado. | bool |
| userAssignedIdentities | Configuración de identidad de pod asignada por el usuario. | ManagedClusterPodIdentity[] |
| userAssignedIdentityExceptions | Configuración de excepción de identidad de pod asignada por el usuario. | ManagedClusterPodIdentityException[] |
ManagedClusterProperties
| Name | Description | Value |
|---|---|---|
| aadProfile | Perfil de configuración de Azure Active Directory. | ManagedClusterAADProfile |
| addonProfiles | Perfil del complemento de clúster administrado. | ManagedClusterPropertiesAddonProfiles |
| agentPoolProfiles | Propiedades del grupo de agentes. | ManagedClusterAgentPoolProfile[] |
| apiServerAccessProfile | Perfil de acceso para el servidor de API de clúster administrado. | ManagedClusterAPIServerAccessProfile |
| autoScalerProfile | Parámetros que se van a aplicar al escalador automático del clúster cuando está habilitado | ManagedClusterPropertiesAutoScalerProfile |
| autoUpgradeProfile | Perfil de configuración de actualización automática. | ManagedClusterAutoUpgradeProfile |
| diskEncryptionSetID | ResourceId del conjunto de cifrado de disco que se va a usar para habilitar el cifrado en reposo. | string |
| dnsPrefix | Prefijo DNS especificado al crear el clúster administrado. | string |
| enablePodSecurityPolicy | (EN DESUSO) Indica si se va a habilitar la directiva de seguridad de pods de Kubernetes (versión preliminar). Esta característica se establece para su eliminación el 15 de octubre de 2020. Obtenga más información en aka.ms/aks/azpodpolicy. | bool |
| enableRBAC | Si se va a habilitar Kubernetes Role-Based Access Control. | bool |
| identityProfile | Identidades asociadas al clúster. | ManagedClusterPropertiesIdentityProfile |
| kubernetesVersion | Versión de Kubernetes especificada al crear el clúster administrado. | string |
| linuxProfile | Perfil de máquinas virtuales Linux en el clúster de servicios de contenedor. | ContainerServiceLinuxProfile |
| networkProfile | Perfil de configuración de red. | ContainerServiceNetworkProfile |
| nodeResourceGroup | Nombre del grupo de recursos que contiene los nodos del grupo de agentes. | string |
| podIdentityProfile | Perfil de identidad de pod del clúster administrado. | ManagedClusterPodIdentityProfile |
| servicePrincipalProfile | Información sobre una identidad de entidad de servicio para el clúster que se va a usar para manipular las API de Azure. | ManagedClusterServicePrincipalProfile |
| windowsProfile | Perfil de máquinas virtuales Windows en el clúster del servicio de contenedor. | ManagedClusterWindowsProfile |
ManagedClusterPropertiesAddonProfiles
| Name | Description | Value |
|---|
ManagedClusterPropertiesAutoScalerProfile
| Name | Description | Value |
|---|---|---|
| balance-similar-node-groups | string | |
| expander | 'least-waste' 'most-pods' 'priority' 'random' |
|
| max-empty-bulk-delete | string | |
| max-graceful-termination-sec | string | |
| max-node-provision-time | string | |
| max-total-unready-percentage | string | |
| new-pod-scale-up-delay | string | |
| ok-total-unready-count | string | |
| scale-down-delay-after-add | string | |
| scale-down-delay-after-delete | string | |
| scale-down-delay-after-failure | string | |
| scale-down-unneeded-time | string | |
| scale-down-unready-time | string | |
| scale-down-utilization-threshold | string | |
| scan-interval | string | |
| skip-nodes-with-local-storage | string | |
| skip-nodes-with-system-pods | string |
ManagedClusterPropertiesIdentityProfile
| Name | Description | Value |
|---|
ManagedClusterServicePrincipalProfile
| Name | Description | Value |
|---|---|---|
| clientId | Identificador de la entidad de servicio. | string (obligatorio) |
| secret | Contraseña secreta asociada a la entidad de servicio en texto sin formato. | string |
ManagedClusterSKU
| Name | Description | Value |
|---|---|---|
| name | Nombre de una SKU de clúster administrado. | 'Basic' |
| tier | Nivel de una SKU de clúster administrado. | 'Free' 'Paid' |
ManagedClusterWindowsProfile
| Name | Description | Value |
|---|---|---|
| adminPassword | Especifica la contraseña de la cuenta de administrador. Longitud mínima: 8 caracteres Longitud máxima: 123 caracteres requisitos de complejidad: 3 de 4 condiciones siguientes deben cumplirse. Tiene caracteres inferiores Tiene caracteres superiores Tiene un dígito Tiene un carácter especial (coincidencia regex [\W_]) Valores no permitidos: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" |
string |
| adminUsername | Especifica el nombre de la cuenta de administrador. restricción: No se puede terminar en "." valores no permitidos: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm" ", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Longitud mínima: 1 carácter Longitud máxima: 20 caracteres |
string (obligatorio) |
| licenseType | LicenseType que se va a usar para máquinas virtuales Windows. Windows_Server se usa para habilitar ventajas del usuario híbrido de Azure para máquinas virtuales Windows. | 'None' 'Windows_Server' |
ResourceReference
| Name | Description | Value |
|---|---|---|
| id | Identificador completo del recurso de Azure. | string |
ResourceTags
| Name | Description | Value |
|---|
SysctlConfig
| Name | Description | Value |
|---|---|---|
| fsAioMaxNr | Configuración de Sysctl fs.aio-max-nr. | int |
| fsFileMax | Configuración de Sysctl fs.file-max. | int |
| fsInotifyMaxUserWatches | Configuración de Sysctl fs.inotify.max_user_watches. | int |
| fsNrOpen | Configuración de Sysctl fs.nr_open. | int |
| kernelThreadsMax | Configuración de Sysctl kernel.threads-max. | int |
| netCoreNetdevMaxBacklog | Configuración de Sysctl net.core.netdev_max_backlog. | int |
| netCoreOptmemMax | Configuración de Sysctl net.core.optmem_max. | int |
| netCoreRmemDefault | Configuración de Sysctl net.core.rmem_default. | int |
| netCoreRmemMax | Configuración de Sysctl net.core.rmem_max. | int |
| netCoreSomaxconn | Configuración de Sysctl net.core.somaxconn. | int |
| netCoreWmemDefault | Configuración de Sysctl net.core.wmem_default. | int |
| netCoreWmemMax | Configuración de Sysctl net.core.wmem_max. | int |
| netIpv4IpLocalPortRange | Configuración de Sysctl net.ipv4.ip_local_port_range. | string |
| netIpv4NeighDefaultGcThresh1 | Configuración de Sysctl net.ipv4.neigh.default.gc_thresh1. | int |
| netIpv4NeighDefaultGcThresh2 | Configuración de Sysctl net.ipv4.neigh.default.gc_thresh2. | int |
| netIpv4NeighDefaultGcThresh3 | Configuración de Sysctl net.ipv4.neigh.default.gc_thresh3. | int |
| netIpv4TcpFinTimeout | Configuración de Sysctl net.ipv4.tcp_fin_timeout. | int |
| netIpv4TcpkeepaliveIntvl | Configuración de Sysctl net.ipv4.tcp_keepalive_intvl. | int |
| netIpv4TcpKeepaliveProbes | Configuración de Sysctl net.ipv4.tcp_keepalive_probes. | int |
| netIpv4TcpKeepaliveTime | Configuración de Sysctl net.ipv4.tcp_keepalive_time. | int |
| netIpv4TcpMaxSynBacklog | Configuración de Sysctl net.ipv4.tcp_max_syn_backlog. | int |
| netIpv4TcpMaxTwBuckets | Configuración de Sysctl net.ipv4.tcp_max_tw_buckets. | int |
| netIpv4TcpTwReuse | Configuración de Sysctl net.ipv4.tcp_tw_reuse. | bool |
| netNetfilterNfConntrackBuckets | Configuración de Sysctl net.netfilter.nf_conntrack_buckets. | int |
| netNetfilterNfConntrackMax | Configuración de Sysctl net.netfilter.nf_conntrack_max. | int |
| vmMaxMapCount | Configuración de Sysctl vm.max_map_count. | int |
| vmSwappiness | Configuración de Sysctl vm.swappiness. | int |
| vmVfsCachePressure | Configuración de Sysctl vm.vfs_cache_pressure. | int |
UserAssignedIdentity
| Name | Description | Value |
|---|---|---|
| clientId | Identificador de cliente de la identidad asignada por el usuario. | string |
| objectId | Identificador de objeto de la identidad asignada por el usuario. | string |
| resourceId | Identificador de recurso de la identidad asignada por el usuario. | string |
Ejemplos de uso
Módulos comprobados de Azure
Los siguientes módulos comprobados de Azure se pueden usar para implementar este tipo de recurso.
| Module | Description |
|---|---|
| Clúster administrado de Azure Kubernetes Service (AKS) | Módulo de recursos de AVM para clústeres administrados de Azure Kubernetes Service (AKS) |
Ejemplos de inicio rápido de Azure
Los siguientes plantillas de inicio rápido de Azure contienen ejemplos de Bicep para implementar este tipo de recurso.
| Archivo Bicep | Description |
|---|---|
| clúster de AKS con una puerta de enlace NAT y un de Application Gateway | En este ejemplo se muestra cómo implementar un clúster de AKS con NAT Gateway para las conexiones salientes y una instancia de Application Gateway para las conexiones entrantes. |
| clúster de AKS con el controlador de entrada de Application Gateway | En este ejemplo se muestra cómo implementar un clúster de AKS con Application Gateway, Application Gateway Ingress Controller, Azure Container Registry, Log Analytics y Key Vault |
| Azure Container Service (AKS) | Implementación de un clúster administrado con Azure Container Service (AKS) mediante hosts de contenedor linux de Azure |
| Azure Container Service (AKS) | Implementación de un clúster administrado con Azure Container Service (AKS) |
| Azure Container Service (AKS) con Helm | Implementación de un clúster administrado con Azure Container Service (AKS) con Helm |
| Azure Kubernetes Service (AKS) | Implementa un clúster de Kubernetes administrado mediante Azure Kubernetes Service (AKS) |
| configuración segura de un extremo a otro de Azure Machine Learning | Este conjunto de plantillas de Bicep muestra cómo configurar Azure Machine Learning de un extremo a otro en una configuración segura. Esta implementación de referencia incluye el área de trabajo, un clúster de proceso, una instancia de proceso y un clúster de AKS privado asociado. |
| configuración segura de un extremo a otro de Azure Machine Learning (heredado) | Este conjunto de plantillas de Bicep muestra cómo configurar Azure Machine Learning de un extremo a otro en una configuración segura. Esta implementación de referencia incluye el área de trabajo, un clúster de proceso, una instancia de proceso y un clúster de AKS privado asociado. |
| Crear un clúster de AKS privado | En este ejemplo se muestra cómo crear un clúster de AKS privado en una red virtual junto con una máquina virtual jumpbox. |
| Crear AKS con Prometheus y Grafana con vínculo privae | Esto creará una instancia de Azure grafana, AKS e instalará Prometheus, un kit de herramientas de supervisión y alertas de código abierto, en un clúster de Azure Kubernetes Service (AKS). Después, use el punto de conexión privado administrado de Azure Managed Grafana para conectarse a este servidor de Prometheus y mostrar los datos de Prometheus en un panel de Grafana. |
Definición de recursos de plantilla de ARM
El tipo de recurso managedClusters se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un recurso Microsoft.ContainerService/managedClusters, agregue el siguiente JSON a la plantilla.
{
"type": "Microsoft.ContainerService/managedClusters",
"apiVersion": "2020-12-01",
"name": "string",
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"location": "string",
"properties": {
"aadProfile": {
"adminGroupObjectIDs": [ "string" ],
"clientAppID": "string",
"enableAzureRBAC": "bool",
"managed": "bool",
"serverAppID": "string",
"serverAppSecret": "string",
"tenantID": "string"
},
"addonProfiles": {
"{customized property}": {
"config": {
"{customized property}": "string"
},
"enabled": "bool"
}
},
"agentPoolProfiles": [
{
"availabilityZones": [ "string" ],
"count": "int",
"enableAutoScaling": "bool",
"enableEncryptionAtHost": "bool",
"enableNodePublicIP": "bool",
"kubeletConfig": {
"allowedUnsafeSysctls": [ "string" ],
"containerLogMaxFiles": "int",
"containerLogMaxSizeMB": "int",
"cpuCfsQuota": "bool",
"cpuCfsQuotaPeriod": "string",
"cpuManagerPolicy": "string",
"failSwapOn": "bool",
"imageGcHighThreshold": "int",
"imageGcLowThreshold": "int",
"podMaxPids": "int",
"topologyManagerPolicy": "string"
},
"kubeletDiskType": "string",
"linuxOSConfig": {
"swapFileSizeMB": "int",
"sysctls": {
"fsAioMaxNr": "int",
"fsFileMax": "int",
"fsInotifyMaxUserWatches": "int",
"fsNrOpen": "int",
"kernelThreadsMax": "int",
"netCoreNetdevMaxBacklog": "int",
"netCoreOptmemMax": "int",
"netCoreRmemDefault": "int",
"netCoreRmemMax": "int",
"netCoreSomaxconn": "int",
"netCoreWmemDefault": "int",
"netCoreWmemMax": "int",
"netIpv4IpLocalPortRange": "string",
"netIpv4NeighDefaultGcThresh1": "int",
"netIpv4NeighDefaultGcThresh2": "int",
"netIpv4NeighDefaultGcThresh3": "int",
"netIpv4TcpFinTimeout": "int",
"netIpv4TcpkeepaliveIntvl": "int",
"netIpv4TcpKeepaliveProbes": "int",
"netIpv4TcpKeepaliveTime": "int",
"netIpv4TcpMaxSynBacklog": "int",
"netIpv4TcpMaxTwBuckets": "int",
"netIpv4TcpTwReuse": "bool",
"netNetfilterNfConntrackBuckets": "int",
"netNetfilterNfConntrackMax": "int",
"vmMaxMapCount": "int",
"vmSwappiness": "int",
"vmVfsCachePressure": "int"
},
"transparentHugePageDefrag": "string",
"transparentHugePageEnabled": "string"
},
"maxCount": "int",
"maxPods": "int",
"minCount": "int",
"mode": "string",
"name": "string",
"nodeLabels": {
"{customized property}": "string"
},
"nodeTaints": [ "string" ],
"orchestratorVersion": "string",
"osDiskSizeGB": "int",
"osDiskType": "string",
"osType": "string",
"podSubnetID": "string",
"proximityPlacementGroupID": "string",
"scaleSetEvictionPolicy": "string",
"scaleSetPriority": "string",
"spotMaxPrice": "int",
"tags": {
"{customized property}": "string"
},
"type": "string",
"upgradeSettings": {
"maxSurge": "string"
},
"vmSize": "string",
"vnetSubnetID": "string"
}
],
"apiServerAccessProfile": {
"authorizedIPRanges": [ "string" ],
"enablePrivateCluster": "bool",
"privateDNSZone": "string"
},
"autoScalerProfile": {
"balance-similar-node-groups": "string",
"expander": "string",
"max-empty-bulk-delete": "string",
"max-graceful-termination-sec": "string",
"max-node-provision-time": "string",
"max-total-unready-percentage": "string",
"new-pod-scale-up-delay": "string",
"ok-total-unready-count": "string",
"scale-down-delay-after-add": "string",
"scale-down-delay-after-delete": "string",
"scale-down-delay-after-failure": "string",
"scale-down-unneeded-time": "string",
"scale-down-unready-time": "string",
"scale-down-utilization-threshold": "string",
"scan-interval": "string",
"skip-nodes-with-local-storage": "string",
"skip-nodes-with-system-pods": "string"
},
"autoUpgradeProfile": {
"upgradeChannel": "string"
},
"diskEncryptionSetID": "string",
"dnsPrefix": "string",
"enablePodSecurityPolicy": "bool",
"enableRBAC": "bool",
"identityProfile": {
"{customized property}": {
"clientId": "string",
"objectId": "string",
"resourceId": "string"
}
},
"kubernetesVersion": "string",
"linuxProfile": {
"adminUsername": "string",
"ssh": {
"publicKeys": [
{
"keyData": "string"
}
]
}
},
"networkProfile": {
"dnsServiceIP": "string",
"dockerBridgeCidr": "string",
"loadBalancerProfile": {
"allocatedOutboundPorts": "int",
"effectiveOutboundIPs": [
{
"id": "string"
}
],
"idleTimeoutInMinutes": "int",
"managedOutboundIPs": {
"count": "int"
},
"outboundIPPrefixes": {
"publicIPPrefixes": [
{
"id": "string"
}
]
},
"outboundIPs": {
"publicIPs": [
{
"id": "string"
}
]
}
},
"loadBalancerSku": "string",
"networkMode": "string",
"networkPlugin": "string",
"networkPolicy": "string",
"outboundType": "string",
"podCidr": "string",
"serviceCidr": "string"
},
"nodeResourceGroup": "string",
"podIdentityProfile": {
"enabled": "bool",
"userAssignedIdentities": [
{
"identity": {
"clientId": "string",
"objectId": "string",
"resourceId": "string"
},
"name": "string",
"namespace": "string"
}
],
"userAssignedIdentityExceptions": [
{
"name": "string",
"namespace": "string",
"podLabels": {
"{customized property}": "string"
}
}
]
},
"servicePrincipalProfile": {
"clientId": "string",
"secret": "string"
},
"windowsProfile": {
"adminPassword": "string",
"adminUsername": "string",
"licenseType": "string"
}
},
"sku": {
"name": "string",
"tier": "string"
},
"tags": {
"{customized property}": "string"
}
}
Valores de propiedad
Microsoft.ContainerService/managedClusters
| Name | Description | Value |
|---|---|---|
| apiVersion | La versión de api | '2020-12-01' |
| identity | Identidad del clúster administrado, si está configurada. | ManagedClusterIdentity |
| location | Ubicación del recurso | string (obligatorio) |
| name | El nombre del recurso | string Constraints: Longitud mínima = 1 Longitud máxima = 63 Patrón = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (obligatorio) |
| properties | Propiedades de un clúster administrado. | ManagedClusterProperties |
| sku | SKU del clúster administrado. | ManagedClusterSKU |
| tags | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. Consulte etiquetas de en plantillas |
| type | El tipo de recurso | 'Microsoft.ContainerService/managedClusters' |
AgentPoolUpgradeSettings
| Name | Description | Value |
|---|---|---|
| maxSurge | Recuento o porcentaje de nodos adicionales que se van a agregar durante la actualización. Si está vacío, usa el valor predeterminado de AKS | string |
Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties
| Name | Description | Value |
|---|
ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties
| Name | Description | Value |
|---|---|---|
| clientId | Identificador de cliente de la identidad asignada por el usuario. | string |
| objectId | Identificador de objeto de la identidad asignada por el usuario. | string |
| resourceId | Identificador de recurso de la identidad asignada por el usuario. | string |
ContainerServiceLinuxProfile
| Name | Description | Value |
|---|---|---|
| adminUsername | Nombre de usuario del administrador que se va a usar para máquinas virtuales Linux. | string Constraints: Patrón = ^[A-Za-z][-A-Za-z0-9_]*$ (obligatorio) |
| ssh | Configuración de SSH para máquinas virtuales basadas en Linux que se ejecutan en Azure. | ContainerServiceSshConfiguration (obligatorio) |
ContainerServiceNetworkProfile
| Name | Description | Value |
|---|---|---|
| dnsServiceIP | Una dirección IP asignada al servicio DNS de Kubernetes. Debe estar dentro del intervalo de direcciones del servicio kubernetes especificado en serviceCidr. | string Constraints: Patrón = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
| dockerBridgeCidr | Intervalo IP de notación CIDR asignado a la red del puente de Docker. No se debe superponer con ningún intervalo IP de subred ni con el intervalo de direcciones del servicio Kubernetes. | string Constraints: Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
| loadBalancerProfile | Perfil del equilibrador de carga del clúster. | ManagedClusterLoadBalancerProfile |
| loadBalancerSku | SKU del equilibrador de carga para el clúster administrado. | 'basic' 'standard' |
| networkMode | Modo de red que se usa para compilar la red de Kubernetes. | 'bridge' 'transparent' |
| networkPlugin | Complemento de red que se usa para compilar la red de Kubernetes. | 'azure' 'kubenet' |
| networkPolicy | Directiva de red que se usa para compilar la red de Kubernetes. | 'azure' 'calico' |
| outboundType | Método de enrutamiento de salida (salida). | 'loadBalancer' 'userDefinedRouting' |
| podCidr | Intervalo IP de notación CIDR desde el que se van a asignar direcciones IP de pod cuando se usa kubenet. | string Constraints: Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
| serviceCidr | Intervalo IP de notación CIDR desde el que se van a asignar direcciones IP del clúster de servicio. No debe superponerse con ningún intervalo IP de subred. | string Constraints: Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
ContainerServiceSshConfiguration
| Name | Description | Value |
|---|---|---|
| publicKeys | Lista de claves públicas SSH que se usan para autenticarse con máquinas virtuales basadas en Linux. Solo se espera una clave especificada. | ContainerServiceSshPublicKey[] (obligatorio) |
ContainerServiceSshPublicKey
| Name | Description | Value |
|---|---|---|
| keyData | Clave pública de certificado que se usa para autenticarse con máquinas virtuales a través de SSH. El certificado debe estar en formato PEM con o sin encabezados. | string (obligatorio) |
KubeletConfig
| Name | Description | Value |
|---|---|---|
| allowedUnsafeSysctls | Lista de permitidos de sysctls no seguros o patrones sysctl no seguros (que terminan en *). |
string[] |
| containerLogMaxFiles | El número máximo de archivos de registro de contenedor que pueden estar presentes para un contenedor. El número debe ser ≥ 2. | int Constraints: Valor mínimo = 2 |
| containerLogMaxSizeMB | Tamaño máximo (por ejemplo, 10Mi) del archivo de registro de contenedor antes de girarlo. | int |
| cpuCfsQuota | Habilite la aplicación de cuota de CFS de CPU para contenedores que especifiquen límites de CPU. | bool |
| cpuCfsQuotaPeriod | Establece el valor del período de cuota cfS de CPU. | string |
| cpuManagerPolicy | Directiva del Administrador de CPU que se va a usar. | string |
| failSwapOn | Si se establece en true, se producirá un error al iniciar Kubelet si el intercambio está habilitado en el nodo. | bool |
| imageGcHighThreshold | El porcentaje de uso del disco después del cual siempre se ejecuta la recolección de elementos no utilizados de imagen. | int |
| imageGcLowThreshold | El porcentaje de uso del disco antes del cual nunca se ejecuta la recolección de elementos no utilizados de imagen. | int |
| podMaxPids | Número máximo de procesos por pod. | int |
| topologyManagerPolicy | Directiva del Administrador de topologías que se va a usar. | string |
LinuxOSConfig
| Name | Description | Value |
|---|---|---|
| swapFileSizeMB | SwapFileSizeMB especifica el tamaño en MB de un archivo de intercambio que se creará en cada nodo. | int |
| sysctls | Configuración de Sysctl para los nodos del agente de Linux. | SysctlConfig |
| transparentHugePageDefrag | Configuración de desfragmentación de página enorme transparente. | string |
| transparentHugePageEnabled | Configuración transparente habilitada para páginas enormes. | string |
ManagedClusterAADProfile
| Name | Description | Value |
|---|---|---|
| adminGroupObjectIDs | Identificadores de objeto de grupo de AAD que tendrán el rol de administrador del clúster. | string[] |
| clientAppID | Identificador de aplicación de AAD cliente. | string |
| enableAzureRBAC | Si se habilita RBAC de Azure para la autorización de Kubernetes. | bool |
| managed | Si se va a habilitar AAD administrado. | bool |
| serverAppID | Identificador de aplicación de AAD del servidor. | string |
| serverAppSecret | Secreto de aplicación de AAD del servidor. | string |
| tenantID | Identificador de inquilino de AAD que se va a usar para la autenticación. Si no se especifica, usará el inquilino de la suscripción de implementación. | string |
ManagedClusterAddonProfile
| Name | Description | Value |
|---|---|---|
| config | Pares clave-valor para configurar un complemento. | ManagedClusterAddonProfileConfig |
| enabled | Indica si el complemento está habilitado o no. | bool (obligatorio) |
ManagedClusterAddonProfileConfig
| Name | Description | Value |
|---|
ManagedClusterAgentPoolProfile
| Name | Description | Value |
|---|---|---|
| availabilityZones | Zonas de disponibilidad para nodos. Debe usar VirtualMachineScaleSets AgentPoolType. | string[] |
| count | Número de agentes (VM) para hospedar contenedores de Docker. Los valores permitidos deben estar comprendidos entre 0 y 100 (ambos incluidos) para los grupos de usuarios y en el intervalo de 1 a 100 (ambos incluidos) para los grupos del sistema. El valor predeterminado es 1. | int |
| enableAutoScaling | Si se va a habilitar el escalador automático | bool |
| enableEncryptionAtHost | Si se va a habilitar EncryptionAtHost | bool |
| enableNodePublicIP | Habilitación de la dirección IP pública para los nodos | bool |
| kubeletConfig | KubeletConfig especifica la configuración de kubelet en los nodos del agente. | KubeletConfig |
| kubeletDiskType | KubeletDiskType determina la ubicación de volúmenes emptyDir, raíz de datos en tiempo de ejecución del contenedor y almacenamiento efímero de Kubelet. Actualmente permite un valor, sistema operativo, lo que da lugar a Kubelet mediante el disco del sistema operativo para los datos. | 'OS' |
| linuxOSConfig | LinuxOSConfig especifica la configuración del sistema operativo de los nodos del agente de Linux. | LinuxOSConfig |
| maxCount | Número máximo de nodos para el escalado automático | int |
| maxPods | Número máximo de pods que se pueden ejecutar en un nodo. | int |
| minCount | Número mínimo de nodos para el escalado automático | int |
| mode | AgentPoolMode representa el modo de un grupo de agentes. | 'System' 'User' |
| name | Nombre único del perfil del grupo de agentes en el contexto de la suscripción y el grupo de recursos. | string Constraints: Patrón = ^[a-z][a-z0-9]{0,11}$ (obligatorio) |
| nodeLabels | Etiquetas de nodo del grupo de agentes que se conservarán en todos los nodos del grupo de agentes. | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
| nodeTaints | Taints agregados a nuevos nodos durante la creación y escalado del grupo de nodos. Por ejemplo, key=value:NoSchedule. | string[] |
| orchestratorVersion | Versión del orquestador especificada al crear el clúster administrado. | string |
| osDiskSizeGB | Tamaño del disco del sistema operativo en GB que se va a usar para especificar el tamaño del disco para cada máquina de este grupo de maestros o agentes. Si especifica 0, se aplicará el tamaño predeterminado de osDisk según el valor de vmSize especificado. | int Constraints: Valor mínimo = 0 Valor máximo = 1023 |
| osDiskType | Tipo de disco del sistema operativo que se va a usar para las máquinas de un grupo de agentes determinado. Los valores permitidos son "Efímero" y "Administrado". Si no se especifica, el valor predeterminado es "Efímero" cuando la máquina virtual admite sistema operativo efímero y tiene un disco de caché mayor que el OSDiskSizeGB solicitado. De lo contrario, el valor predeterminado es "Administrado". Es posible que no se cambie después de la creación. | 'Ephemeral' 'Managed' |
| osType | OsType que se va a usar para especificar el tipo de sistema operativo. Elija entre Linux y Windows. El valor predeterminado es Linux. | 'Linux' 'Windows' |
| podSubnetID | Pod SubnetID especifica el identificador de subred de la red virtual para los pods. | string |
| proximityPlacementGroupID | Identificador del grupo de selección de ubicación de proximidad. | string |
| scaleSetEvictionPolicy | ScaleSetEvictionPolicy que se va a usar para especificar la directiva de expulsión para el conjunto de escalado de máquinas virtuales de Spot. Valor predeterminado es Eliminar. | 'Deallocate' 'Delete' |
| scaleSetPriority | ScaleSetPriority que se usará para especificar la prioridad del conjunto de escalado de máquinas virtuales. El valor predeterminado es normal. | 'Regular' 'Spot' |
| spotMaxPrice | SpotMaxPrice que se usará para especificar el precio máximo que está dispuesto a pagar en dólares estadounidenses. Los valores posibles son cualquier valor decimal mayor que cero o -1 que indica que el precio predeterminado debe ser up-to a petición. | int |
| tags | Etiquetas de grupo de agentes que se conservarán en el conjunto de escalado de máquinas virtuales del grupo de agentes. | ManagedClusterAgentPoolProfilePropertiesTags |
| type | AgentPoolType representa los tipos de un grupo de agentes. | 'AvailabilitySet' 'VirtualMachineScaleSets' |
| upgradeSettings | Configuración para actualizar el grupo de agentes | AgentPoolUpgradeSettings |
| vmSize | Tamaño de las máquinas virtuales del agente. | 'Standard_A1' 'Standard_A10' 'Standard_A11' 'Standard_A1_v2' 'Standard_A2' 'Standard_A2m_v2' 'Standard_A2_v2' 'Standard_A3' 'Standard_A4' 'Standard_A4m_v2' 'Standard_A4_v2' 'Standard_A5' 'Standard_A6' 'Standard_A7' 'Standard_A8' 'Standard_A8m_v2' 'Standard_A8_v2' 'Standard_A9' 'Standard_B2ms' 'Standard_B2s' 'Standard_B4ms' 'Standard_B8ms' 'Standard_D1' 'Standard_D11' 'Standard_D11_v2' 'Standard_D11_v2_Promo' 'Standard_D12' 'Standard_D12_v2' 'Standard_D12_v2_Promo' 'Standard_D13' 'Standard_D13_v2' 'Standard_D13_v2_Promo' 'Standard_D14' 'Standard_D14_v2' 'Standard_D14_v2_Promo' 'Standard_D15_v2' 'Standard_D16s_v3' 'Standard_D16_v3' 'Standard_D1_v2' 'Standard_D2' 'Standard_D2s_v3' 'Standard_D2_v2' 'Standard_D2_v2_Promo' 'Standard_D2_v3' 'Standard_D3' 'Standard_D32s_v3' 'Standard_D32_v3' 'Standard_D3_v2' 'Standard_D3_v2_Promo' 'Standard_D4' 'Standard_D4s_v3' 'Standard_D4_v2' 'Standard_D4_v2_Promo' 'Standard_D4_v3' 'Standard_D5_v2' 'Standard_D5_v2_Promo' 'Standard_D64s_v3' 'Standard_D64_v3' 'Standard_D8s_v3' 'Standard_D8_v3' 'Standard_DS1' 'Standard_DS11' 'Standard_DS11_v2' 'Standard_DS11_v2_Promo' 'Standard_DS12' 'Standard_DS12_v2' 'Standard_DS12_v2_Promo' 'Standard_DS13' 'Standard_DS13-2_v2' 'Standard_DS13-4_v2' 'Standard_DS13_v2' 'Standard_DS13_v2_Promo' 'Standard_DS14' 'Standard_DS14-4_v2' 'Standard_DS14-8_v2' 'Standard_DS14_v2' 'Standard_DS14_v2_Promo' 'Standard_DS15_v2' 'Standard_DS1_v2' 'Standard_DS2' 'Standard_DS2_v2' 'Standard_DS2_v2_Promo' 'Standard_DS3' 'Standard_DS3_v2' 'Standard_DS3_v2_Promo' 'Standard_DS4' 'Standard_DS4_v2' 'Standard_DS4_v2_Promo' 'Standard_DS5_v2' 'Standard_DS5_v2_Promo' 'Standard_E16s_v3' 'Standard_E16_v3' 'Standard_E2s_v3' 'Standard_E2_v3' 'Standard_E32-16s_v3' 'Standard_E32-8s_v3' 'Standard_E32s_v3' 'Standard_E32_v3' 'Standard_E4s_v3' 'Standard_E4_v3' 'Standard_E64-16s_v3' 'Standard_E64-32s_v3' 'Standard_E64s_v3' 'Standard_E64_v3' 'Standard_E8s_v3' 'Standard_E8_v3' 'Standard_F1' 'Standard_F16' 'Standard_F16s' 'Standard_F16s_v2' 'Standard_F1s' 'Standard_F2' 'Standard_F2s' 'Standard_F2s_v2' 'Standard_F32s_v2' 'Standard_F4' 'Standard_F4s' 'Standard_F4s_v2' 'Standard_F64s_v2' 'Standard_F72s_v2' 'Standard_F8' 'Standard_F8s' 'Standard_F8s_v2' 'Standard_G1' 'Standard_G2' 'Standard_G3' 'Standard_G4' 'Standard_G5' 'Standard_GS1' 'Standard_GS2' 'Standard_GS3' 'Standard_GS4' 'Standard_GS4-4' 'Standard_GS4-8' 'Standard_GS5' 'Standard_GS5-16' 'Standard_GS5-8' 'Standard_H16' 'Standard_H16m' 'Standard_H16mr' 'Standard_H16r' 'Standard_H8' 'Standard_H8m' 'Standard_L16s' 'Standard_L32s' 'Standard_L4s' 'Standard_L8s' 'Standard_M128-32ms' 'Standard_M128-64ms' 'Standard_M128ms' 'Standard_M128s' 'Standard_M64-16ms' 'Standard_M64-32ms' 'Standard_M64ms' 'Standard_M64s' 'Standard_NC12' 'Standard_NC12s_v2' 'Standard_NC12s_v3' 'Standard_NC24' 'Standard_NC24r' 'Standard_NC24rs_v2' 'Standard_NC24rs_v3' 'Standard_NC24s_v2' 'Standard_NC24s_v3' 'Standard_NC6' 'Standard_NC6s_v2' 'Standard_NC6s_v3' 'Standard_ND12s' 'Standard_ND24rs' 'Standard_ND24s' 'Standard_ND6s' 'Standard_NV12' 'Standard_NV24' 'Standard_NV6' |
| vnetSubnetID | VNet SubnetID especifica el identificador de subred de la red virtual para los nodos y quizás los pods | string |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
| Name | Description | Value |
|---|
ManagedClusterAgentPoolProfilePropertiesTags
| Name | Description | Value |
|---|
ManagedClusterAPIServerAccessProfile
| Name | Description | Value |
|---|---|---|
| authorizedIPRanges | Intervalos IP autorizados para el servidor de API de Kubernetes. | string[] |
| enablePrivateCluster | Si se va a crear el clúster como un clúster privado o no. | bool |
| privateDNSZone | Modo de zona dns privada para el clúster privado. | string |
ManagedClusterAutoUpgradeProfile
| Name | Description | Value |
|---|---|---|
| upgradeChannel | canal de actualización para la actualización automática. | 'none' 'patch' 'rapid' 'stable' |
ManagedClusterIdentity
| Name | Description | Value |
|---|---|---|
| type | Tipo de identidad que se usa para el clúster administrado. El tipo "SystemAssigned" usará una identidad creada implícitamente en los componentes maestros y una identidad asignada por el usuario creado automáticamente en MC_ grupo de recursos en los nodos del agente. En su lugar, el tipo "None" no usará MSI para el clúster administrado. | 'None' 'SystemAssigned' 'UserAssigned' |
| userAssignedIdentities | Identidad de usuario asociada al clúster administrado. Esta identidad se usará en el plano de control y solo se permite una identidad asignada por el usuario. Las referencias de clave de diccionario de identidad de usuario serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. | ManagedClusterIdentityUserAssignedIdentities |
ManagedClusterIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
ManagedClusterLoadBalancerProfile
| Name | Description | Value |
|---|---|---|
| allocatedOutboundPorts | Número deseado de puertos SNAT asignados por máquina virtual. Los valores permitidos deben estar en el intervalo de 0 a 64000 (ambos incluidos). El valor predeterminado es 0, lo que da como resultado la asignación dinámica de puertos de Azure. | int Constraints: Valor mínimo = 0 Valor máximo = 64000 |
| effectiveOutboundIPs | Los recursos DE IP de salida efectivos del equilibrador de carga del clúster. | ResourceReference[] |
| idleTimeoutInMinutes | Tiempo de espera de inactividad de flujo de salida deseado en minutos. Los valores permitidos deben estar en el intervalo de 4 a 120 (ambos incluidos). El valor predeterminado es de 30 minutos. | int Constraints: Valor mínimo = 4 Valor máximo = 120 |
| managedOutboundIPs | Direcciones IP de salida administradas deseadas para el equilibrador de carga del clúster. | ManagedClusterLoadBalancerProfileManagedOutboundIPs |
| outboundIPPrefixes | Recursos de prefijo ip de salida deseados para el equilibrador de carga del clúster. | ManagedClusterLoadBalancerProfileOutboundIPPrefixes |
| outboundIPs | Recursos IP de salida deseados para el equilibrador de carga del clúster. | ManagedClusterLoadBalancerProfileOutboundIPs |
ManagedClusterLoadBalancerProfileManagedOutboundIPs
| Name | Description | Value |
|---|---|---|
| count | Número deseado de direcciones IP de salida creadas o administradas por Azure para el equilibrador de carga del clúster. Los valores permitidos deben estar en el intervalo de 1 a 100 (ambos incluidos). El valor predeterminado es 1. | int Constraints: Valor mínimo = 1 Valor máximo = 100 |
ManagedClusterLoadBalancerProfileOutboundIPPrefixes
| Name | Description | Value |
|---|---|---|
| publicIPPrefixes | Lista de recursos de prefijo de IP pública. | ResourceReference[] |
ManagedClusterLoadBalancerProfileOutboundIPs
| Name | Description | Value |
|---|---|---|
| publicIPs | Lista de recursos de ip pública. | ResourceReference[] |
ManagedClusterPodIdentity
| Name | Description | Value |
|---|---|---|
| identity | Información de la identidad asignada por el usuario. | UserAssignedIdentity (obligatorio) |
| name | Nombre de la identidad del pod. | string (obligatorio) |
| namespace | Espacio de nombres de la identidad del pod. | string (obligatorio) |
ManagedClusterPodIdentityException
| Name | Description | Value |
|---|---|---|
| name | Nombre de la excepción de identidad del pod. | string (obligatorio) |
| namespace | Espacio de nombres de la excepción de identidad de pod. | string (obligatorio) |
| podLabels | Etiquetas de pod que coincidan. | ManagedClusterPodIdentityExceptionPodLabels (obligatorio) |
ManagedClusterPodIdentityExceptionPodLabels
| Name | Description | Value |
|---|
ManagedClusterPodIdentityProfile
| Name | Description | Value |
|---|---|---|
| enabled | Indica si el complemento de identidad de pod está habilitado. | bool |
| userAssignedIdentities | Configuración de identidad de pod asignada por el usuario. | ManagedClusterPodIdentity[] |
| userAssignedIdentityExceptions | Configuración de excepción de identidad de pod asignada por el usuario. | ManagedClusterPodIdentityException[] |
ManagedClusterProperties
| Name | Description | Value |
|---|---|---|
| aadProfile | Perfil de configuración de Azure Active Directory. | ManagedClusterAADProfile |
| addonProfiles | Perfil del complemento de clúster administrado. | ManagedClusterPropertiesAddonProfiles |
| agentPoolProfiles | Propiedades del grupo de agentes. | ManagedClusterAgentPoolProfile[] |
| apiServerAccessProfile | Perfil de acceso para el servidor de API de clúster administrado. | ManagedClusterAPIServerAccessProfile |
| autoScalerProfile | Parámetros que se van a aplicar al escalador automático del clúster cuando está habilitado | ManagedClusterPropertiesAutoScalerProfile |
| autoUpgradeProfile | Perfil de configuración de actualización automática. | ManagedClusterAutoUpgradeProfile |
| diskEncryptionSetID | ResourceId del conjunto de cifrado de disco que se va a usar para habilitar el cifrado en reposo. | string |
| dnsPrefix | Prefijo DNS especificado al crear el clúster administrado. | string |
| enablePodSecurityPolicy | (EN DESUSO) Indica si se va a habilitar la directiva de seguridad de pods de Kubernetes (versión preliminar). Esta característica se establece para su eliminación el 15 de octubre de 2020. Obtenga más información en aka.ms/aks/azpodpolicy. | bool |
| enableRBAC | Si se va a habilitar Kubernetes Role-Based Access Control. | bool |
| identityProfile | Identidades asociadas al clúster. | ManagedClusterPropertiesIdentityProfile |
| kubernetesVersion | Versión de Kubernetes especificada al crear el clúster administrado. | string |
| linuxProfile | Perfil de máquinas virtuales Linux en el clúster de servicios de contenedor. | ContainerServiceLinuxProfile |
| networkProfile | Perfil de configuración de red. | ContainerServiceNetworkProfile |
| nodeResourceGroup | Nombre del grupo de recursos que contiene los nodos del grupo de agentes. | string |
| podIdentityProfile | Perfil de identidad de pod del clúster administrado. | ManagedClusterPodIdentityProfile |
| servicePrincipalProfile | Información sobre una identidad de entidad de servicio para el clúster que se va a usar para manipular las API de Azure. | ManagedClusterServicePrincipalProfile |
| windowsProfile | Perfil de máquinas virtuales Windows en el clúster del servicio de contenedor. | ManagedClusterWindowsProfile |
ManagedClusterPropertiesAddonProfiles
| Name | Description | Value |
|---|
ManagedClusterPropertiesAutoScalerProfile
| Name | Description | Value |
|---|---|---|
| balance-similar-node-groups | string | |
| expander | 'least-waste' 'most-pods' 'priority' 'random' |
|
| max-empty-bulk-delete | string | |
| max-graceful-termination-sec | string | |
| max-node-provision-time | string | |
| max-total-unready-percentage | string | |
| new-pod-scale-up-delay | string | |
| ok-total-unready-count | string | |
| scale-down-delay-after-add | string | |
| scale-down-delay-after-delete | string | |
| scale-down-delay-after-failure | string | |
| scale-down-unneeded-time | string | |
| scale-down-unready-time | string | |
| scale-down-utilization-threshold | string | |
| scan-interval | string | |
| skip-nodes-with-local-storage | string | |
| skip-nodes-with-system-pods | string |
ManagedClusterPropertiesIdentityProfile
| Name | Description | Value |
|---|
ManagedClusterServicePrincipalProfile
| Name | Description | Value |
|---|---|---|
| clientId | Identificador de la entidad de servicio. | string (obligatorio) |
| secret | Contraseña secreta asociada a la entidad de servicio en texto sin formato. | string |
ManagedClusterSKU
| Name | Description | Value |
|---|---|---|
| name | Nombre de una SKU de clúster administrado. | 'Basic' |
| tier | Nivel de una SKU de clúster administrado. | 'Free' 'Paid' |
ManagedClusterWindowsProfile
| Name | Description | Value |
|---|---|---|
| adminPassword | Especifica la contraseña de la cuenta de administrador. Longitud mínima: 8 caracteres Longitud máxima: 123 caracteres requisitos de complejidad: 3 de 4 condiciones siguientes deben cumplirse. Tiene caracteres inferiores Tiene caracteres superiores Tiene un dígito Tiene un carácter especial (coincidencia regex [\W_]) Valores no permitidos: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" |
string |
| adminUsername | Especifica el nombre de la cuenta de administrador. restricción: No se puede terminar en "." valores no permitidos: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm" ", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Longitud mínima: 1 carácter Longitud máxima: 20 caracteres |
string (obligatorio) |
| licenseType | LicenseType que se va a usar para máquinas virtuales Windows. Windows_Server se usa para habilitar ventajas del usuario híbrido de Azure para máquinas virtuales Windows. | 'None' 'Windows_Server' |
ResourceReference
| Name | Description | Value |
|---|---|---|
| id | Identificador completo del recurso de Azure. | string |
ResourceTags
| Name | Description | Value |
|---|
SysctlConfig
| Name | Description | Value |
|---|---|---|
| fsAioMaxNr | Configuración de Sysctl fs.aio-max-nr. | int |
| fsFileMax | Configuración de Sysctl fs.file-max. | int |
| fsInotifyMaxUserWatches | Configuración de Sysctl fs.inotify.max_user_watches. | int |
| fsNrOpen | Configuración de Sysctl fs.nr_open. | int |
| kernelThreadsMax | Configuración de Sysctl kernel.threads-max. | int |
| netCoreNetdevMaxBacklog | Configuración de Sysctl net.core.netdev_max_backlog. | int |
| netCoreOptmemMax | Configuración de Sysctl net.core.optmem_max. | int |
| netCoreRmemDefault | Configuración de Sysctl net.core.rmem_default. | int |
| netCoreRmemMax | Configuración de Sysctl net.core.rmem_max. | int |
| netCoreSomaxconn | Configuración de Sysctl net.core.somaxconn. | int |
| netCoreWmemDefault | Configuración de Sysctl net.core.wmem_default. | int |
| netCoreWmemMax | Configuración de Sysctl net.core.wmem_max. | int |
| netIpv4IpLocalPortRange | Configuración de Sysctl net.ipv4.ip_local_port_range. | string |
| netIpv4NeighDefaultGcThresh1 | Configuración de Sysctl net.ipv4.neigh.default.gc_thresh1. | int |
| netIpv4NeighDefaultGcThresh2 | Configuración de Sysctl net.ipv4.neigh.default.gc_thresh2. | int |
| netIpv4NeighDefaultGcThresh3 | Configuración de Sysctl net.ipv4.neigh.default.gc_thresh3. | int |
| netIpv4TcpFinTimeout | Configuración de Sysctl net.ipv4.tcp_fin_timeout. | int |
| netIpv4TcpkeepaliveIntvl | Configuración de Sysctl net.ipv4.tcp_keepalive_intvl. | int |
| netIpv4TcpKeepaliveProbes | Configuración de Sysctl net.ipv4.tcp_keepalive_probes. | int |
| netIpv4TcpKeepaliveTime | Configuración de Sysctl net.ipv4.tcp_keepalive_time. | int |
| netIpv4TcpMaxSynBacklog | Configuración de Sysctl net.ipv4.tcp_max_syn_backlog. | int |
| netIpv4TcpMaxTwBuckets | Configuración de Sysctl net.ipv4.tcp_max_tw_buckets. | int |
| netIpv4TcpTwReuse | Configuración de Sysctl net.ipv4.tcp_tw_reuse. | bool |
| netNetfilterNfConntrackBuckets | Configuración de Sysctl net.netfilter.nf_conntrack_buckets. | int |
| netNetfilterNfConntrackMax | Configuración de Sysctl net.netfilter.nf_conntrack_max. | int |
| vmMaxMapCount | Configuración de Sysctl vm.max_map_count. | int |
| vmSwappiness | Configuración de Sysctl vm.swappiness. | int |
| vmVfsCachePressure | Configuración de Sysctl vm.vfs_cache_pressure. | int |
UserAssignedIdentity
| Name | Description | Value |
|---|---|---|
| clientId | Identificador de cliente de la identidad asignada por el usuario. | string |
| objectId | Identificador de objeto de la identidad asignada por el usuario. | string |
| resourceId | Identificador de recurso de la identidad asignada por el usuario. | string |
Ejemplos de uso
Plantillas de inicio rápido de Azure
Los siguientes plantillas de inicio rápido de Azure implementar este tipo de recurso.
| Template | Description |
|---|---|
|
clúster de AKS con una puerta de enlace NAT y un de Application Gateway |
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. |
|
CI/CD mediante Jenkins en Azure Container Service (AKS) |
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 |
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 |
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 |
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) |
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) |
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 |
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 de puerta de enlace de Azure min.io totalmente privada para proporcionar una API de almacenamiento compatible con S3 respaldada por Blob Storage |
Definición de recursos de Terraform (proveedor AzAPI)
El tipo de recurso managedClusters se puede implementar con operaciones destinadas a:
Para obtener una lista de las propiedades modificadas en cada versión de API, consulte registro de cambios.
Formato de recurso
Para crear un recurso Microsoft.ContainerService/managedClusters, agregue el siguiente Terraform a la plantilla.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ContainerService/managedClusters@2020-12-01"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
aadProfile = {
adminGroupObjectIDs = [
"string"
]
clientAppID = "string"
enableAzureRBAC = bool
managed = bool
serverAppID = "string"
serverAppSecret = "string"
tenantID = "string"
}
addonProfiles = {
{customized property} = {
config = {
{customized property} = "string"
}
enabled = bool
}
}
agentPoolProfiles = [
{
availabilityZones = [
"string"
]
count = int
enableAutoScaling = bool
enableEncryptionAtHost = bool
enableNodePublicIP = bool
kubeletConfig = {
allowedUnsafeSysctls = [
"string"
]
containerLogMaxFiles = int
containerLogMaxSizeMB = int
cpuCfsQuota = bool
cpuCfsQuotaPeriod = "string"
cpuManagerPolicy = "string"
failSwapOn = bool
imageGcHighThreshold = int
imageGcLowThreshold = int
podMaxPids = int
topologyManagerPolicy = "string"
}
kubeletDiskType = "string"
linuxOSConfig = {
swapFileSizeMB = int
sysctls = {
fsAioMaxNr = int
fsFileMax = int
fsInotifyMaxUserWatches = int
fsNrOpen = int
kernelThreadsMax = int
netCoreNetdevMaxBacklog = int
netCoreOptmemMax = int
netCoreRmemDefault = int
netCoreRmemMax = int
netCoreSomaxconn = int
netCoreWmemDefault = int
netCoreWmemMax = int
netIpv4IpLocalPortRange = "string"
netIpv4NeighDefaultGcThresh1 = int
netIpv4NeighDefaultGcThresh2 = int
netIpv4NeighDefaultGcThresh3 = int
netIpv4TcpFinTimeout = int
netIpv4TcpkeepaliveIntvl = int
netIpv4TcpKeepaliveProbes = int
netIpv4TcpKeepaliveTime = int
netIpv4TcpMaxSynBacklog = int
netIpv4TcpMaxTwBuckets = int
netIpv4TcpTwReuse = bool
netNetfilterNfConntrackBuckets = int
netNetfilterNfConntrackMax = int
vmMaxMapCount = int
vmSwappiness = int
vmVfsCachePressure = int
}
transparentHugePageDefrag = "string"
transparentHugePageEnabled = "string"
}
maxCount = int
maxPods = int
minCount = int
mode = "string"
name = "string"
nodeLabels = {
{customized property} = "string"
}
nodeTaints = [
"string"
]
orchestratorVersion = "string"
osDiskSizeGB = int
osDiskType = "string"
osType = "string"
podSubnetID = "string"
proximityPlacementGroupID = "string"
scaleSetEvictionPolicy = "string"
scaleSetPriority = "string"
spotMaxPrice = int
tags = {
{customized property} = "string"
}
type = "string"
upgradeSettings = {
maxSurge = "string"
}
vmSize = "string"
vnetSubnetID = "string"
}
]
apiServerAccessProfile = {
authorizedIPRanges = [
"string"
]
enablePrivateCluster = bool
privateDNSZone = "string"
}
autoScalerProfile = {
balance-similar-node-groups = "string"
expander = "string"
max-empty-bulk-delete = "string"
max-graceful-termination-sec = "string"
max-node-provision-time = "string"
max-total-unready-percentage = "string"
new-pod-scale-up-delay = "string"
ok-total-unready-count = "string"
scale-down-delay-after-add = "string"
scale-down-delay-after-delete = "string"
scale-down-delay-after-failure = "string"
scale-down-unneeded-time = "string"
scale-down-unready-time = "string"
scale-down-utilization-threshold = "string"
scan-interval = "string"
skip-nodes-with-local-storage = "string"
skip-nodes-with-system-pods = "string"
}
autoUpgradeProfile = {
upgradeChannel = "string"
}
diskEncryptionSetID = "string"
dnsPrefix = "string"
enablePodSecurityPolicy = bool
enableRBAC = bool
identityProfile = {
{customized property} = {
clientId = "string"
objectId = "string"
resourceId = "string"
}
}
kubernetesVersion = "string"
linuxProfile = {
adminUsername = "string"
ssh = {
publicKeys = [
{
keyData = "string"
}
]
}
}
networkProfile = {
dnsServiceIP = "string"
dockerBridgeCidr = "string"
loadBalancerProfile = {
allocatedOutboundPorts = int
effectiveOutboundIPs = [
{
id = "string"
}
]
idleTimeoutInMinutes = int
managedOutboundIPs = {
count = int
}
outboundIPPrefixes = {
publicIPPrefixes = [
{
id = "string"
}
]
}
outboundIPs = {
publicIPs = [
{
id = "string"
}
]
}
}
loadBalancerSku = "string"
networkMode = "string"
networkPlugin = "string"
networkPolicy = "string"
outboundType = "string"
podCidr = "string"
serviceCidr = "string"
}
nodeResourceGroup = "string"
podIdentityProfile = {
enabled = bool
userAssignedIdentities = [
{
identity = {
clientId = "string"
objectId = "string"
resourceId = "string"
}
name = "string"
namespace = "string"
}
]
userAssignedIdentityExceptions = [
{
name = "string"
namespace = "string"
podLabels = {
{customized property} = "string"
}
}
]
}
servicePrincipalProfile = {
clientId = "string"
secret = "string"
}
windowsProfile = {
adminPassword = "string"
adminUsername = "string"
licenseType = "string"
}
}
sku = {
name = "string"
tier = "string"
}
}
}
Valores de propiedad
Microsoft.ContainerService/managedClusters
| Name | Description | Value |
|---|---|---|
| identity | Identidad del clúster administrado, si está configurada. | ManagedClusterIdentity |
| location | Ubicación del recurso | string (obligatorio) |
| name | El nombre del recurso | string Constraints: Longitud mínima = 1 Longitud máxima = 63 Patrón = ^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$ (obligatorio) |
| parent_id | Identificador del recurso al que se va a aplicar este recurso de extensión. | string (obligatorio) |
| properties | Propiedades de un clúster administrado. | ManagedClusterProperties |
| sku | SKU del clúster administrado. | ManagedClusterSKU |
| tags | Etiquetas de recursos | Diccionario de nombres y valores de etiqueta. |
| type | El tipo de recurso | "Microsoft.ContainerService/managedClusters@2020-12-01" |
AgentPoolUpgradeSettings
| Name | Description | Value |
|---|---|---|
| maxSurge | Recuento o porcentaje de nodos adicionales que se van a agregar durante la actualización. Si está vacío, usa el valor predeterminado de AKS | string |
Components1Umhcm8SchemasManagedclusteridentityPropertiesUserassignedidentitiesAdditionalproperties
| Name | Description | Value |
|---|
ComponentsQit0EtSchemasManagedclusterpropertiesPropertiesIdentityprofileAdditionalproperties
| Name | Description | Value |
|---|---|---|
| clientId | Identificador de cliente de la identidad asignada por el usuario. | string |
| objectId | Identificador de objeto de la identidad asignada por el usuario. | string |
| resourceId | Identificador de recurso de la identidad asignada por el usuario. | string |
ContainerServiceLinuxProfile
| Name | Description | Value |
|---|---|---|
| adminUsername | Nombre de usuario del administrador que se va a usar para máquinas virtuales Linux. | string Constraints: Patrón = ^[A-Za-z][-A-Za-z0-9_]*$ (obligatorio) |
| ssh | Configuración de SSH para máquinas virtuales basadas en Linux que se ejecutan en Azure. | ContainerServiceSshConfiguration (obligatorio) |
ContainerServiceNetworkProfile
| Name | Description | Value |
|---|---|---|
| dnsServiceIP | Una dirección IP asignada al servicio DNS de Kubernetes. Debe estar dentro del intervalo de direcciones del servicio kubernetes especificado en serviceCidr. | string Constraints: Patrón = ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ |
| dockerBridgeCidr | Intervalo IP de notación CIDR asignado a la red del puente de Docker. No se debe superponer con ningún intervalo IP de subred ni con el intervalo de direcciones del servicio Kubernetes. | string Constraints: Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
| loadBalancerProfile | Perfil del equilibrador de carga del clúster. | ManagedClusterLoadBalancerProfile |
| loadBalancerSku | SKU del equilibrador de carga para el clúster administrado. | 'basic' 'standard' |
| networkMode | Modo de red que se usa para compilar la red de Kubernetes. | 'bridge' 'transparent' |
| networkPlugin | Complemento de red que se usa para compilar la red de Kubernetes. | 'azure' 'kubenet' |
| networkPolicy | Directiva de red que se usa para compilar la red de Kubernetes. | 'azure' 'calico' |
| outboundType | Método de enrutamiento de salida (salida). | 'loadBalancer' 'userDefinedRouting' |
| podCidr | Intervalo IP de notación CIDR desde el que se van a asignar direcciones IP de pod cuando se usa kubenet. | string Constraints: Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
| serviceCidr | Intervalo IP de notación CIDR desde el que se van a asignar direcciones IP del clúster de servicio. No debe superponerse con ningún intervalo IP de subred. | string Constraints: Patrón = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$ |
ContainerServiceSshConfiguration
| Name | Description | Value |
|---|---|---|
| publicKeys | Lista de claves públicas SSH que se usan para autenticarse con máquinas virtuales basadas en Linux. Solo se espera una clave especificada. | ContainerServiceSshPublicKey[] (obligatorio) |
ContainerServiceSshPublicKey
| Name | Description | Value |
|---|---|---|
| keyData | Clave pública de certificado que se usa para autenticarse con máquinas virtuales a través de SSH. El certificado debe estar en formato PEM con o sin encabezados. | string (obligatorio) |
KubeletConfig
| Name | Description | Value |
|---|---|---|
| allowedUnsafeSysctls | Lista de permitidos de sysctls no seguros o patrones sysctl no seguros (que terminan en *). |
string[] |
| containerLogMaxFiles | El número máximo de archivos de registro de contenedor que pueden estar presentes para un contenedor. El número debe ser ≥ 2. | int Constraints: Valor mínimo = 2 |
| containerLogMaxSizeMB | Tamaño máximo (por ejemplo, 10Mi) del archivo de registro de contenedor antes de girarlo. | int |
| cpuCfsQuota | Habilite la aplicación de cuota de CFS de CPU para contenedores que especifiquen límites de CPU. | bool |
| cpuCfsQuotaPeriod | Establece el valor del período de cuota cfS de CPU. | string |
| cpuManagerPolicy | Directiva del Administrador de CPU que se va a usar. | string |
| failSwapOn | Si se establece en true, se producirá un error al iniciar Kubelet si el intercambio está habilitado en el nodo. | bool |
| imageGcHighThreshold | El porcentaje de uso del disco después del cual siempre se ejecuta la recolección de elementos no utilizados de imagen. | int |
| imageGcLowThreshold | El porcentaje de uso del disco antes del cual nunca se ejecuta la recolección de elementos no utilizados de imagen. | int |
| podMaxPids | Número máximo de procesos por pod. | int |
| topologyManagerPolicy | Directiva del Administrador de topologías que se va a usar. | string |
LinuxOSConfig
| Name | Description | Value |
|---|---|---|
| swapFileSizeMB | SwapFileSizeMB especifica el tamaño en MB de un archivo de intercambio que se creará en cada nodo. | int |
| sysctls | Configuración de Sysctl para los nodos del agente de Linux. | SysctlConfig |
| transparentHugePageDefrag | Configuración de desfragmentación de página enorme transparente. | string |
| transparentHugePageEnabled | Configuración transparente habilitada para páginas enormes. | string |
ManagedClusterAADProfile
| Name | Description | Value |
|---|---|---|
| adminGroupObjectIDs | Identificadores de objeto de grupo de AAD que tendrán el rol de administrador del clúster. | string[] |
| clientAppID | Identificador de aplicación de AAD cliente. | string |
| enableAzureRBAC | Si se habilita RBAC de Azure para la autorización de Kubernetes. | bool |
| managed | Si se va a habilitar AAD administrado. | bool |
| serverAppID | Identificador de aplicación de AAD del servidor. | string |
| serverAppSecret | Secreto de aplicación de AAD del servidor. | string |
| tenantID | Identificador de inquilino de AAD que se va a usar para la autenticación. Si no se especifica, usará el inquilino de la suscripción de implementación. | string |
ManagedClusterAddonProfile
| Name | Description | Value |
|---|---|---|
| config | Pares clave-valor para configurar un complemento. | ManagedClusterAddonProfileConfig |
| enabled | Indica si el complemento está habilitado o no. | bool (obligatorio) |
ManagedClusterAddonProfileConfig
| Name | Description | Value |
|---|
ManagedClusterAgentPoolProfile
| Name | Description | Value |
|---|---|---|
| availabilityZones | Zonas de disponibilidad para nodos. Debe usar VirtualMachineScaleSets AgentPoolType. | string[] |
| count | Número de agentes (VM) para hospedar contenedores de Docker. Los valores permitidos deben estar comprendidos entre 0 y 100 (ambos incluidos) para los grupos de usuarios y en el intervalo de 1 a 100 (ambos incluidos) para los grupos del sistema. El valor predeterminado es 1. | int |
| enableAutoScaling | Si se va a habilitar el escalador automático | bool |
| enableEncryptionAtHost | Si se va a habilitar EncryptionAtHost | bool |
| enableNodePublicIP | Habilitación de la dirección IP pública para los nodos | bool |
| kubeletConfig | KubeletConfig especifica la configuración de kubelet en los nodos del agente. | KubeletConfig |
| kubeletDiskType | KubeletDiskType determina la ubicación de volúmenes emptyDir, raíz de datos en tiempo de ejecución del contenedor y almacenamiento efímero de Kubelet. Actualmente permite un valor, sistema operativo, lo que da lugar a Kubelet mediante el disco del sistema operativo para los datos. | 'OS' |
| linuxOSConfig | LinuxOSConfig especifica la configuración del sistema operativo de los nodos del agente de Linux. | LinuxOSConfig |
| maxCount | Número máximo de nodos para el escalado automático | int |
| maxPods | Número máximo de pods que se pueden ejecutar en un nodo. | int |
| minCount | Número mínimo de nodos para el escalado automático | int |
| mode | AgentPoolMode representa el modo de un grupo de agentes. | 'System' 'User' |
| name | Nombre único del perfil del grupo de agentes en el contexto de la suscripción y el grupo de recursos. | string Constraints: Patrón = ^[a-z][a-z0-9]{0,11}$ (obligatorio) |
| nodeLabels | Etiquetas de nodo del grupo de agentes que se conservarán en todos los nodos del grupo de agentes. | ManagedClusterAgentPoolProfilePropertiesNodeLabels |
| nodeTaints | Taints agregados a nuevos nodos durante la creación y escalado del grupo de nodos. Por ejemplo, key=value:NoSchedule. | string[] |
| orchestratorVersion | Versión del orquestador especificada al crear el clúster administrado. | string |
| osDiskSizeGB | Tamaño del disco del sistema operativo en GB que se va a usar para especificar el tamaño del disco para cada máquina de este grupo de maestros o agentes. Si especifica 0, se aplicará el tamaño predeterminado de osDisk según el valor de vmSize especificado. | int Constraints: Valor mínimo = 0 Valor máximo = 1023 |
| osDiskType | Tipo de disco del sistema operativo que se va a usar para las máquinas de un grupo de agentes determinado. Los valores permitidos son "Efímero" y "Administrado". Si no se especifica, el valor predeterminado es "Efímero" cuando la máquina virtual admite sistema operativo efímero y tiene un disco de caché mayor que el OSDiskSizeGB solicitado. De lo contrario, el valor predeterminado es "Administrado". Es posible que no se cambie después de la creación. | 'Ephemeral' 'Managed' |
| osType | OsType que se va a usar para especificar el tipo de sistema operativo. Elija entre Linux y Windows. El valor predeterminado es Linux. | 'Linux' 'Windows' |
| podSubnetID | Pod SubnetID especifica el identificador de subred de la red virtual para los pods. | string |
| proximityPlacementGroupID | Identificador del grupo de selección de ubicación de proximidad. | string |
| scaleSetEvictionPolicy | ScaleSetEvictionPolicy que se va a usar para especificar la directiva de expulsión para el conjunto de escalado de máquinas virtuales de Spot. Valor predeterminado es Eliminar. | 'Deallocate' 'Delete' |
| scaleSetPriority | ScaleSetPriority que se usará para especificar la prioridad del conjunto de escalado de máquinas virtuales. El valor predeterminado es normal. | 'Regular' 'Spot' |
| spotMaxPrice | SpotMaxPrice que se usará para especificar el precio máximo que está dispuesto a pagar en dólares estadounidenses. Los valores posibles son cualquier valor decimal mayor que cero o -1 que indica que el precio predeterminado debe ser up-to a petición. | int |
| tags | Etiquetas de grupo de agentes que se conservarán en el conjunto de escalado de máquinas virtuales del grupo de agentes. | ManagedClusterAgentPoolProfilePropertiesTags |
| type | AgentPoolType representa los tipos de un grupo de agentes. | 'AvailabilitySet' 'VirtualMachineScaleSets' |
| upgradeSettings | Configuración para actualizar el grupo de agentes | AgentPoolUpgradeSettings |
| vmSize | Tamaño de las máquinas virtuales del agente. | 'Standard_A1' 'Standard_A10' 'Standard_A11' 'Standard_A1_v2' 'Standard_A2' 'Standard_A2m_v2' 'Standard_A2_v2' 'Standard_A3' 'Standard_A4' 'Standard_A4m_v2' 'Standard_A4_v2' 'Standard_A5' 'Standard_A6' 'Standard_A7' 'Standard_A8' 'Standard_A8m_v2' 'Standard_A8_v2' 'Standard_A9' 'Standard_B2ms' 'Standard_B2s' 'Standard_B4ms' 'Standard_B8ms' 'Standard_D1' 'Standard_D11' 'Standard_D11_v2' 'Standard_D11_v2_Promo' 'Standard_D12' 'Standard_D12_v2' 'Standard_D12_v2_Promo' 'Standard_D13' 'Standard_D13_v2' 'Standard_D13_v2_Promo' 'Standard_D14' 'Standard_D14_v2' 'Standard_D14_v2_Promo' 'Standard_D15_v2' 'Standard_D16s_v3' 'Standard_D16_v3' 'Standard_D1_v2' 'Standard_D2' 'Standard_D2s_v3' 'Standard_D2_v2' 'Standard_D2_v2_Promo' 'Standard_D2_v3' 'Standard_D3' 'Standard_D32s_v3' 'Standard_D32_v3' 'Standard_D3_v2' 'Standard_D3_v2_Promo' 'Standard_D4' 'Standard_D4s_v3' 'Standard_D4_v2' 'Standard_D4_v2_Promo' 'Standard_D4_v3' 'Standard_D5_v2' 'Standard_D5_v2_Promo' 'Standard_D64s_v3' 'Standard_D64_v3' 'Standard_D8s_v3' 'Standard_D8_v3' 'Standard_DS1' 'Standard_DS11' 'Standard_DS11_v2' 'Standard_DS11_v2_Promo' 'Standard_DS12' 'Standard_DS12_v2' 'Standard_DS12_v2_Promo' 'Standard_DS13' 'Standard_DS13-2_v2' 'Standard_DS13-4_v2' 'Standard_DS13_v2' 'Standard_DS13_v2_Promo' 'Standard_DS14' 'Standard_DS14-4_v2' 'Standard_DS14-8_v2' 'Standard_DS14_v2' 'Standard_DS14_v2_Promo' 'Standard_DS15_v2' 'Standard_DS1_v2' 'Standard_DS2' 'Standard_DS2_v2' 'Standard_DS2_v2_Promo' 'Standard_DS3' 'Standard_DS3_v2' 'Standard_DS3_v2_Promo' 'Standard_DS4' 'Standard_DS4_v2' 'Standard_DS4_v2_Promo' 'Standard_DS5_v2' 'Standard_DS5_v2_Promo' 'Standard_E16s_v3' 'Standard_E16_v3' 'Standard_E2s_v3' 'Standard_E2_v3' 'Standard_E32-16s_v3' 'Standard_E32-8s_v3' 'Standard_E32s_v3' 'Standard_E32_v3' 'Standard_E4s_v3' 'Standard_E4_v3' 'Standard_E64-16s_v3' 'Standard_E64-32s_v3' 'Standard_E64s_v3' 'Standard_E64_v3' 'Standard_E8s_v3' 'Standard_E8_v3' 'Standard_F1' 'Standard_F16' 'Standard_F16s' 'Standard_F16s_v2' 'Standard_F1s' 'Standard_F2' 'Standard_F2s' 'Standard_F2s_v2' 'Standard_F32s_v2' 'Standard_F4' 'Standard_F4s' 'Standard_F4s_v2' 'Standard_F64s_v2' 'Standard_F72s_v2' 'Standard_F8' 'Standard_F8s' 'Standard_F8s_v2' 'Standard_G1' 'Standard_G2' 'Standard_G3' 'Standard_G4' 'Standard_G5' 'Standard_GS1' 'Standard_GS2' 'Standard_GS3' 'Standard_GS4' 'Standard_GS4-4' 'Standard_GS4-8' 'Standard_GS5' 'Standard_GS5-16' 'Standard_GS5-8' 'Standard_H16' 'Standard_H16m' 'Standard_H16mr' 'Standard_H16r' 'Standard_H8' 'Standard_H8m' 'Standard_L16s' 'Standard_L32s' 'Standard_L4s' 'Standard_L8s' 'Standard_M128-32ms' 'Standard_M128-64ms' 'Standard_M128ms' 'Standard_M128s' 'Standard_M64-16ms' 'Standard_M64-32ms' 'Standard_M64ms' 'Standard_M64s' 'Standard_NC12' 'Standard_NC12s_v2' 'Standard_NC12s_v3' 'Standard_NC24' 'Standard_NC24r' 'Standard_NC24rs_v2' 'Standard_NC24rs_v3' 'Standard_NC24s_v2' 'Standard_NC24s_v3' 'Standard_NC6' 'Standard_NC6s_v2' 'Standard_NC6s_v3' 'Standard_ND12s' 'Standard_ND24rs' 'Standard_ND24s' 'Standard_ND6s' 'Standard_NV12' 'Standard_NV24' 'Standard_NV6' |
| vnetSubnetID | VNet SubnetID especifica el identificador de subred de la red virtual para los nodos y quizás los pods | string |
ManagedClusterAgentPoolProfilePropertiesNodeLabels
| Name | Description | Value |
|---|
ManagedClusterAgentPoolProfilePropertiesTags
| Name | Description | Value |
|---|
ManagedClusterAPIServerAccessProfile
| Name | Description | Value |
|---|---|---|
| authorizedIPRanges | Intervalos IP autorizados para el servidor de API de Kubernetes. | string[] |
| enablePrivateCluster | Si se va a crear el clúster como un clúster privado o no. | bool |
| privateDNSZone | Modo de zona dns privada para el clúster privado. | string |
ManagedClusterAutoUpgradeProfile
| Name | Description | Value |
|---|---|---|
| upgradeChannel | canal de actualización para la actualización automática. | 'none' 'patch' 'rapid' 'stable' |
ManagedClusterIdentity
| Name | Description | Value |
|---|---|---|
| type | Tipo de identidad que se usa para el clúster administrado. El tipo "SystemAssigned" usará una identidad creada implícitamente en los componentes maestros y una identidad asignada por el usuario creado automáticamente en MC_ grupo de recursos en los nodos del agente. En su lugar, el tipo "None" no usará MSI para el clúster administrado. | 'None' 'SystemAssigned' 'UserAssigned' |
| userAssignedIdentities | Identidad de usuario asociada al clúster administrado. Esta identidad se usará en el plano de control y solo se permite una identidad asignada por el usuario. Las referencias de clave de diccionario de identidad de usuario serán identificadores de recursos de ARM con el formato: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. | ManagedClusterIdentityUserAssignedIdentities |
ManagedClusterIdentityUserAssignedIdentities
| Name | Description | Value |
|---|
ManagedClusterLoadBalancerProfile
| Name | Description | Value |
|---|---|---|
| allocatedOutboundPorts | Número deseado de puertos SNAT asignados por máquina virtual. Los valores permitidos deben estar en el intervalo de 0 a 64000 (ambos incluidos). El valor predeterminado es 0, lo que da como resultado la asignación dinámica de puertos de Azure. | int Constraints: Valor mínimo = 0 Valor máximo = 64000 |
| effectiveOutboundIPs | Los recursos DE IP de salida efectivos del equilibrador de carga del clúster. | ResourceReference[] |
| idleTimeoutInMinutes | Tiempo de espera de inactividad de flujo de salida deseado en minutos. Los valores permitidos deben estar en el intervalo de 4 a 120 (ambos incluidos). El valor predeterminado es de 30 minutos. | int Constraints: Valor mínimo = 4 Valor máximo = 120 |
| managedOutboundIPs | Direcciones IP de salida administradas deseadas para el equilibrador de carga del clúster. | ManagedClusterLoadBalancerProfileManagedOutboundIPs |
| outboundIPPrefixes | Recursos de prefijo ip de salida deseados para el equilibrador de carga del clúster. | ManagedClusterLoadBalancerProfileOutboundIPPrefixes |
| outboundIPs | Recursos IP de salida deseados para el equilibrador de carga del clúster. | ManagedClusterLoadBalancerProfileOutboundIPs |
ManagedClusterLoadBalancerProfileManagedOutboundIPs
| Name | Description | Value |
|---|---|---|
| count | Número deseado de direcciones IP de salida creadas o administradas por Azure para el equilibrador de carga del clúster. Los valores permitidos deben estar en el intervalo de 1 a 100 (ambos incluidos). El valor predeterminado es 1. | int Constraints: Valor mínimo = 1 Valor máximo = 100 |
ManagedClusterLoadBalancerProfileOutboundIPPrefixes
| Name | Description | Value |
|---|---|---|
| publicIPPrefixes | Lista de recursos de prefijo de IP pública. | ResourceReference[] |
ManagedClusterLoadBalancerProfileOutboundIPs
| Name | Description | Value |
|---|---|---|
| publicIPs | Lista de recursos de ip pública. | ResourceReference[] |
ManagedClusterPodIdentity
| Name | Description | Value |
|---|---|---|
| identity | Información de la identidad asignada por el usuario. | UserAssignedIdentity (obligatorio) |
| name | Nombre de la identidad del pod. | string (obligatorio) |
| namespace | Espacio de nombres de la identidad del pod. | string (obligatorio) |
ManagedClusterPodIdentityException
| Name | Description | Value |
|---|---|---|
| name | Nombre de la excepción de identidad del pod. | string (obligatorio) |
| namespace | Espacio de nombres de la excepción de identidad de pod. | string (obligatorio) |
| podLabels | Etiquetas de pod que coincidan. | ManagedClusterPodIdentityExceptionPodLabels (obligatorio) |
ManagedClusterPodIdentityExceptionPodLabels
| Name | Description | Value |
|---|
ManagedClusterPodIdentityProfile
| Name | Description | Value |
|---|---|---|
| enabled | Indica si el complemento de identidad de pod está habilitado. | bool |
| userAssignedIdentities | Configuración de identidad de pod asignada por el usuario. | ManagedClusterPodIdentity[] |
| userAssignedIdentityExceptions | Configuración de excepción de identidad de pod asignada por el usuario. | ManagedClusterPodIdentityException[] |
ManagedClusterProperties
| Name | Description | Value |
|---|---|---|
| aadProfile | Perfil de configuración de Azure Active Directory. | ManagedClusterAADProfile |
| addonProfiles | Perfil del complemento de clúster administrado. | ManagedClusterPropertiesAddonProfiles |
| agentPoolProfiles | Propiedades del grupo de agentes. | ManagedClusterAgentPoolProfile[] |
| apiServerAccessProfile | Perfil de acceso para el servidor de API de clúster administrado. | ManagedClusterAPIServerAccessProfile |
| autoScalerProfile | Parámetros que se van a aplicar al escalador automático del clúster cuando está habilitado | ManagedClusterPropertiesAutoScalerProfile |
| autoUpgradeProfile | Perfil de configuración de actualización automática. | ManagedClusterAutoUpgradeProfile |
| diskEncryptionSetID | ResourceId del conjunto de cifrado de disco que se va a usar para habilitar el cifrado en reposo. | string |
| dnsPrefix | Prefijo DNS especificado al crear el clúster administrado. | string |
| enablePodSecurityPolicy | (EN DESUSO) Indica si se va a habilitar la directiva de seguridad de pods de Kubernetes (versión preliminar). Esta característica se establece para su eliminación el 15 de octubre de 2020. Obtenga más información en aka.ms/aks/azpodpolicy. | bool |
| enableRBAC | Si se va a habilitar Kubernetes Role-Based Access Control. | bool |
| identityProfile | Identidades asociadas al clúster. | ManagedClusterPropertiesIdentityProfile |
| kubernetesVersion | Versión de Kubernetes especificada al crear el clúster administrado. | string |
| linuxProfile | Perfil de máquinas virtuales Linux en el clúster de servicios de contenedor. | ContainerServiceLinuxProfile |
| networkProfile | Perfil de configuración de red. | ContainerServiceNetworkProfile |
| nodeResourceGroup | Nombre del grupo de recursos que contiene los nodos del grupo de agentes. | string |
| podIdentityProfile | Perfil de identidad de pod del clúster administrado. | ManagedClusterPodIdentityProfile |
| servicePrincipalProfile | Información sobre una identidad de entidad de servicio para el clúster que se va a usar para manipular las API de Azure. | ManagedClusterServicePrincipalProfile |
| windowsProfile | Perfil de máquinas virtuales Windows en el clúster del servicio de contenedor. | ManagedClusterWindowsProfile |
ManagedClusterPropertiesAddonProfiles
| Name | Description | Value |
|---|
ManagedClusterPropertiesAutoScalerProfile
| Name | Description | Value |
|---|---|---|
| balance-similar-node-groups | string | |
| expander | 'least-waste' 'most-pods' 'priority' 'random' |
|
| max-empty-bulk-delete | string | |
| max-graceful-termination-sec | string | |
| max-node-provision-time | string | |
| max-total-unready-percentage | string | |
| new-pod-scale-up-delay | string | |
| ok-total-unready-count | string | |
| scale-down-delay-after-add | string | |
| scale-down-delay-after-delete | string | |
| scale-down-delay-after-failure | string | |
| scale-down-unneeded-time | string | |
| scale-down-unready-time | string | |
| scale-down-utilization-threshold | string | |
| scan-interval | string | |
| skip-nodes-with-local-storage | string | |
| skip-nodes-with-system-pods | string |
ManagedClusterPropertiesIdentityProfile
| Name | Description | Value |
|---|
ManagedClusterServicePrincipalProfile
| Name | Description | Value |
|---|---|---|
| clientId | Identificador de la entidad de servicio. | string (obligatorio) |
| secret | Contraseña secreta asociada a la entidad de servicio en texto sin formato. | string |
ManagedClusterSKU
| Name | Description | Value |
|---|---|---|
| name | Nombre de una SKU de clúster administrado. | 'Basic' |
| tier | Nivel de una SKU de clúster administrado. | 'Free' 'Paid' |
ManagedClusterWindowsProfile
| Name | Description | Value |
|---|---|---|
| adminPassword | Especifica la contraseña de la cuenta de administrador. Longitud mínima: 8 caracteres Longitud máxima: 123 caracteres requisitos de complejidad: 3 de 4 condiciones siguientes deben cumplirse. Tiene caracteres inferiores Tiene caracteres superiores Tiene un dígito Tiene un carácter especial (coincidencia regex [\W_]) Valores no permitidos: "abc@123", "P@$$w 0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" |
string |
| adminUsername | Especifica el nombre de la cuenta de administrador. restricción: No se puede terminar en "." valores no permitidos: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm" ", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Longitud mínima: 1 carácter Longitud máxima: 20 caracteres |
string (obligatorio) |
| licenseType | LicenseType que se va a usar para máquinas virtuales Windows. Windows_Server se usa para habilitar ventajas del usuario híbrido de Azure para máquinas virtuales Windows. | 'None' 'Windows_Server' |
ResourceReference
| Name | Description | Value |
|---|---|---|
| id | Identificador completo del recurso de Azure. | string |
ResourceTags
| Name | Description | Value |
|---|
SysctlConfig
| Name | Description | Value |
|---|---|---|
| fsAioMaxNr | Configuración de Sysctl fs.aio-max-nr. | int |
| fsFileMax | Configuración de Sysctl fs.file-max. | int |
| fsInotifyMaxUserWatches | Configuración de Sysctl fs.inotify.max_user_watches. | int |
| fsNrOpen | Configuración de Sysctl fs.nr_open. | int |
| kernelThreadsMax | Configuración de Sysctl kernel.threads-max. | int |
| netCoreNetdevMaxBacklog | Configuración de Sysctl net.core.netdev_max_backlog. | int |
| netCoreOptmemMax | Configuración de Sysctl net.core.optmem_max. | int |
| netCoreRmemDefault | Configuración de Sysctl net.core.rmem_default. | int |
| netCoreRmemMax | Configuración de Sysctl net.core.rmem_max. | int |
| netCoreSomaxconn | Configuración de Sysctl net.core.somaxconn. | int |
| netCoreWmemDefault | Configuración de Sysctl net.core.wmem_default. | int |
| netCoreWmemMax | Configuración de Sysctl net.core.wmem_max. | int |
| netIpv4IpLocalPortRange | Configuración de Sysctl net.ipv4.ip_local_port_range. | string |
| netIpv4NeighDefaultGcThresh1 | Configuración de Sysctl net.ipv4.neigh.default.gc_thresh1. | int |
| netIpv4NeighDefaultGcThresh2 | Configuración de Sysctl net.ipv4.neigh.default.gc_thresh2. | int |
| netIpv4NeighDefaultGcThresh3 | Configuración de Sysctl net.ipv4.neigh.default.gc_thresh3. | int |
| netIpv4TcpFinTimeout | Configuración de Sysctl net.ipv4.tcp_fin_timeout. | int |
| netIpv4TcpkeepaliveIntvl | Configuración de Sysctl net.ipv4.tcp_keepalive_intvl. | int |
| netIpv4TcpKeepaliveProbes | Configuración de Sysctl net.ipv4.tcp_keepalive_probes. | int |
| netIpv4TcpKeepaliveTime | Configuración de Sysctl net.ipv4.tcp_keepalive_time. | int |
| netIpv4TcpMaxSynBacklog | Configuración de Sysctl net.ipv4.tcp_max_syn_backlog. | int |
| netIpv4TcpMaxTwBuckets | Configuración de Sysctl net.ipv4.tcp_max_tw_buckets. | int |
| netIpv4TcpTwReuse | Configuración de Sysctl net.ipv4.tcp_tw_reuse. | bool |
| netNetfilterNfConntrackBuckets | Configuración de Sysctl net.netfilter.nf_conntrack_buckets. | int |
| netNetfilterNfConntrackMax | Configuración de Sysctl net.netfilter.nf_conntrack_max. | int |
| vmMaxMapCount | Configuración de Sysctl vm.max_map_count. | int |
| vmSwappiness | Configuración de Sysctl vm.swappiness. | int |
| vmVfsCachePressure | Configuración de Sysctl vm.vfs_cache_pressure. | int |
UserAssignedIdentity
| Name | Description | Value |
|---|---|---|
| clientId | Identificador de cliente de la identidad asignada por el usuario. | string |
| objectId | Identificador de objeto de la identidad asignada por el usuario. | string |
| resourceId | Identificador de recurso de la identidad asignada por el usuario. | string |
Ejemplos de uso
Ejemplos de Terraform
Un ejemplo básico de implementación de un clúster de Kubernetes administrado (también conocido como AKS / Azure Kubernetes Service).
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
schema_validation_enabled = false
response_export_values = ["*"]
}
resource "azapi_resource" "managedCluster" {
type = "Microsoft.ContainerService/managedClusters@2023-04-02-preview"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
identity {
type = "SystemAssigned"
identity_ids = []
}
body = {
properties = {
agentPoolProfiles = [
{
count = 1
mode = "System"
name = "default"
vmSize = "Standard_DS2_v2"
},
]
dnsPrefix = var.resource_name
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}
Módulos comprobados de Azure
Los siguientes módulos comprobados de Azure se pueden usar para implementar este tipo de recurso.
| Module | Description |
|---|---|
| Clúster administrado de AKS | Módulo de recursos de AVM para clúster administrado de AKS |