共用方式為


Microsoft.ContainerService managedClusters 2022-09-01

Bicep 資源定義

managedClusters 資源類型可以使用以下列目標作業部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。

備註

如需可用附加元件的資訊,請參閱附加元件、延伸模組和其他與 Azure Kubernetes Service的整合

資源格式

若要建立 Microsoft.ContainerService/managedClusters 資源,請將下列 Bicep 新增至您的範本。

resource symbolicname 'Microsoft.ContainerService/managedClusters@2022-09-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  sku: {
    name: 'Basic'
    tier: 'string'
  }
  extendedLocation: {
    name: 'string'
    type: 'EdgeZone'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  properties: {
    aadProfile: {
      adminGroupObjectIDs: [
        'string'
      ]
      clientAppID: 'string'
      enableAzureRBAC: bool
      managed: bool
      serverAppID: 'string'
      serverAppSecret: 'string'
      tenantID: 'string'
    }
    addonProfiles: {
      {customized property}: {
        config: {
          {customized property}: 'string'
        }
        enabled: bool
      }
    }
    agentPoolProfiles: [
      {
        availabilityZones: [
          'string'
        ]
        count: int
        creationData: {
          sourceResourceId: 'string'
        }
        enableAutoScaling: bool
        enableEncryptionAtHost: bool
        enableFIPS: bool
        enableNodePublicIP: bool
        enableUltraSSD: bool
        gpuInstanceProfile: 'string'
        hostGroupID: 'string'
        kubeletConfig: {
          allowedUnsafeSysctls: [
            'string'
          ]
          containerLogMaxFiles: int
          containerLogMaxSizeMB: int
          cpuCfsQuota: bool
          cpuCfsQuotaPeriod: 'string'
          cpuManagerPolicy: 'string'
          failSwapOn: bool
          imageGcHighThreshold: int
          imageGcLowThreshold: int
          podMaxPids: int
          topologyManagerPolicy: 'string'
        }
        kubeletDiskType: 'string'
        linuxOSConfig: {
          swapFileSizeMB: int
          sysctls: {
            fsAioMaxNr: int
            fsFileMax: int
            fsInotifyMaxUserWatches: int
            fsNrOpen: int
            kernelThreadsMax: int
            netCoreNetdevMaxBacklog: int
            netCoreOptmemMax: int
            netCoreRmemDefault: int
            netCoreRmemMax: int
            netCoreSomaxconn: int
            netCoreWmemDefault: int
            netCoreWmemMax: int
            netIpv4IpLocalPortRange: 'string'
            netIpv4NeighDefaultGcThresh1: int
            netIpv4NeighDefaultGcThresh2: int
            netIpv4NeighDefaultGcThresh3: int
            netIpv4TcpFinTimeout: int
            netIpv4TcpkeepaliveIntvl: int
            netIpv4TcpKeepaliveProbes: int
            netIpv4TcpKeepaliveTime: int
            netIpv4TcpMaxSynBacklog: int
            netIpv4TcpMaxTwBuckets: int
            netIpv4TcpTwReuse: bool
            netNetfilterNfConntrackBuckets: int
            netNetfilterNfConntrackMax: int
            vmMaxMapCount: int
            vmSwappiness: int
            vmVfsCachePressure: int
          }
          transparentHugePageDefrag: 'string'
          transparentHugePageEnabled: 'string'
        }
        maxCount: int
        maxPods: int
        minCount: int
        mode: 'string'
        name: 'string'
        nodeLabels: {
          {customized property}: 'string'
        }
        nodePublicIPPrefixID: 'string'
        nodeTaints: [
          'string'
        ]
        orchestratorVersion: 'string'
        osDiskSizeGB: int
        osDiskType: 'string'
        osSKU: 'string'
        osType: 'string'
        podSubnetID: 'string'
        powerState: {
          code: 'string'
        }
        proximityPlacementGroupID: 'string'
        scaleDownMode: 'string'
        scaleSetEvictionPolicy: 'string'
        scaleSetPriority: 'string'
        spotMaxPrice: json('decimal-as-string')
        tags: {}
        type: 'string'
        upgradeSettings: {
          maxSurge: 'string'
        }
        vmSize: 'string'
        vnetSubnetID: 'string'
        workloadRuntime: 'string'
      }
    ]
    apiServerAccessProfile: {
      authorizedIPRanges: [
        'string'
      ]
      disableRunCommand: bool
      enablePrivateCluster: bool
      enablePrivateClusterPublicFQDN: bool
      privateDNSZone: 'string'
    }
    autoScalerProfile: {
      'balance-similar-node-groups': 'string'
      expander: 'string'
      'max-empty-bulk-delete': 'string'
      'max-graceful-termination-sec': 'string'
      'max-node-provision-time': 'string'
      'max-total-unready-percentage': 'string'
      'new-pod-scale-up-delay': 'string'
      'ok-total-unready-count': 'string'
      'scale-down-delay-after-add': 'string'
      'scale-down-delay-after-delete': 'string'
      'scale-down-delay-after-failure': 'string'
      'scale-down-unneeded-time': 'string'
      'scale-down-unready-time': 'string'
      'scale-down-utilization-threshold': 'string'
      'scan-interval': 'string'
      'skip-nodes-with-local-storage': 'string'
      'skip-nodes-with-system-pods': 'string'
    }
    autoUpgradeProfile: {
      upgradeChannel: 'string'
    }
    disableLocalAccounts: bool
    diskEncryptionSetID: 'string'
    dnsPrefix: 'string'
    enablePodSecurityPolicy: bool
    enableRBAC: bool
    fqdnSubdomain: 'string'
    httpProxyConfig: {
      httpProxy: 'string'
      httpsProxy: 'string'
      noProxy: [
        'string'
      ]
      trustedCa: 'string'
    }
    identityProfile: {
      {customized property}: {
        clientId: 'string'
        objectId: 'string'
        resourceId: 'string'
      }
    }
    kubernetesVersion: 'string'
    linuxProfile: {
      adminUsername: 'string'
      ssh: {
        publicKeys: [
          {
            keyData: 'string'
          }
        ]
      }
    }
    networkProfile: {
      dnsServiceIP: 'string'
      dockerBridgeCidr: 'string'
      ipFamilies: [
        'string'
      ]
      loadBalancerProfile: {
        allocatedOutboundPorts: int
        effectiveOutboundIPs: [
          {
            id: 'string'
          }
        ]
        enableMultipleStandardLoadBalancers: bool
        idleTimeoutInMinutes: int
        managedOutboundIPs: {
          count: int
          countIPv6: int
        }
        outboundIPPrefixes: {
          publicIPPrefixes: [
            {
              id: 'string'
            }
          ]
        }
        outboundIPs: {
          publicIPs: [
            {
              id: 'string'
            }
          ]
        }
      }
      loadBalancerSku: 'string'
      natGatewayProfile: {
        effectiveOutboundIPs: [
          {
            id: 'string'
          }
        ]
        idleTimeoutInMinutes: int
        managedOutboundIPProfile: {
          count: int
        }
      }
      networkMode: 'string'
      networkPlugin: 'string'
      networkPolicy: 'string'
      outboundType: 'string'
      podCidr: 'string'
      podCidrs: [
        'string'
      ]
      serviceCidr: 'string'
      serviceCidrs: [
        'string'
      ]
    }
    nodeResourceGroup: 'string'
    oidcIssuerProfile: {
      enabled: bool
    }
    podIdentityProfile: {
      allowNetworkPluginKubenet: bool
      enabled: bool
      userAssignedIdentities: [
        {
          bindingSelector: 'string'
          identity: {
            clientId: 'string'
            objectId: 'string'
            resourceId: 'string'
          }
          name: 'string'
          namespace: 'string'
        }
      ]
      userAssignedIdentityExceptions: [
        {
          name: 'string'
          namespace: 'string'
          podLabels: {
            {customized property}: 'string'
          }
        }
      ]
    }
    privateLinkResources: [
      {
        groupId: 'string'
        id: 'string'
        name: 'string'
        requiredMembers: [
          'string'
        ]
        type: 'string'
      }
    ]
    publicNetworkAccess: 'string'
    securityProfile: {
      azureKeyVaultKms: {
        enabled: bool
        keyId: 'string'
        keyVaultNetworkAccess: 'string'
        keyVaultResourceId: 'string'
      }
      defender: {
        logAnalyticsWorkspaceResourceId: 'string'
        securityMonitoring: {
          enabled: bool
        }
      }
    }
    servicePrincipalProfile: {
      clientId: 'string'
      secret: 'string'
    }
    storageProfile: {
      blobCSIDriver: {
        enabled: bool
      }
      diskCSIDriver: {
        enabled: bool
      }
      fileCSIDriver: {
        enabled: bool
      }
      snapshotController: {
        enabled: bool
      }
    }
    windowsProfile: {
      adminPassword: 'string'
      adminUsername: 'string'
      enableCSIProxy: bool
      gmsaProfile: {
        dnsServer: 'string'
        enabled: bool
        rootDomainName: 'string'
      }
      licenseType: 'string'
    }
  }
}

屬性值

managedClusters

名稱 描述
NAME 資源名稱 需要字串 ()

字元限制:1-63

合法字元:
英數字元、底線和連字號。

以英數字元開頭及結尾。
location 資源所在的地理位置 需要字串 ()
tags 資源標籤。 標記名稱和值的字典。 請參閱 範本中的標籤
sku 受控叢集 SKU。 ManagedClusterSKU
extendedLocation 虛擬機的擴充位置。 ExtendedLocation
身分識別 如果已設定,則為受控叢集的識別。 ManagedClusterIdentity
properties 受控叢集的屬性。 ManagedClusterProperties

ExtendedLocation

名稱 描述
NAME 擴充位置的名稱。 字串
type 擴充位置的類型。 'EdgeZone'

ManagedClusterIdentity

名稱 描述
類型 如需詳細資訊,請參閱 在 AKS 中使用受控識別 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities 密鑰必須是 ARM 資源識別符,格式為:『/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。 ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

名稱 描述
{自定義屬性} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

此物件不包含部署期間要設定的任何屬性。 所有屬性都是 ReadOnly。

ManagedClusterProperties

名稱 描述
aadProfile Azure Active Directory 設定。 ManagedClusterAADProfile
addonProfiles 受控叢集附加元件的配置檔。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理程式集區屬性。 ManagedClusterAgentPoolProfile[]
apiServerAccessProfile 受控叢集 API 伺服器的存取設定檔。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 啟用時要套用至叢集自動調整程序的參數 ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自動升級組態。 ManagedClusterAutoUpgradeProfile
disableLocalAccounts 如果設定為 true,將會停用此叢集的靜態認證。 這隻能在已啟用 AAD 的受控叢集上使用。 如需詳細資訊,請參閱 停用本機帳戶 bool
diskEncryptionSetID 格式如下:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' 字串
dnsPrefix 建立受控叢集之後,就無法更新此專案。 字串
enablePodSecurityPolicy (淘汰) 是否要啟用 Kubernetes Pod 安全策略 (預覽) 。 此功能設定為在 2020 年 10 月 15 日移除。 若要深入瞭解,請參閱 aka.ms/aks/azpodpolicy。 bool
enableRBAC 是否要啟用 Kubernetes Role-Based 存取控制。 bool
fqdnSubdomain 建立受控叢集之後,就無法更新此專案。 字串
httpProxyConfig 使用 HTTP Proxy 伺服器布建叢集的設定。 ManagedClusterHttpProxyConfig
identityProfile 與叢集相關聯的身分識別。 ManagedClusterPropertiesIdentityProfile
kubernetesVersion 支援修補程式版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20) 。 指定 {major.minor} 時,會自動選擇最新的支援 GA 修補程式版本。 在建立叢集之後,以相同的 {major.minor} 更新叢集 (例如 1.14.x -} 1.14) 將不會觸發升級,即使有較新的修補程式版本也一樣。 當您升級支援的 AKS 叢集時,則無法略過 Kubernetes 次要版本。 所有升級都必須依主要版本號碼順序執行。 例如,允許在 1.14.x -} 1.15.x 或 1.15.x -} 1.16.x 之間升級,不過不允許 1.14.x -} 1.16.x。 如需詳細資訊 ,請參閱升級 AKS 叢集 字串
linuxProfile 受控叢集中Linux VM的配置檔。 ContainerServiceLinuxProfile
networkProfile 網路組態配置檔。 ContainerServiceNetworkProfile
nodeResourceGroup 包含代理程式集區節點的資源群組名稱。 字串
oidcIssuerProfile 受控叢集的 OIDC 簽發者配置檔。 ManagedClusterOidcIssuerProfile
podIdentityProfile 如需 AAD Pod 身分識別整合的詳細資訊,請參閱 使用 AAD Pod 身分識別。 ManagedClusterPodIdentityProfile
privateLinkResources 與叢集相關聯的私人鏈接資源。 PrivateLinkResource[]
publicNetworkAccess 允許或拒絕 AKS 的公用網路存取 'Disabled'
'Enabled'
securityProfile 受控叢集的安全性配置檔。 ManagedClusterSecurityProfile
servicePrincipalProfile 叢集用來操作 Azure API 的服務主體身分識別相關信息。 ManagedClusterServicePrincipalProfile
storageProfile 受控叢集的記憶體配置檔。 ManagedClusterStorageProfile
windowsProfile 受控叢集中 Windows VM 的配置檔。 ManagedClusterWindowsProfile

ManagedClusterAADProfile

名稱 描述
adminGroupObjectIDs 將具有叢集管理員角色的 AAD 群組物件識別符清單。 string[]
clientAppID 用戶端 AAD 應用程式識別碼。 字串
enableAzureRBAC 是否啟用適用於 Kubernetes 授權的 Azure RBAC。 bool
受控 是否要啟用受控 AAD。 bool
serverAppID 伺服器 AAD 應用程式識別碼。 字串
serverAppSecret 伺服器 AAD 應用程式秘密。 字串
tenantID 要用於驗證的 AAD 租使用者識別碼。 如果未指定,將會使用部署訂用帳戶的租使用者。 字串

ManagedClusterPropertiesAddonProfiles

名稱 描述
{自定義屬性} ManagedClusterAddonProfile

ManagedClusterAddonProfile

名稱 描述
config 用於設定附加元件的索引鍵/值組。 ManagedClusterAddonProfileConfig
已啟用 附加元件是否已啟用。 bool (必要)

ManagedClusterAddonProfileConfig

名稱 描述
{自定義屬性} 字串

ManagedClusterAgentPoolProfile

名稱 描述
availabilityZones 要用於節點的可用性區域清單。 只有在 AgentPoolType 屬性為 'VirtualMachineScaleSets' 時,才能指定這個值。 string[]
計數 ) 裝載 Docker 容器的 VM (代理程式數目。 允許的值必須介於 0 到 1000 (包含的使用者集區) 範圍內,以及系統集區的 1 到 1000 (包含) 範圍內。 預設值為 1。 int
creationData 如果節點集區將使用快照集建立/升級,則建立Data,以指定來源快照集標識符。 CreationData
enableAutoScaling 是否啟用自動調整器 bool
enableEncryptionAtHost 只有特定 VM 大小和特定 Azure 區域中才支援此功能。 如需詳細資訊,請參閱:/azure/aks/enable-host-encryption bool
enableFIPS 如需詳細資訊 ,請參閱新增已啟用 FIPS 的節點集 區。 bool
enableNodePublicIP 某些案例可能需要節點集區中的節點接收自己的專用公用IP位址。 常見的案例是遊戲工作負載,其中主控台需要直接連線至雲端虛擬機器,以將躍點降到最低。 如需詳細資訊,請參閱 為每個節點指派公用IP。 預設值為 false。 bool
enableUltraSSD 是否啟用 UltraSSD bool
gpuInstanceProfile GPUInstanceProfile 可用來指定支援的 GPU VM SKU 的 GPU MIG 實例配置檔。 'MIG1g'
'MIG2g'
'MIG3g'
'MIG4g'
'MIG7g'
hostGroupID 這是格式:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}。 如需詳細資訊,請參閱 Azure 專用主機 字串
kubeletConfig 代理程式集區節點上的 Kubelet 組態。 KubeletConfig
kubeletDiskType 決定 emptyDir 磁碟區、容器運行時間數據根目錄和 Kubelet 暫時記憶體的位置。 'OS'
'Temporary'
linuxOSConfig Linux 代理程序節點的 OS 組態。 LinuxOSConfig
maxCount 自動調整的節點數目上限 int
maxPods 可以在節點上執行的 Pod 數目上限。 int
minCount 自動調整的節點數目下限 int
mode 叢集必須隨時至少有一個「系統」代理程式集區。 如需代理程式集區限制和最佳做法的其他資訊,請參閱:/azure/aks/use-system-pool 'System'
'User'
NAME Windows 代理程式集區名稱必須是 6 個字元或更少。 字串 (必要)

約束:
模式 = ^[a-z][a-z0-9]{0,11}$
nodeLabels 要保存於代理程式集區中所有節點的節點標籤。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodePublicIPPrefixID 此格式為:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} 字串
nodeTaints 節點集區建立和調整期間新增至新節點的 Taint。 例如,key=value:NoSchedule。 string[]
orchestratorVersion 支援兩個修補程式版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20) 。 指定 {major.minor} 時,會自動選擇最新的支援 GA 修補程式版本。 在建立叢集之後,以相同的 {major.minor} 更新叢集 (例如 1.14.x -} 1.14) 將不會觸發升級,即使有較新的修補程式版本也一樣。 最佳做法是,您應該將 AKS 叢集中的所有節點集區升級為相同的 Kubernetes 版本。 節點集區版本必須與控制平面具有相同的「主要」版本。 節點集區「次要」版本必須在控制平面版本的兩個「次要」版本內。 節點集區版本不能大於控制平面版本。 如需詳細資訊,請參閱 升級節點集區 字串
osDiskSizeGB 以 GB 為單位的 OS 磁碟大小,用來指定主要/代理程式集區中每部電腦的磁碟大小。 如果您指定 0,它會根據指定的 vmSize 套用預設 osDisk 大小。 int

約束:
最小值 = 0
最大值 = 2048
osDiskType 如果 VM 支援,且快取磁碟大於要求的 OSDiskSizeGB,則預設值為 'Ephemeral'。 否則,預設為 『Managed』。 建立之後可能不會變更。 如需詳細資訊,請參閱 暫時OS 'Ephemeral'
'Managed'
osSKU 指定代理程式集區所使用的 OS SKU。 如果OSType為Linux,則預設值為Ubuntu。 如果 OSType 是 Windows,則當 Kubernetes <>= 1.24 或 Windows2022 =1.25 時,預設值為 Windows2019。 'CBLMariner'
'Ubuntu'
'Windows2019'
'Windows2022'
osType 操作系統類型。 預設值為Linux。 'Linux'
'Windows'
podSubnetID 如果省略,則會在節點子網上靜態指派 Pod IP, (請參閱 vnetSubnetID 以取得詳細數據) 。 這是格式:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字串
powerState 第一次建立代理程式集區時,它一開始會執行。 您可以將此欄位設定為 [已停止] 來停止代理程式集區。 已停止的代理程式集區會停止其所有 VM,而不會產生計費費用。 只有在代理程式集區為 [執行中] 且布建狀態為 [成功] 時,才能停止 PowerState
proximityPlacementGroupID 鄰近放置群組的標識碼。 字串
scaleDownMode 這也會影響叢集自動調整程序行為。 如果未指定,則預設為 Delete。 'Deallocate'
'Delete'
scaleSetEvictionPolicy 除非 scaleSetPriority 為 'Spot',否則無法指定此專案。 如果未指定,則預設值為 『Delete』。 'Deallocate'
'Delete'
scaleSetPriority 虛擬機擴展集優先順序。 如果未指定,則預設值為 『Regular』。 'Regular'
'Spot'
spotMaxPrice 可能的值是大於零或 -1 的任何十進位值,表示願意支付任何隨選價格。 如需現成定價的詳細資訊,請參閱 現成 VM 定價 若要指定十進位值,請使用 json () 函式。 int 或 json decimal
tags 要保存在代理程式集區虛擬機擴展集上的標記。 物件 (object)
類型 代理程式集區的型別。 'AvailabilitySet'
'VirtualMachineScaleSets'
upgradeSettings 升級 Agentpool 的設定 AgentPoolUpgradeSettings
vmSize VM 大小可用性會因區域而異。 如果節點包含的計算資源不足, (記憶體、cpu 等) Pod 可能無法正確執行。 如需受限制 VM 大小的詳細資訊,請參閱:/azure/aks/quotas-skus-regions 字串
vnetSubnetID 如果未指定此專案,將會產生及使用 VNET 和子網。 如果未指定 PodSubnetID,這會套用至節點和 Pod,否則只會套用至節點。 這是格式:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字串
workloadRuntime 決定節點可執行的工作負載類型。 'OCIContainer'
'WasmWasi'

CreationData

名稱 描述
sourceResourceId 這是用來建立目標物件的來源物件的 ARM 識別碼。 字串

KubeletConfig

名稱 描述
allowedUnsafeSysctls 允許的不安全 sysctls 或 unsafe sysctl 模式清單, (結尾為 *) 。 string[]
containerLogMaxFiles 容器可存在的容器記錄檔數目上限。 數字必須≥ 2。 int

約束:
最小值 = 2
containerLogMaxSizeMB 容器記錄檔) 輪替前的大小上限 (,例如 10Mi。 int
cpuCfsQuota 預設值是 true。 bool
cpuCfsQuotaPeriod 默認值為 『100ms』。 有效值為具有選擇性分數和單位後綴的十進位數序列。 例如:『300ms』、『2h45m』。 支持的單位為 『ns』、『us』、『ms』、『s』、'm'和 'h'。 字串
cpuManagerPolicy 預設值為 『none』。 如需詳細資訊,請參閱 Kubernetes CPU 管理原則 。 允許的值是 『none』 和 『static』。 字串
failSwapOn 如果設定為 true,則當節點上啟用交換時,Kubelet 將無法啟動。 bool
imageGcHighThreshold 若要停用映像記憶體回收,請設定為 100。 預設值為 85% int
imageGcLowThreshold 這無法設定高於 imageGcHighThreshold。 預設值為 80% int
podMaxPids 每個 Pod 的進程數目上限。 int
topologyManagerPolicy 如需詳細資訊,請參閱 Kubernetes 拓撲管理員。 預設值為 『none』。 允許的值是 『none』、『best-effort』、『restricted』和 『single-numa-node』。 字串

LinuxOSConfig

名稱 描述
swapFileSizeMB 每個節點上將建立之交換檔案 MB 的大小。 int
sysctls Linux 代理程序節點的 Sysctl 設定。 SysctlConfig
transparentHugePageDefrag 有效值為 'always'、'defer'、'defer+madvise'、'madvise' 和 'never'。 默認值為 『madvise』。 如需詳細資訊,請參閱 透明大型頁面 字串
transparentHugePageEnabled 有效值為 『always』、『madvise』和 『never』。 默認值為 『always』。 如需詳細資訊,請參閱 透明大型頁面 字串

SysctlConfig

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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名稱 描述
{自定義屬性} 字串

PowerState

名稱 描述
code 告知叢集是否正在執行或已停止 'Running'
'Stopped'

AgentPoolUpgradeSettings

名稱 描述
maxSurge 這可以設定為整數 (例如 『5』) 或百分比 (例如 『50%』) 。 如果指定百分比,則它是升級時代理程式集區大小總計的百分比。 針對百分比,小數節點會進位。 若未加以指定,預設為 1。 如需詳細資訊,包括最佳做法,請參閱:/azure/aks/upgrade-cluster#customize-node-surge-upgrade 字串

ManagedClusterAPIServerAccessProfile

名稱 描述
authorizedIPRanges IP 範圍會以 CIDR 格式指定,例如 137.117.106.88/29。 這項功能與使用「每個節點公用IP」的叢集不相容,或是使用基本 Load Balancer的叢集。 如需詳細資訊,請參閱 API 伺服器授權的 IP 範圍 string[]
disableRunCommand 是否停用叢集的執行命令。 bool
enablePrivateCluster 如需詳細資訊,請參閱 建立私人 AKS 叢集 bool
enablePrivateClusterPublicFQDN 是否要為私人叢集建立其他公用 FQDN。 bool
privateDNSZone 預設值為 [系統]。 如需詳細資訊,請參閱 設定私人 DNS 區域。 允許的值是 'system' 和 'none'。 字串

ManagedClusterPropertiesAutoScalerProfile

名稱 描述
balance-similar-node-groups 有效值為 'true' 和 'false' 字串
展開器 如果未指定,則預設值為 『random』。 如需詳細資訊 ,請參閱擴充工具 'least-waste'
'most-pods'
'priority'
'random'
max-empty-bulk-delete 預設值為 10。 字串
max-graceful-termination-sec 預設值為 600。 字串
max-node-provision-time 預設值為 『15m』。 值必須是整數,後面接著 'm'。 不支援 (m) 以外的時間單位。 字串
max-total-unready-percentage 預設值為 45。 最大值為 100,最小值為 0。 字串
new-pod-scale-up-delay 針對在 kubernetes 排程器可以排程所有 Pod 之前,不想讓 CA 採取行動的高載/批次調整案例,您可以在 Pod 具備特定存留期前,先告訴 CA 忽略未排程的 Pod。 預設值為 『0s』。 值必須是一個整數,後面接著單位 ('s','m' 代表分鐘數、'h' 代表小時等等) 。 字串
ok-total-unready-count 這必須是整數。 預設值為 3。 字串
scale-down-delay-after-add 預設值為 『10m』。 值必須是整數,後面接著 'm'。 不支援 (m) 以外的時間單位。 字串
scale-down-delay-after-delete 預設值為掃描間隔。 值必須是整數,後面接著 'm'。 不支援 (m) 以外的時間單位。 字串
scale-down-delay-after-failure 預設值為 『3m』。 值必須是整數,後面接著 'm'。 不支援 (m) 以外的時間單位。 字串
scale-down-unneeded-time 預設值為 『10m』。 值必須是整數,後面接著 'm'。 不支援 (m) 以外的時間單位。 字串
scale-down-unready-time 默認值為 『20m』。 值必須是整數,後面接著 'm'。 不支援 (m) 以外的時間單位。 字串
scale-down-utilization-threshold 預設值為 『0.5』。 字串
scan-interval 預設值為 『10』。 值必須是整數秒數。 字串
skip-nodes-with-local-storage 預設值是 true。 字串
skip-nodes-with-system-pods 預設值是 true。 字串

ManagedClusterAutoUpgradeProfile

名稱 描述
upgradeChannel 如需詳細資訊,請參閱 設定 AKS 叢集自動升級通道 'node-image'
'none'
'patch'
'rapid'
'stable'

ManagedClusterHttpProxyConfig

名稱 描述
httpProxy 要使用的 HTTP Proxy 伺服器端點。 字串
httpsProxy 要使用的 HTTPS Proxy 伺服器端點。 字串
noProxy 不應該通過 Proxy 的端點。 string[]
trustedCa 用來連線到 Proxy 伺服器的替代 CA 憑證。 字串

ManagedClusterPropertiesIdentityProfile

名稱 描述
{自定義屬性} UserAssignedIdentity

UserAssignedIdentity

名稱 描述
clientId 使用者指派身分識別的用戶端標識碼。 字串
objectId 使用者指派身分識別的物件標識碼。 字串
resourceId 使用者指派身分識別的資源標識碼。 字串

ContainerServiceLinuxProfile

名稱 描述
adminUsername 要用於 Linux VM 的系統管理員用戶名稱。 字串 (必要)

約束:
模式 = ^[A-Za-z][-A-Za-z0-9_]*$
ssh 在 Azure 上執行的 Linux 型 VM 的 SSH 組態。 ContainerServiceSshConfiguration (必要)

ContainerServiceSshConfiguration

名稱 描述
publicKeys 用來向Linux型VM進行驗證的SSH公鑰清單。 最多可以指定1個索引鍵。 ContainerServiceSshPublicKey[] (必要)

ContainerServiceSshPublicKey

名稱 描述
keyData 用來透過 SSH 向 VM 進行驗證的憑證公鑰。 憑證必須具有或不含標頭的 PEM 格式。 字串 (必要)

ContainerServiceNetworkProfile

名稱 描述
dnsServiceIP 指派給 Kubernetes DNS 服務的 IP 位址。 它必須位於 serviceCidr 中指定的 Kubernetes 服務地址範圍內。 字串

約束:
模式 = ^(?:(?: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 指派給 Docker 網橋網路的 CIDR 表示法 IP 範圍。 它不得與任何子網 IP 範圍或 Kubernetes 服務地址範圍重疊。 字串

約束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
ipFamilies IP 系列可用來判斷單一堆疊或雙堆棧叢集。 針對單一堆棧,預期的值為IPv4。 針對雙堆棧,預期的值為IPv4和IPv6。 包含任何項目的字串數組:
'IPv4'
'IPv6'
loadBalancerProfile 叢集負載平衡器的配置檔。 ManagedClusterLoadBalancerProfile
loadBalancerSku 默認值為 『standard』。 如需負載平衡器 SKU 之間的差異詳細資訊,請參閱 Azure Load Balancer SKU。 'basic'
'standard'
natGatewayProfile 叢集 NAT 閘道的配置檔。 ManagedClusterNATGatewayProfile
networkMode 如果 networkPlugin 不是 'azure',則無法指定此專案。 'bridge'
'transparent'
networkPlugin 用於建置 Kubernetes 網路的網路外掛程式。 'azure'
'kubenet'
'none'
networkPolicy 用於建置 Kubernetes 網路的網路原則。 'azure'
'calico'
outboundType 這隻能在叢集建立時設定,且稍後無法變更。 如需詳細資訊,請參閱 輸出輸出類型 'loadBalancer'
'managedNATGateway'
'userAssignedNATGateway'
'userDefinedRouting'
podCidr 在使用 kubenet 時據以指派 Pod IP 的 CIDR 標記法 IP 範圍。 字串

約束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
podCidrs 單一堆棧網路預期會有一個 IPv4 CIDR。 雙堆棧網路預期會有兩個 CIDR,每個 IP 系列 (IPv4/IPv6) 。 string[]
serviceCidr 據以指派服務叢集 IP 的 CIDR 標記法 IP 範圍。 此範圍不得與任何子網路 IP 範圍重疊。 字串

約束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidrs 單一堆棧網路預期會有一個 IPv4 CIDR。 雙堆棧網路預期會有兩個 CIDR,每個 IP 系列 (IPv4/IPv6) 。 它們不得與任何子網IP範圍重疊。 string[]

ManagedClusterLoadBalancerProfile

名稱 描述
allocatedOutboundPorts 每個 VM 所需的已配置 SNAT 埠數目。 允許的值範圍介於 0 到 64000 (內含) 。 默認值為 0,這會導致 Azure 動態配置埠。 int

約束:
最小值 = 0
最大值 = 64000
effectiveOutboundIPs 叢集負載平衡器的有效輸出IP資源。 ResourceReference[]
enableMultipleStandardLoadBalancers 針對每個 AKS 叢集啟用多個標準負載平衡器。 bool
idleTimeoutInMinutes 所需的輸出流程閑置逾時,以分鐘為單位。 允許的值範圍介於 4 到 120 (內含) 。 預設值為 30 分鐘。 int

約束:
最小值 = 4
最大值 = 120
managedOutboundIPs 叢集負載平衡器所需的受控輸出IP。 ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes 叢集負載平衡器所需的輸出 IP 前綴資源。 ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs 叢集負載平衡器所需的輸出IP資源。 ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

名稱 描述
id 完整 Azure 資源識別碼。 字串

ManagedClusterLoadBalancerProfileManagedOutboundIPs

名稱 描述
count 為叢集負載平衡器建立/管理的所需 IPv4 輸出IP數目。 允許的值必須介於 1 到 100 (包含) 的範圍內。 預設值為 1。 int

約束:
最小值 = 1
最大值 = 100
countIPv6 為叢集負載平衡器建立/管理的 Azure 所建立/管理的所需 IPv6 輸出 IP 數目。 允許的值必須介於 1 到 100 (包含) 的範圍內。 單一堆棧的預設值為 0,而雙堆疊的預設值為 1。 int

約束:
最小值 = 0
最大值 = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

名稱 描述
publicIPPrefixes 公用IP前置資源的清單。 ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

名稱 描述
publicIPs 公用IP資源的清單。 ResourceReference[]

ManagedClusterNATGatewayProfile

名稱 描述
effectiveOutboundIPs 叢集 NAT 閘道的有效輸出 IP 資源。 ResourceReference[]
idleTimeoutInMinutes 所需的輸出流程閑置逾時,以分鐘為單位。 允許的值為 4 到 120 (包含) 。 預設值為 4 分鐘。 int

約束:
最小值 = 4
最大值 = 120
managedOutboundIPProfile 配置檔叢集 NAT 閘道的受控輸出 IP 資源。 ManagedClusterManagedOutboundIPProfile

ManagedClusterManagedOutboundIPProfile

名稱 描述
count 由 Azure 建立/ 管理的所需輸出 IP 數目。 允許的值必須介於 1 到 16 (包含) 的範圍內。 預設值為 1。 int

約束:
最小值 = 1
最大值 = 16

ManagedClusterOidcIssuerProfile

名稱 描述
已啟用 是否啟用 OIDC 簽發者。 bool

ManagedClusterPodIdentityProfile

名稱 描述
allowNetworkPluginKubenet 根據預設,在 Kubenet 中執行會因為 AAD Pod 身分識別的安全性相關本質和 IP 詐騙的風險而停用。 如需詳細資訊,請參閱 搭配 AAD Pod 身分識別使用 Kubenet 網路外掛程式 bool
已啟用 是否啟用Pod身分識別附加元件。 bool
userAssignedIdentities 叢集中要使用的Pod身分識別。 ManagedClusterPodIdentity[]
userAssignedIdentityExceptions 要允許的Pod身分識別例外狀況。 ManagedClusterPodIdentityException[]

ManagedClusterPodIdentity

名稱 描述
bindingSelector 要用於 AzureIdentityBinding 資源的系結選取器。 字串
身分識別 使用者指派的身分識別詳細數據。 需要 UserAssignedIdentity ()
NAME Pod 身分識別的名稱。 需要字串 ()
命名空間 Pod 身分識別的命名空間。 需要字串 ()

ManagedClusterPodIdentityException

名稱 描述
NAME Pod 身分識別例外狀況的名稱。 需要字串 ()
命名空間 Pod 身分識別例外狀況的命名空間。 需要字串 ()
podLabels 要比對的 Pod 標籤。 ManagedClusterPodIdentityExceptionPodLabels (必要)

ManagedClusterPodIdentityExceptionPodLabels

名稱 描述
{自定義屬性} 字串

PrivateLinkResource

名稱 描述
groupId 資源的群組標識碼。 字串
id 私人鏈接資源的識別碼。 字串
NAME 私人鏈接資源的名稱。 字串
requiredMembers 資源的 RequiredMembers string[]
類型 資源類型。 字串

ManagedClusterSecurityProfile

名稱 描述
azureKeyVaultKms Azure 金鑰保存庫 安全性配置檔的金鑰管理服務設定。 AzureKeyVaultKms
Defender Microsoft Defender 安全性配置檔的設定。 ManagedClusterSecurityProfileDefender

AzureKeyVaultKms

名稱 描述
已啟用 是否要啟用 Azure 金鑰保存庫 金鑰管理服務。 預設值為 false。 bool
keyId Azure 金鑰保存庫 密鑰的識別碼。 如需詳細資訊 ,請參閱密鑰標識碼格式 。 啟用 Azure 金鑰保存庫 金鑰管理服務時,此欄位是必要的,而且必須是有效的密鑰標識碼。 當 Azure 金鑰保存庫 金鑰管理服務停用時,請將字段保留空白。 字串
keyVaultNetworkAccess 金鑰保存庫的網路存取。 可能值為 PublicPrivatePublic 表示金鑰保存庫允許從所有網路進行公用存取。 Private 表示金鑰保存庫會停用公用存取,並啟用私人連結。 預設值是 Public 'Private'
'Public'
keyVaultResourceId 金鑰保存庫的資源識別碼。 當keyVaultNetworkAccess為 Private時,此字段是必要的,而且必須是有效的資源標識符。 當keyVaultNetworkAccess為 Public時,請將字段保留空白。 字串

ManagedClusterSecurityProfileDefender

名稱 描述
logAnalyticsWorkspaceResourceId 要與 Microsoft Defender 相關聯的Log Analytics工作區資源標識符。 啟用 Microsoft Defender 時,此字段是必要的,而且必須是有效的工作區資源標識符。 停用 Microsoft Defender 時,請將欄位保留空白。 字串
securityMonitoring Microsoft Defender 安全性配置檔之雲端設定的威脅偵測。 ManagedClusterSecurityProfileDefenderSecurityMonitor...

ManagedClusterSecurityProfileDefenderSecurityMonitor...

名稱 描述
已啟用 是否啟用Defender威脅偵測 bool

ManagedClusterServicePrincipalProfile

名稱 描述
clientId 服務主體的標識碼。 字串 (必要)
secret 與服務主體相關聯的秘密密碼,以純文本顯示。 字串

ManagedClusterStorageProfile

名稱 描述
blobCSIDriver 記憶體配置檔的 AzureBlob CSI 驅動程式設定。 ManagedClusterStorageProfileBlobCSIDriver
diskCSIDriver 記憶體配置檔的 AzureDisk CSI 驅動程式設定。 ManagedClusterStorageProfileDiskCSIDriver
fileCSIDriver 記憶體配置檔的 AzureFile CSI 驅動程式設定。 ManagedClusterStorageProfileFileCSIDriver
snapshotController 記憶體配置檔的快照集控制器設定。 ManagedClusterStorageProfileSnapshotController

ManagedClusterStorageProfileBlobCSIDriver

名稱 描述
已啟用 是否要啟用 AzureBlob CSI 驅動程式。 預設值為 false。 bool

ManagedClusterStorageProfileDiskCSIDriver

名稱 描述
已啟用 是否要啟用 AzureDisk CSI 驅動程式。 預設值為 true。 bool

ManagedClusterStorageProfileFileCSIDriver

名稱 描述
已啟用 是否要啟用 AzureFile CSI 驅動程式。 預設值為 true。 bool

ManagedClusterStorageProfileSnapshotController

名稱 描述
已啟用 是否要啟用快照集控制器。 預設值為 true。 bool

ManagedClusterWindowsProfile

名稱 描述
adminPassword 指定系統管理員帳戶的密碼。

長度下限: 8 個字元

最大長度: 123 個字元

複雜度需求: 需要滿足下列 4 個條件中的 3 個
字元較低
具有大字元
具有數位
具有特殊字元 (Regex 比對 [\W_])

不允許的值: “abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iveyou!”
字串
adminUsername 指定系統管理員帳戶的名稱。

限制: 不能以 “.

不允許的值: “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”。

最小長度: 1 個字元

最大長度: 20 個字元
字串 (必要)
enableCSIProxy 如需 CSI Proxy 的詳細資訊,請參閱 CSI Proxy GitHub 存放庫 bool
gmsaProfile 受控叢集中的 Windows gMSA 配置檔。 WindowsGmsaProfile
licenseType 要用於 Windows VM 的授權類型。 如需詳細資訊,請參閱 Azure 混合式用戶權益 'None'
'Windows_Server'

WindowsGmsaProfile

名稱 描述
dnsServer 指定 Windows gMSA 的 DNS 伺服器。

如果您已在用來建立受控叢集的 vnet 中設定 DNS 伺服器,請將它設定為空白。
字串
已啟用 指定是否要在受控叢集中啟用 Windows gMSA。 bool
rootDomainName 指定 Windows gMSA 的根功能變數名稱。

如果您已在用來建立受控叢集的 vnet 中設定 DNS 伺服器,請將它設定為空白。
字串

ManagedClusterSKU

名稱 描述
NAME 受控叢集 SKU 的名稱。 'Basic'
tier 如果未指定,預設值為 『Free』。 如需詳細資訊,請參閱 運行時間 SLA 'Free'
'付費'

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
在 Azure Container Service 上使用 Jenkins 的 CI/CD (AKS)

部署至 Azure
容器可讓您輕鬆地持續建置和部署應用程式。 藉由在 Azure Container Service 中使用 Kubernetes 協調這些容器的部署,您可以達成可複製且可管理的容器叢集。 藉由設定持續組建來產生容器映像和協調流程,您可以增加部署的速度和可靠性。
min.io Azure 閘道

部署至 Azure
完全私人 min.io Azure 閘道部署,以提供由 Blob 記憶體支援的 S3 相容記憶體 API
具有 NAT 閘道和 應用程式閘道 的 AKS 叢集

部署至 Azure
此範例示範如何使用 NAT 閘道部署 AKS 叢集以進行輸出連線,以及輸入連線的 應用程式閘道。
Create 私人 AKS 叢集

部署至 Azure
此範例示範如何在虛擬網路中建立私人 AKS 叢集以及 Jumpbox 虛擬機。
使用公用 DNS 區域 Create 私人 AKS 叢集

部署至 Azure
此範例示範如何使用公用 DNS 區域部署私人 AKS 叢集。
部署受控 Kubernetes 叢集 (AKS)

部署至 Azure
此 ARM 範本示範將具有進階網路功能的 AKS 實例部署到現有的虛擬網路。 此外,所選的服務主體會針對包含 AKS 叢集的子網指派網路參與者角色。
使用 AAD 部署受控 Kubernetes 叢集 (AKS)

部署至 Azure
此 ARM 範本示範將具有進階網路功能的 AKS 實例部署到現有的虛擬網路和 Azure AD 整數。 此外,所選的服務主體會針對包含 AKS 叢集的子網指派網路參與者角色。
部署適用於 Azure ML 的 AKS 叢集

部署至 Azure
此範本可讓您部署可連結至 Azure ML 的符合項目規範的 AKS 叢集
Azure Container Service (AKS)

部署至 Azure
使用 Azure Container Service (AKS) 部署受控叢集
Azure Container Service (AKS)

部署至 Azure
使用 Azure Linux 容器主機 (AKS) 部署受控叢集
Azure Container Service (AKS) 與 Helm

部署至 Azure
使用 Azure Container Service (AKS) 與 Helm 部署受控叢集
Azure Kubernetes Service (AKS)

部署至 Azure
透過 AKS Azure Kubernetes Service (部署受控 Kubernetes 叢集)
具有 應用程式閘道 輸入控制器的 AKS 叢集

部署至 Azure
此範例示範如何使用 應用程式閘道、應用程式閘道 輸入控制器、Azure Container Registry、Log Analytics 和 金鑰保存庫 部署 AKS 叢集

ARM 範本資源定義

managedClusters 資源類型可以使用以下列目標作業部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。

備註

如需可用附加元件的資訊,請參閱附加元件、延伸模組和其他與 Azure Kubernetes Service的整合

資源格式

若要建立 Microsoft.ContainerService/managedClusters 資源,請將下列 JSON 新增至範本。

{
  "type": "Microsoft.ContainerService/managedClusters",
  "apiVersion": "2022-09-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "sku": {
    "name": "Basic",
    "tier": "string"
  },
  "extendedLocation": {
    "name": "string",
    "type": "EdgeZone"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "properties": {
    "aadProfile": {
      "adminGroupObjectIDs": [ "string" ],
      "clientAppID": "string",
      "enableAzureRBAC": "bool",
      "managed": "bool",
      "serverAppID": "string",
      "serverAppSecret": "string",
      "tenantID": "string"
    },
    "addonProfiles": {
      "{customized property}": {
        "config": {
          "{customized property}": "string"
        },
        "enabled": "bool"
      }
    },
    "agentPoolProfiles": [
      {
        "availabilityZones": [ "string" ],
        "count": "int",
        "creationData": {
          "sourceResourceId": "string"
        },
        "enableAutoScaling": "bool",
        "enableEncryptionAtHost": "bool",
        "enableFIPS": "bool",
        "enableNodePublicIP": "bool",
        "enableUltraSSD": "bool",
        "gpuInstanceProfile": "string",
        "hostGroupID": "string",
        "kubeletConfig": {
          "allowedUnsafeSysctls": [ "string" ],
          "containerLogMaxFiles": "int",
          "containerLogMaxSizeMB": "int",
          "cpuCfsQuota": "bool",
          "cpuCfsQuotaPeriod": "string",
          "cpuManagerPolicy": "string",
          "failSwapOn": "bool",
          "imageGcHighThreshold": "int",
          "imageGcLowThreshold": "int",
          "podMaxPids": "int",
          "topologyManagerPolicy": "string"
        },
        "kubeletDiskType": "string",
        "linuxOSConfig": {
          "swapFileSizeMB": "int",
          "sysctls": {
            "fsAioMaxNr": "int",
            "fsFileMax": "int",
            "fsInotifyMaxUserWatches": "int",
            "fsNrOpen": "int",
            "kernelThreadsMax": "int",
            "netCoreNetdevMaxBacklog": "int",
            "netCoreOptmemMax": "int",
            "netCoreRmemDefault": "int",
            "netCoreRmemMax": "int",
            "netCoreSomaxconn": "int",
            "netCoreWmemDefault": "int",
            "netCoreWmemMax": "int",
            "netIpv4IpLocalPortRange": "string",
            "netIpv4NeighDefaultGcThresh1": "int",
            "netIpv4NeighDefaultGcThresh2": "int",
            "netIpv4NeighDefaultGcThresh3": "int",
            "netIpv4TcpFinTimeout": "int",
            "netIpv4TcpkeepaliveIntvl": "int",
            "netIpv4TcpKeepaliveProbes": "int",
            "netIpv4TcpKeepaliveTime": "int",
            "netIpv4TcpMaxSynBacklog": "int",
            "netIpv4TcpMaxTwBuckets": "int",
            "netIpv4TcpTwReuse": "bool",
            "netNetfilterNfConntrackBuckets": "int",
            "netNetfilterNfConntrackMax": "int",
            "vmMaxMapCount": "int",
            "vmSwappiness": "int",
            "vmVfsCachePressure": "int"
          },
          "transparentHugePageDefrag": "string",
          "transparentHugePageEnabled": "string"
        },
        "maxCount": "int",
        "maxPods": "int",
        "minCount": "int",
        "mode": "string",
        "name": "string",
        "nodeLabels": {
          "{customized property}": "string"
        },
        "nodePublicIPPrefixID": "string",
        "nodeTaints": [ "string" ],
        "orchestratorVersion": "string",
        "osDiskSizeGB": "int",
        "osDiskType": "string",
        "osSKU": "string",
        "osType": "string",
        "podSubnetID": "string",
        "powerState": {
          "code": "string"
        },
        "proximityPlacementGroupID": "string",
        "scaleDownMode": "string",
        "scaleSetEvictionPolicy": "string",
        "scaleSetPriority": "string",
        "spotMaxPrice": "[json('decimal-as-string')]",
        "tags": {},
        "type": "string",
        "upgradeSettings": {
          "maxSurge": "string"
        },
        "vmSize": "string",
        "vnetSubnetID": "string",
        "workloadRuntime": "string"
      }
    ],
    "apiServerAccessProfile": {
      "authorizedIPRanges": [ "string" ],
      "disableRunCommand": "bool",
      "enablePrivateCluster": "bool",
      "enablePrivateClusterPublicFQDN": "bool",
      "privateDNSZone": "string"
    },
    "autoScalerProfile": {
      "balance-similar-node-groups": "string",
      "expander": "string",
      "max-empty-bulk-delete": "string",
      "max-graceful-termination-sec": "string",
      "max-node-provision-time": "string",
      "max-total-unready-percentage": "string",
      "new-pod-scale-up-delay": "string",
      "ok-total-unready-count": "string",
      "scale-down-delay-after-add": "string",
      "scale-down-delay-after-delete": "string",
      "scale-down-delay-after-failure": "string",
      "scale-down-unneeded-time": "string",
      "scale-down-unready-time": "string",
      "scale-down-utilization-threshold": "string",
      "scan-interval": "string",
      "skip-nodes-with-local-storage": "string",
      "skip-nodes-with-system-pods": "string"
    },
    "autoUpgradeProfile": {
      "upgradeChannel": "string"
    },
    "disableLocalAccounts": "bool",
    "diskEncryptionSetID": "string",
    "dnsPrefix": "string",
    "enablePodSecurityPolicy": "bool",
    "enableRBAC": "bool",
    "fqdnSubdomain": "string",
    "httpProxyConfig": {
      "httpProxy": "string",
      "httpsProxy": "string",
      "noProxy": [ "string" ],
      "trustedCa": "string"
    },
    "identityProfile": {
      "{customized property}": {
        "clientId": "string",
        "objectId": "string",
        "resourceId": "string"
      }
    },
    "kubernetesVersion": "string",
    "linuxProfile": {
      "adminUsername": "string",
      "ssh": {
        "publicKeys": [
          {
            "keyData": "string"
          }
        ]
      }
    },
    "networkProfile": {
      "dnsServiceIP": "string",
      "dockerBridgeCidr": "string",
      "ipFamilies": [ "string" ],
      "loadBalancerProfile": {
        "allocatedOutboundPorts": "int",
        "effectiveOutboundIPs": [
          {
            "id": "string"
          }
        ],
        "enableMultipleStandardLoadBalancers": "bool",
        "idleTimeoutInMinutes": "int",
        "managedOutboundIPs": {
          "count": "int",
          "countIPv6": "int"
        },
        "outboundIPPrefixes": {
          "publicIPPrefixes": [
            {
              "id": "string"
            }
          ]
        },
        "outboundIPs": {
          "publicIPs": [
            {
              "id": "string"
            }
          ]
        }
      },
      "loadBalancerSku": "string",
      "natGatewayProfile": {
        "effectiveOutboundIPs": [
          {
            "id": "string"
          }
        ],
        "idleTimeoutInMinutes": "int",
        "managedOutboundIPProfile": {
          "count": "int"
        }
      },
      "networkMode": "string",
      "networkPlugin": "string",
      "networkPolicy": "string",
      "outboundType": "string",
      "podCidr": "string",
      "podCidrs": [ "string" ],
      "serviceCidr": "string",
      "serviceCidrs": [ "string" ]
    },
    "nodeResourceGroup": "string",
    "oidcIssuerProfile": {
      "enabled": "bool"
    },
    "podIdentityProfile": {
      "allowNetworkPluginKubenet": "bool",
      "enabled": "bool",
      "userAssignedIdentities": [
        {
          "bindingSelector": "string",
          "identity": {
            "clientId": "string",
            "objectId": "string",
            "resourceId": "string"
          },
          "name": "string",
          "namespace": "string"
        }
      ],
      "userAssignedIdentityExceptions": [
        {
          "name": "string",
          "namespace": "string",
          "podLabels": {
            "{customized property}": "string"
          }
        }
      ]
    },
    "privateLinkResources": [
      {
        "groupId": "string",
        "id": "string",
        "name": "string",
        "requiredMembers": [ "string" ],
        "type": "string"
      }
    ],
    "publicNetworkAccess": "string",
    "securityProfile": {
      "azureKeyVaultKms": {
        "enabled": "bool",
        "keyId": "string",
        "keyVaultNetworkAccess": "string",
        "keyVaultResourceId": "string"
      },
      "defender": {
        "logAnalyticsWorkspaceResourceId": "string",
        "securityMonitoring": {
          "enabled": "bool"
        }
      }
    },
    "servicePrincipalProfile": {
      "clientId": "string",
      "secret": "string"
    },
    "storageProfile": {
      "blobCSIDriver": {
        "enabled": "bool"
      },
      "diskCSIDriver": {
        "enabled": "bool"
      },
      "fileCSIDriver": {
        "enabled": "bool"
      },
      "snapshotController": {
        "enabled": "bool"
      }
    },
    "windowsProfile": {
      "adminPassword": "string",
      "adminUsername": "string",
      "enableCSIProxy": "bool",
      "gmsaProfile": {
        "dnsServer": "string",
        "enabled": "bool",
        "rootDomainName": "string"
      },
      "licenseType": "string"
    }
  }
}

屬性值

managedClusters

名稱 描述
類型 資源類型 'Microsoft.ContainerService/managedClusters'
apiVersion 資源 API 版本 '2022-09-01'
NAME 資源名稱 需要字串 ()

字元限制:1-63

合法字元:
英數字元、底線和連字號。

以英數字元開頭及結尾。
location 資源所在的地理位置 需要字串 ()
tags 資源標籤。 標記名稱和值的字典。 請參閱 範本中的標籤
sku 受控叢集 SKU。 ManagedClusterSKU
extendedLocation 虛擬機的擴充位置。 ExtendedLocation
身分識別 如果已設定,則為受控叢集的識別。 ManagedClusterIdentity
properties 受控叢集的屬性。 ManagedClusterProperties

ExtendedLocation

名稱 描述
NAME 擴充位置的名稱。 字串
type 擴充位置的類型。 'EdgeZone'

ManagedClusterIdentity

名稱 描述
類型 如需詳細資訊,請參閱 在 AKS 中使用受控識別 'None'
'SystemAssigned'
'UserAssigned'
userAssignedIdentities 密鑰必須是 ARM 資源識別符,格式為:『/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。 ManagedClusterIdentityUserAssignedIdentities

ManagedClusterIdentityUserAssignedIdentities

名稱 描述
{自定義屬性} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

此物件不包含部署期間要設定的任何屬性。 所有屬性都是 ReadOnly。

ManagedClusterProperties

名稱 描述
aadProfile Azure Active Directory 設定。 ManagedClusterAADProfile
addonProfiles 受控叢集附加元件的配置檔。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理程式集區屬性。 ManagedClusterAgentPoolProfile[]
apiServerAccessProfile 受控叢集 API 伺服器的存取設定檔。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 啟用時要套用至叢集自動調整程序的參數 ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自動升級組態。 ManagedClusterAutoUpgradeProfile
disableLocalAccounts 如果設定為 true,將會停用此叢集的靜態認證。 這隻能在已啟用 AAD 的受控叢集上使用。 如需詳細資訊,請參閱 停用本機帳戶 bool
diskEncryptionSetID 格式如下:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' 字串
dnsPrefix 建立受控叢集之後,就無法更新此專案。 字串
enablePodSecurityPolicy (淘汰) 是否要啟用 Kubernetes Pod 安全策略 (預覽) 。 此功能設定為在 2020 年 10 月 15 日移除。 若要深入瞭解,請參閱 aka.ms/aks/azpodpolicy。 bool
enableRBAC 是否要啟用 Kubernetes Role-Based 存取控制。 bool
fqdnSubdomain 建立受控叢集之後,便無法更新此功能。 字串
httpProxyConfig 使用 HTTP Proxy 伺服器布建叢集的設定。 ManagedClusterHttpProxyConfig
identityProfile 與叢集相關聯的身分識別。 ManagedClusterPropertiesIdentityProfile
kubernetesVersion 支援兩個修補程式版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20) 。 指定 {major.minor} 時,會自動選擇最新的支援 GA 修補程式版本。 在建立叢集之後,以相同的 {major.minor} 更新叢集 (例如 1.14.x -} 1.14) 將不會觸發升級,即使有較新的修補程式版本也一樣。 當您升級支援的 AKS 叢集時,則無法略過 Kubernetes 次要版本。 所有升級都必須依主要版本號碼順序執行。 例如,不允許在 1.14.x -} 1.15.x 或 1.15.x -} 1.16.x 之間升級,不過不允許 1.14.x -} 1.16.x。 如需詳細資訊 ,請參閱升級 AKS 叢集 字串
linuxProfile 受控叢集中Linux VM的配置檔。 ContainerServiceLinuxProfile
networkProfile 網路組態配置檔。 ContainerServiceNetworkProfile
nodeResourceGroup 包含代理程式集區節點的資源群組名稱。 字串
oidcIssuerProfile 受控叢集的 OIDC 簽發者配置檔。 ManagedClusterOidcIssuerProfile
podIdentityProfile 如需 AAD Pod 身分識別整合的詳細資訊,請參閱 使用 AAD Pod 身分識別。 ManagedClusterPodIdentityProfile
privateLinkResources 與叢集相關聯的私人鏈接資源。 PrivateLinkResource[]
publicNetworkAccess 允許或拒絕 AKS 的公用網路存取 'Disabled'
'Enabled'
securityProfile 受控叢集的安全性配置檔。 ManagedClusterSecurityProfile
servicePrincipalProfile 叢集用來操作 Azure API 的服務主體身分識別相關信息。 ManagedClusterServicePrincipalProfile
storageProfile 受控叢集的記憶體配置檔。 ManagedClusterStorageProfile
windowsProfile 受控叢集中 Windows VM 的配置檔。 ManagedClusterWindowsProfile

ManagedClusterAADProfile

名稱 描述
adminGroupObjectIDs 將具有叢集管理員角色的 AAD 群組物件識別符清單。 string[]
clientAppID 用戶端 AAD 應用程式識別碼。 字串
enableAzureRBAC 是否啟用適用於 Kubernetes 授權的 Azure RBAC。 bool
受控 是否要啟用受控 AAD。 bool
serverAppID 伺服器 AAD 應用程式識別碼。 字串
serverAppSecret 伺服器 AAD 應用程式秘密。 字串
tenantID 要用於驗證的 AAD 租使用者識別碼。 如果未指定,將會使用部署訂用帳戶的租使用者。 字串

ManagedClusterPropertiesAddonProfiles

名稱 描述
{自定義屬性} ManagedClusterAddonProfile

ManagedClusterAddonProfile

名稱 描述
config 用於設定附加元件的索引鍵/值組。 ManagedClusterAddonProfileConfig
已啟用 附加元件是否已啟用。 bool (必要)

ManagedClusterAddonProfileConfig

名稱 描述
{自定義屬性} 字串

ManagedClusterAgentPoolProfile

名稱 描述
availabilityZones 要用於節點的可用性區域清單。 只有在 AgentPoolType 屬性為 'VirtualMachineScaleSets' 時,才能指定這個值。 string[]
計數 ) 裝載 Docker 容器的 VM (代理程式數目。 允許的值必須介於 0 到 1000 (使用者集區的內含) 範圍內,以及系統集區的 1 到 1000 (內含) 範圍。 預設值為 1。 int
creationData 如果節點集區將使用快照集建立/升級,則為 CreationData,用來指定來源快照集標識符。 CreationData
enableAutoScaling 是否啟用自動調整程式 bool
enableEncryptionAtHost 這僅在特定 VM 大小和特定 Azure 區域中受到支援。 如需詳細資訊,請參閱:/azure/aks/enable-host-encryption bool
enableFIPS 如需詳細資訊 ,請參閱新增已啟用 FIPS 的節點集 區。 bool
enableNodePublicIP 某些案例可能需要節點集區中的節點接收自己的專用公用IP位址。 常見的案例是遊戲工作負載,其中主控台需要直接連線至雲端虛擬機器,以將躍點降到最低。 如需詳細資訊,請參閱 為每個節點指派公用IP。 預設值為 false。 bool
enableUltraSSD 是否要啟用 UltraSSD bool
gpuInstanceProfile GPUInstanceProfile 可用來為支援的 GPU VM SKU 指定 GPU MIG 實例配置檔。 'MIG1g'
'MIG2g'
'MIG3g'
'MIG4g'
'MIG7g'
hostGroupID 格式如下:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}。 如需詳細資訊,請參閱 Azure 專用主機 字串
kubeletConfig 代理程式集區節點上的 Kubelet 組態。 KubeletConfig
kubeletDiskType 決定 emptyDir 磁碟區、容器運行時間數據根目錄和 Kubelet 暫時記憶體的位置。 'OS'
'Temporary'
linuxOSConfig Linux 代理程序節點的 OS 設定。 LinuxOSConfig
maxCount 自動調整的節點數目上限 int
maxPods 可以在節點上執行的 Pod 數目上限。 int
minCount 自動調整的節點數目下限 int
mode 叢集必須隨時至少有一個「系統」代理程式集區。 如需代理程式集區限制和最佳做法的其他資訊,請參閱:/azure/aks/use-system-pools 'System'
'User'
NAME Windows 代理程式集區名稱必須是 6 個字元或更少。 需要字串 ()

約束:
模式 = ^[a-z][a-z0-9]{0,11}$
nodeLabels 要跨代理程式集區中所有節點保存的節點標籤。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodePublicIPPrefixID 格式如下:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} 字串
nodeTaints 節點集區建立和調整期間新增至新節點的點數。 例如,key=value:NoSchedule。 string[]
orchestratorVersion 支援修補程式版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20) 。 指定 {major.minor} 時,會自動選擇最新的支援 GA 修補程式版本。 在建立叢集之後,以相同的 {major.minor} 更新叢集 (例如 1.14.x -} 1.14) 將不會觸發升級,即使有較新的修補程式版本也一樣。 最佳做法是,您應該將 AKS 叢集中的所有節點集區升級為相同的 Kubernetes 版本。 節點集區版本必須與控制平面具有相同的「主要」版本。 節點集區「次要」版本必須在控制平面版本的兩個「次要」版本內。 節點集區版本不能大於控制平面版本。 如需詳細資訊,請參閱 升級節點集區 字串
osDiskSizeGB OS 磁碟大小,以 GB 為單位,用來指定主要/代理程式集區中每部計算機的磁碟大小。 如果您指定 0,它會根據指定的 vmSize 套用預設 osDisk 大小。 int

約束:
最小值 = 0
最大值 = 2048
osDiskType 如果 VM 支援它,且快取磁碟大於要求的 OSDiskSizeGB,則預設值為「暫時」。 否則,預設為 「Managed」。 建立之後可能不會變更。 如需詳細資訊,請參閱 暫時OS '暫時'
'Managed'
osSKU 指定代理程式集區所使用的 OS SKU。 如果OSType為Linux,則預設值為Ubuntu。 當 Kubernetes = 1.24 或當 Kubernetes <>= 1.25 時,如果 OSType 為 Windows,則預設值為 Windows 2019。 'CBLMariner'
'Ubuntu'
'Windows2019'
'Windows2022'
osType 操作系統類型。 預設值為Linux。 'Linux'
'Windows'
podSubnetID 如果省略,則會在節點子網上以靜態方式指派 Pod IP, (請參閱 vnetSubnetID 以取得詳細數據) 。 格式如下:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字串
powerState 第一次建立代理程式集區時,它一開始會執行。 您可以將此欄位設定為 [已停止] 來停止代理程式集區。 已停止的代理程式集區會停止其所有 VM,而且不會產生計費費用。 只有在代理程式集區為 [正在執行] 且布建狀態為 [成功] 時,才能停止代理程式集區 PowerState
proximityPlacementGroupID 鄰近放置群組的標識碼。 字串
scaleDownMode 這也會影響叢集自動調整程序行為。 如果未指定,則會預設為 Delete。 'Deallocate'
'Delete'
scaleSetEvictionPolicy 除非 scaleSetPriority 為 'Spot',否則無法指定此專案。 如果未指定,預設值為 'Delete'。 'Deallocate'
'Delete'
scaleSetPriority 虛擬機擴展集優先順序。 如果未指定,預設值為 'Regular'。 'Regular'
'Spot'
spotMaxPrice 可能的值為大於零或 -1 的任何十進位值,表示願意支付任何隨選價格。 如需現成定價的詳細資訊,請參閱 現成 VM 定價 若要指定十進位值,請使用 json () 函式。 int 或 json decimal
tags 要保存在代理程式集區虛擬機擴展集上的標記。 物件 (object)
類型 Agent 集區的型別。 'AvailabilitySet'
'VirtualMachineScaleSets'
upgradeSettings 升級 Agentpool 的設定 AgentPoolUpgradeSettings
vmSize VM 大小可用性會因區域而異。 如果節點包含的計算資源不足, (記憶體、cpu 等) Pod 可能無法正確執行。 如需受限制 VM 大小的詳細資訊,請參閱:/azure/aks/quotas-skus-regions 字串
vnetSubnetID 如果未指定此專案,將會產生並使用 VNET 和子網。 如果未指定 podSubnetID,這會套用至節點和 Pod,否則只會套用至節點。 格式如下:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字串
workloadRuntime 決定節點可執行的工作負載類型。 'OCIContainer'
'WasmWasi'

CreationData

名稱 描述
sourceResourceId 這是要用來建立目標物件的來源物件的 ARM 識別碼。 字串

KubeletConfig

名稱 描述
allowedUnsafeSysctls 允許的不安全 sysctls 或 unsafe sysctl 模式清單, (結束於 *) 。 string[]
containerLogMaxFiles 容器可存在的容器記錄檔數目上限。 數字必須≥ 2。 int

約束:
最小值 = 2
containerLogMaxSizeMB 容器記錄檔 (大小上限,例如 10Mi) 容器記錄檔輪替。 int
cpuCfsQuota 預設值是 true。 bool
cpuCfsQuotaPeriod 默認值為 『100ms』。 有效值為具有選擇性分數和單位後綴的十進位數序列。 例如:『300ms』、『2h45m』。 支持的單位為 『ns』、'us'、'ms'、's'、'm' 和 'h'。 字串
cpuManagerPolicy 預設值為 『none』。 如需詳細資訊 ,請參閱 Kubernetes CPU 管理原則 。 允許的值為 『none』 和 『static』。 字串
failSwapOn 如果設定為 true,則會在節點上啟用交換時,使 Kubelet 無法啟動。 bool
imageGcHighThreshold 若要停用映像記憶體回收,請設定為 100。 預設值為 85% int
imageGcLowThreshold 這無法設定高於 imageGcHighThreshold。 預設值為 80% int
podMaxPids 每個 Pod 的進程數目上限。 int
topologyManagerPolicy 如需詳細資訊,請參閱 Kubernetes 拓撲管理員。 預設值為 『none』。 允許的值為 'none'、'best-effort'、'restricted'和 'single-numa-node'。 字串

LinuxOSConfig

名稱 描述
swapFileSizeMB 將在每個節點上建立之交換檔案的 MB 大小。 int
sysctls Linux 代理程序節點的 Sysctl 設定。 SysctlConfig
transparentHugePageDefrag 有效值為 'always'、'defer'、'defer+madvise'、'madvise' 和 'never'。 默認值為 『madvise』。 如需詳細資訊,請參閱 Transparent Hugepages 字串
transparentHugePageEnabled 有效值為 'always'、'madvise' 和 'never'。 默認值為 『always』。 如需詳細資訊,請參閱 Transparent Hugepages 字串

SysctlConfig

名稱 描述
fsAioMaxNr Sysctl setting fs.aio-max-nr. int
fsFileMax Sysctl 設定 fs.file-max。 int
fsInotifyMaxUserWatches Sysctl 設定fs.inotify.max_user_watches。 int
fsNrOpen Sysctl 設定fs.nr_open。 int
kernelThreadsMax Sysctl 設定 kernel.threads-max。 int
netCoreNetdevMaxBacklog Sysctl 設定net.core.netdev_max_backlog。 int
netCoreOptmemMax Sysctl 設定net.core.optmem_max。 int
netCoreRmemDefault Sysctl 設定net.core.rmem_default。 int
netCoreRmemMax Sysctl 設定net.core.rmem_max。 int
netCoreSomaxconn Sysctl 設定 net.core.somaxconn。 int
netCoreWmemDefault Sysctl 設定net.core.wmem_default。 int
netCoreWmemMax Sysctl 設定net.core.wmem_max。 int
netIpv4IpLocalPortRange Sysctl 設定net.ipv4.ip_local_port_range。 字串
netIpv4NeighDefaultGcThresh1 Sysctl 設定net.ipv4.neigh.default.gc_thresh1。 int
netIpv4NeighDefaultGcThresh2 Sysctl 設定net.ipv4.neigh.default.gc_thresh2。 int
netIpv4NeighDefaultGcThresh3 Sysctl 設定net.ipv4.neigh.default.gc_thresh3。 int
netIpv4TcpFinTimeout Sysctl 設定net.ipv4.tcp_fin_timeout。 int
netIpv4TcpkeepaliveIntvl Sysctl 設定net.ipv4.tcp_keepalive_intvl。 int
netIpv4TcpKeepaliveProbes Sysctl 設定net.ipv4.tcp_keepalive_probes。 int
netIpv4TcpKeepaliveTime Sysctl 設定net.ipv4.tcp_keepalive_time。 int
netIpv4TcpMaxSynBacklog Sysctl 設定net.ipv4.tcp_max_syn_backlog。 int
netIpv4TcpMaxTwBuckets Sysctl 設定net.ipv4.tcp_max_tw_buckets。 int
netIpv4TcpTwReuse Sysctl 設定net.ipv4.tcp_tw_reuse。 bool
netNetfilterNfConntuckets Sysctl 設定net.netfilter.nf_conntrack_buckets。 int
netNetfilterNfConnt一行Max Sysctl 設定net.netfilter.nf_conntrack_max。 int
vmMaxMapCount Sysctl 設定 vm.max_map_count。 int
vmSwappiness Sysctl 設定 vm.swappiness。 int
vmVfsCachePressure Sysctl 設定vm.vfs_cache_pressure。 int

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名稱 描述
{自定義屬性} 字串

PowerState

名稱 描述
code 告知叢集是執行中還是已停止 'Running'
'Stopped'

AgentPoolUpgradeSettings

名稱 描述
maxSurge 這可以設定為整數 (例如 『5』) 或百分比 (例如 『50%』) 。 如果指定百分比,則為升級時代理程式集區大小總計的百分比。 針對百分比,小數節點會四捨五入。 若未加以指定,預設為 1。 如需詳細資訊,包括最佳做法,請參閱:/azure/aks/upgrade-cluster#customize-node-surge-upgrade 字串

ManagedClusterAPIServerAccessProfile

名稱 描述
authorizedIPRanges IP 範圍會以 CIDR 格式指定,例如 137.117.106.88/29。 這項功能與使用「每個節點公用IP」的叢集不相容,或是使用基本 Load Balancer的叢集。 如需詳細資訊,請參閱 API 伺服器授權 IP 範圍 string[]
disableRunCommand 是否要停用叢集的執行命令。 bool
enablePrivateCluster 如需詳細資訊,請參閱 建立私人 AKS 叢集 bool
enablePrivateClusterPublicFQDN 是否要為私人叢集建立其他公用 FQDN。 bool
privateDNSZone 預設值為 [系統]。 如需詳細資訊,請參閱 設定私人 DNS 區域。 允許的值為 'system' 和 'none'。 字串

ManagedClusterPropertiesAutoScalerProfile

名稱 描述
balance-similar-node-groups 有效值為 'true' 和 'false' 字串
展開器 如果未指定,預設值為 『random』。 如需詳細資訊 ,請參閱擴充工具 'least-waste'
'most-pods'
'priority'
'random'
max-empty-bulk-delete 預設值為 10。 字串
max-graceful-termination-sec 預設值為 600。 字串
max-node-provision-time 預設值為 『15m』。 值必須是整數,後面接著 'm'。 不支援分鐘數 (m) 以外的時間單位。 字串
max-total-unready-percentage 預設值為 45。 最大值為 100,最小值為 0。 字串
new-pod-scale-up-delay 針對在 kubernetes 排程器可以排程所有 Pod 之前,不想讓 CA 採取行動的高載/批次調整案例,您可以在 Pod 具備特定存留期前,先告訴 CA 忽略未排程的 Pod。 預設值為 『0s』。 值必須是整數,後面接著單位 ('s',以秒為單位、'm' 代表分鐘數、'h' 等) 。 字串
ok-total-unready-count 這必須是整數。 預設值為 3。 字串
scale-down-delay-after-add 預設值為 『10m』。 值必須是整數,後面接著 'm'。 不支援分鐘數 (m) 以外的時間單位。 字串
scale-down-delay-after-delete 預設值為掃描間隔。 值必須是整數,後面接著 'm'。 不支援分鐘數 (m) 以外的時間單位。 字串
scale-down-delay-after-failure 預設值為 『3m』。 值必須是整數,後面接著 'm'。 不支援分鐘數 (m) 以外的時間單位。 字串
scale-down-unneeded-time 預設值為 『10m』。 值必須是整數,後面接著 'm'。 不支援分鐘數 (m) 以外的時間單位。 字串
scale-down-unready-time 默認值為 『20m』。 值必須是整數,後面接著 'm'。 不支援分鐘數 (m) 以外的時間單位。 字串
scale-down-utilization-threshold 預設值為 『0.5』。 字串
scan-interval 預設值為 『10』。 值必須是整數秒數。 字串
skip-nodes-with-local-storage 預設值是 true。 字串
skip-nodes-with-system-pods 預設值是 true。 字串

ManagedClusterAutoUpgradeProfile

名稱 描述
upgradeChannel 如需詳細資訊,請參閱 設定 AKS 叢集自動升級通道 'node-image'
'none'
'patch'
'rapid'
'stable'

ManagedClusterHttpProxyConfig

名稱 描述
httpProxy 要使用的 HTTP Proxy 伺服器端點。 字串
httpsProxy 要使用的 HTTPS Proxy 伺服器端點。 字串
noProxy 不應該通過 Proxy 的端點。 string[]
trustedCa 用來連線到 Proxy 伺服器的替代 CA 憑證。 字串

ManagedClusterPropertiesIdentityProfile

名稱 描述
{自定義屬性} UserAssignedIdentity

UserAssignedIdentity

名稱 描述
clientId 使用者指派身分識別的用戶端標識碼。 字串
objectId 使用者指派之身分識別的物件標識碼。 字串
resourceId 使用者指派身分識別的資源標識碼。 字串

ContainerServiceLinuxProfile

名稱 描述
adminUsername 要用於 Linux VM 的系統管理員用戶名稱。 需要字串 ()

約束:
模式 = ^[A-Za-z][-A-Za-z0-9_]*$
ssh 在 Azure 上執行的 Linux 型 VM 的 SSH 組態。 ContainerServiceSshConfiguration (必要)

ContainerServiceSshConfiguration

名稱 描述
publicKeys 用來向Linux型VM進行驗證的SSH公鑰清單。 最多可以指定1個索引鍵。 ContainerServiceSshPublicKey[] (必要)

ContainerServiceSshPublicKey

名稱 描述
keyData 用來透過 SSH 向 VM 進行驗證的憑證公鑰。 憑證必須是具有或不含標頭的 PEM 格式。 需要字串 ()

ContainerServiceNetworkProfile

名稱 描述
dnsServiceIP 指派給 Kubernetes DNS 服務的 IP 位址。 它必須位於 serviceCidr 中指定的 Kubernetes 服務地址範圍內。 字串

約束:
模式 = ^(?:(?: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 指派給 Docker 網橋網路的 CIDR 表示法 IP 範圍。 它不得與任何子網 IP 範圍或 Kubernetes 服務地址範圍重疊。 字串

約束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
ipFamilies IP 系列可用來判斷單一堆疊或雙堆棧叢集。 如果是單一堆棧,預期的值為 IPv4。 針對雙堆棧,預期的值為IPv4和IPv6。 包含任何項目的字串數組:
'IPv4'
'IPv6'
loadBalancerProfile 叢集負載平衡器的配置檔。 ManagedClusterLoadBalancerProfile
loadBalancerSku 默認值為 『standard』。 如需負載平衡器 SKU 之間的差異詳細資訊,請參閱 Azure Load Balancer SKU。 'basic'
'standard'
natGatewayProfile 叢集 NAT 閘道的配置檔。 ManagedClusterNATGatewayProfile
networkMode 如果 networkPlugin 是 'azure' 以外的任何專案,則無法指定這個值。 'bridge'
'transparent'
networkPlugin 用於建置 Kubernetes 網路的網路外掛程式。 'azure'
'kubenet'
'none'
networkPolicy 用於建置 Kubernetes 網路的網路原則。 'azure'
'calico'
outboundType 這隻能在叢集建立期間設定,且稍後無法變更。 如需詳細資訊,請參閱 輸出輸出類型 'loadBalancer'
'managedNATGateway'
'userAssignedNATGateway'
'userDefinedRouting'
podCidr 在使用 kubenet 時據以指派 Pod IP 的 CIDR 標記法 IP 範圍。 字串

約束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
podCidrs 單一堆棧網路預期會有一個 IPv4 CIDR。 雙堆棧網路預期會有兩個CIDR,每個IP系列 (IPv4/IPv6) 。 string[]
serviceCidr 據以指派服務叢集 IP 的 CIDR 標記法 IP 範圍。 此範圍不得與任何子網路 IP 範圍重疊。 字串

約束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidrs 單一堆棧網路預期會有一個 IPv4 CIDR。 雙堆棧網路預期會有兩個CIDR,每個IP系列 (IPv4/IPv6) 。 它們不得與任何子網IP範圍重疊。 string[]

ManagedClusterLoadBalancerProfile

名稱 描述
allocatedOutboundPorts 每個 VM 所需的已配置 SNAT 埠數目。 允許的值為 0 到 64000 (內含) 。 默認值為 0,這會導致 Azure 動態配置埠。 int

約束:
最小值 = 0
最大值 = 64000
effectiveOutboundIPs 叢集負載平衡器的有效輸出IP資源。 ResourceReference[]
enableMultipleStandardLoadBalancers 針對每個 AKS 叢集啟用多個標準負載平衡器。 bool
idleTimeoutInMinutes 所需的輸出流程閑置逾時,以分鐘為單位。 允許的值為 4 到 120 (包含) 。 預設值為 30 分鐘。 int

約束:
最小值 = 4
最大值 = 120
managedOutboundIPs 叢集負載平衡器所需的受控輸出IP。 ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes 叢集負載平衡器所需的輸出 IP 前綴資源。 ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs 叢集負載平衡器所需的輸出IP資源。 ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

名稱 描述
id 完整 Azure 資源識別碼。 字串

ManagedClusterLoadBalancerProfileManagedOutboundIPs

名稱 描述
count 為叢集負載平衡器建立/管理的所需 IPv4 輸出IP數目。 允許的值必須介於 1 到 100 (包含) 的範圍內。 預設值為 1。 int

約束:
最小值 = 1
最大值 = 100
countIPv6 為叢集負載平衡器建立/管理的 Azure 所建立/管理的所需 IPv6 輸出 IP 數目。 允許的值必須介於 1 到 100 (包含) 的範圍內。 單一堆棧的預設值為 0,而雙堆疊的預設值為 1。 int

約束:
最小值 = 0
最大值 = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

名稱 描述
publicIPPrefixes 公用IP前置資源的清單。 ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

名稱 描述
publicIPs 公用IP資源的清單。 ResourceReference[]

ManagedClusterNATGatewayProfile

名稱 描述
effectiveOutboundIPs 叢集 NAT 閘道的有效輸出 IP 資源。 ResourceReference[]
idleTimeoutInMinutes 所需的輸出流程閑置逾時,以分鐘為單位。 允許的值為 4 到 120 (包含) 。 預設值為 4 分鐘。 int

約束:
最小值 = 4
最大值 = 120
managedOutboundIPProfile 配置檔叢集 NAT 閘道的受控輸出 IP 資源。 ManagedClusterManagedOutboundIPProfile

ManagedClusterManagedOutboundIPProfile

名稱 描述
count Azure 所建立/管理所需的輸出IP數目。 允許的值必須介於 1 到 16 (內含) 的範圍內。 預設值為 1。 int

約束:
最小值 = 1
最大值 = 16

ManagedClusterOidcIssuerProfile

名稱 描述
已啟用 是否啟用 OIDC 簽發者。 bool

ManagedClusterPodIdentityProfile

名稱 描述
allowNetworkPluginKubenet 根據預設,在 Kubenet 中執行會因為 AAD Pod 身分識別的安全性相關本質以及 IP 詐騙的風險而停用。 如需詳細資訊,請參閱 搭配 AAD Pod 身分識別使用 Kubenet 網路外掛程式 bool
已啟用 是否啟用Pod身分識別附加元件。 bool
userAssignedIdentities 要用於叢集中的Pod身分識別。 ManagedClusterPodIdentity[]
userAssignedIdentityExceptions 要允許的Pod身分識別例外狀況。 ManagedClusterPodIdentityException[]

ManagedClusterPodIdentity

名稱 描述
bindingSelector 要用於 AzureIdentityBinding 資源的系結選取器。 字串
身分識別 使用者指派的身分識別詳細數據。 需要 UserAssignedIdentity ()
NAME Pod 身分識別的名稱。 字串 (必要)
命名空間 Pod 身分識別的命名空間。 字串 (必要)

ManagedClusterPodIdentityException

名稱 描述
NAME Pod 身分識別例外狀況的名稱。 字串 (必要)
命名空間 Pod 身分識別例外狀況的命名空間。 字串 (必要)
podLabels 要比對的 Pod 標籤。 ManagedClusterPodIdentityExceptionPodLabels (必要)

ManagedClusterPodIdentityExceptionPodLabels

名稱 描述
{自定義屬性} 字串

PrivateLinkResource

名稱 描述
groupId 資源的群組標識碼。 字串
id 私人鏈接資源的識別碼。 字串
NAME 私人鏈接資源的名稱。 字串
requiredMembers 資源的 RequiredMembers string[]
類型 資源類型。 字串

ManagedClusterSecurityProfile

名稱 描述
azureKeyVaultKms Azure 金鑰保存庫 安全性配置檔的金鑰管理服務設定。 AzureKeyVaultKms
Defender Microsoft Defender 安全性配置檔的設定。 ManagedClusterSecurityProfileDefender

AzureKeyVaultKms

名稱 描述
已啟用 是否啟用 Azure 金鑰保存庫 金鑰管理服務。 預設值為 false。 bool
keyId Azure 金鑰保存庫 密鑰的識別碼。 如需詳細資訊,請參閱 密鑰標識碼格式 。 啟用 Azure 金鑰保存庫 金鑰管理服務時,此欄位是必要的,而且必須是有效的密鑰標識碼。 當 Azure 金鑰保存庫 金鑰管理服務停用時,請將字段保留空白。 字串
keyVaultNetworkAccess 金鑰保存庫的網路存取。 可能值為 PublicPrivatePublic 表示金鑰保存庫允許從所有網路進行公用存取。 Private 表示金鑰保存庫會停用公用存取,並啟用私人連結。 預設值是 Public 'Private'
'Public'
keyVaultResourceId 金鑰保存庫的資源識別碼。 當keyVaultNetworkAccess為 Private時,此字段是必要的,而且必須是有效的資源標識符。 當keyVaultNetworkAccess為 Public時,請將字段保留空白。 字串

ManagedClusterSecurityProfileDefender

名稱 描述
logAnalyticsWorkspaceResourceId 要與 Microsoft Defender 相關聯的Log Analytics工作區資源標識符。 啟用 Microsoft Defender 時,此字段是必要的,而且必須是有效的工作區資源標識符。 停用 Microsoft Defender 時,請將欄位保留空白。 字串
securityMonitoring Microsoft Defender 安全性配置檔之雲端設定的威脅偵測。 ManagedClusterSecurityProfileDefenderSecurityMonitor...

ManagedClusterSecurityProfileDefenderSecurityMonitor...

名稱 描述
已啟用 是否啟用Defender威脅偵測 bool

ManagedClusterServicePrincipalProfile

名稱 描述
clientId 服務主體的標識碼。 字串 (必要)
secret 與服務主體相關聯的秘密密碼,以純文本顯示。 字串

ManagedClusterStorageProfile

名稱 描述
blobCSIDriver 記憶體配置檔的 AzureBlob CSI 驅動程式設定。 ManagedClusterStorageProfileBlobCSIDriver
diskCSIDriver 記憶體配置檔的 AzureDisk CSI 驅動程式設定。 ManagedClusterStorageProfileDiskCSIDriver
fileCSIDriver 記憶體配置檔的 AzureFile CSI 驅動程式設定。 ManagedClusterStorageProfileFileCSIDriver
snapshotController 記憶體配置檔的快照集控制器設定。 ManagedClusterStorageProfileSnapshotController

ManagedClusterStorageProfileBlobCSIDriver

名稱 描述
已啟用 是否要啟用 AzureBlob CSI 驅動程式。 預設值為 false。 bool

ManagedClusterStorageProfileDiskCSIDriver

名稱 描述
已啟用 是否要啟用 AzureDisk CSI 驅動程式。 預設值為 true。 bool

ManagedClusterStorageProfileFileCSIDriver

名稱 描述
已啟用 是否要啟用 AzureFile CSI 驅動程式。 預設值為 true。 bool

ManagedClusterStorageProfileSnapshotController

名稱 描述
已啟用 是否要啟用快照集控制器。 預設值為 true。 bool

ManagedClusterWindowsProfile

名稱 描述
adminPassword 指定系統管理員帳戶的密碼。

長度下限: 8 個字元

最大長度: 123 個字元

複雜度需求: 下列 4 個條件中需要滿足 3 個條件
字元較低
具有大字元
具有數位
具有特殊字元 (Regex 比對 [\W_])

不允許的值: “abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“P@ssword123”、“pa$$word”、“Password!”、“Password1”、“Password22”、“P@ssword123!”
字串
adminUsername 指定系統管理員帳戶的名稱。

限制: 無法結束於 “.”

不允許的值: “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”。

長度下限: 1 個字元

最大長度: 20 個字元
需要字串 ()
enableCSIProxy 如需 CSI Proxy 的詳細資訊,請參閱 CSI Proxy GitHub 存放庫 bool
gmsaProfile 受控叢集中的 Windows gMSA 配置檔。 WindowsGmsaProfile
licenseType 要用於 Windows VM 的授權類型。 如需詳細資訊,請參閱 Azure 混合式用戶權益 'None'
'Windows_Server'

WindowsGmsaProfile

名稱 描述
dnsServer 指定 Windows gMSA 的 DNS 伺服器。

如果您已在用來建立受控叢集的 vnet 中設定 DNS 伺服器,請將它設定為空白。
字串
已啟用 指定是否要在受控叢集中啟用 Windows gMSA。 bool
rootDomainName 指定 Windows gMSA 的根功能變數名稱。

如果您已在用來建立受控叢集的 vnet 中設定 DNS 伺服器,請將它設定為空白。
字串

ManagedClusterSKU

名稱 描述
NAME 受控叢集 SKU 的名稱。 'Basic'
tier 如果未指定,預設值為 『Free』。 如需詳細資訊,請參閱 運行時間 SLA 'Free'
'付費'

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
在 Azure Container Service 上使用 Jenkins 的 CI/CD (AKS)

部署至 Azure
容器可讓您輕鬆地持續建置和部署應用程式。 藉由在 Azure Container Service 中使用 Kubernetes 協調這些容器的部署,您可以達成可複製且可管理的容器叢集。 藉由設定持續組建來產生容器映像和協調流程,您可以增加部署的速度和可靠性。
min.io Azure 閘道

部署至 Azure
完全私人 min.io Azure 閘道部署,以提供由 Blob 記憶體支援的 S3 相容記憶體 API
具有 NAT 閘道和 應用程式閘道 的 AKS 叢集

部署至 Azure
此範例示範如何使用 NAT 閘道部署 AKS 叢集以進行輸出連線,以及輸入連線的 應用程式閘道。
Create 私人 AKS 叢集

部署至 Azure
此範例示範如何在虛擬網路中建立私人 AKS 叢集以及 Jumpbox 虛擬機。
使用公用 DNS 區域 Create 私人 AKS 叢集

部署至 Azure
此範例示範如何使用公用 DNS 區域部署私人 AKS 叢集。
部署受控 Kubernetes 叢集 (AKS)

部署至 Azure
此 ARM 範本示範將具有進階網路功能的 AKS 實例部署到現有的虛擬網路。 此外,所選的服務主體會針對包含 AKS 叢集的子網指派網路參與者角色。
使用 AAD 部署受控 Kubernetes 叢集 (AKS)

部署至 Azure
此 ARM 範本示範將具有進階網路功能的 AKS 實例部署到現有的虛擬網路和 Azure AD 整數。 此外,所選的服務主體會針對包含 AKS 叢集的子網指派網路參與者角色。
部署適用於 Azure ML 的 AKS 叢集

部署至 Azure
此範本可讓您部署可連結至 Azure ML 的符合項目規範的 AKS 叢集
Azure Container Service (AKS)

部署至 Azure
使用 Azure Container Service (AKS) 部署受控叢集
Azure Container Service (AKS)

部署至 Azure
使用 Azure Linux 容器主機 (AKS) 部署受控叢集
Azure Container Service (AKS) 與 Helm

部署至 Azure
使用 Azure Container Service (AKS) 與 Helm 部署受控叢集
Azure Kubernetes Service (AKS)

部署至 Azure
透過 AKS) Azure Kubernetes Service (部署受控 Kubernetes 叢集
具有 應用程式閘道 輸入控制器的 AKS 叢集

部署至 Azure
此範例示範如何使用 應用程式閘道、應用程式閘道 輸入控制器、Azure Container Registry、Log Analytics 和 金鑰保存庫 部署 AKS 叢集

Terraform (AzAPI 提供者) 資源定義

managedClusters 資源類型可以使用以下列目標作業部署:

  • 資源群組

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。

資源格式

若要建立 Microsoft.ContainerService/managedClusters 資源,請將下列 Terraform 新增至範本。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ContainerService/managedClusters@2022-09-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      aadProfile = {
        adminGroupObjectIDs = [
          "string"
        ]
        clientAppID = "string"
        enableAzureRBAC = bool
        managed = bool
        serverAppID = "string"
        serverAppSecret = "string"
        tenantID = "string"
      }
      addonProfiles = {
        {customized property} = {
          config = {
            {customized property} = "string"
          }
          enabled = bool
        }
      }
      agentPoolProfiles = [
        {
          availabilityZones = [
            "string"
          ]
          count = int
          creationData = {
            sourceResourceId = "string"
          }
          enableAutoScaling = bool
          enableEncryptionAtHost = bool
          enableFIPS = bool
          enableNodePublicIP = bool
          enableUltraSSD = bool
          gpuInstanceProfile = "string"
          hostGroupID = "string"
          kubeletConfig = {
            allowedUnsafeSysctls = [
              "string"
            ]
            containerLogMaxFiles = int
            containerLogMaxSizeMB = int
            cpuCfsQuota = bool
            cpuCfsQuotaPeriod = "string"
            cpuManagerPolicy = "string"
            failSwapOn = bool
            imageGcHighThreshold = int
            imageGcLowThreshold = int
            podMaxPids = int
            topologyManagerPolicy = "string"
          }
          kubeletDiskType = "string"
          linuxOSConfig = {
            swapFileSizeMB = int
            sysctls = {
              fsAioMaxNr = int
              fsFileMax = int
              fsInotifyMaxUserWatches = int
              fsNrOpen = int
              kernelThreadsMax = int
              netCoreNetdevMaxBacklog = int
              netCoreOptmemMax = int
              netCoreRmemDefault = int
              netCoreRmemMax = int
              netCoreSomaxconn = int
              netCoreWmemDefault = int
              netCoreWmemMax = int
              netIpv4IpLocalPortRange = "string"
              netIpv4NeighDefaultGcThresh1 = int
              netIpv4NeighDefaultGcThresh2 = int
              netIpv4NeighDefaultGcThresh3 = int
              netIpv4TcpFinTimeout = int
              netIpv4TcpkeepaliveIntvl = int
              netIpv4TcpKeepaliveProbes = int
              netIpv4TcpKeepaliveTime = int
              netIpv4TcpMaxSynBacklog = int
              netIpv4TcpMaxTwBuckets = int
              netIpv4TcpTwReuse = bool
              netNetfilterNfConntrackBuckets = int
              netNetfilterNfConntrackMax = int
              vmMaxMapCount = int
              vmSwappiness = int
              vmVfsCachePressure = int
            }
            transparentHugePageDefrag = "string"
            transparentHugePageEnabled = "string"
          }
          maxCount = int
          maxPods = int
          minCount = int
          mode = "string"
          name = "string"
          nodeLabels = {
            {customized property} = "string"
          }
          nodePublicIPPrefixID = "string"
          nodeTaints = [
            "string"
          ]
          orchestratorVersion = "string"
          osDiskSizeGB = int
          osDiskType = "string"
          osSKU = "string"
          osType = "string"
          podSubnetID = "string"
          powerState = {
            code = "string"
          }
          proximityPlacementGroupID = "string"
          scaleDownMode = "string"
          scaleSetEvictionPolicy = "string"
          scaleSetPriority = "string"
          spotMaxPrice = "decimal-as-string"
          tags = {}
          type = "string"
          upgradeSettings = {
            maxSurge = "string"
          }
          vmSize = "string"
          vnetSubnetID = "string"
          workloadRuntime = "string"
        }
      ]
      apiServerAccessProfile = {
        authorizedIPRanges = [
          "string"
        ]
        disableRunCommand = bool
        enablePrivateCluster = bool
        enablePrivateClusterPublicFQDN = bool
        privateDNSZone = "string"
      }
      autoScalerProfile = {
        balance-similar-node-groups = "string"
        expander = "string"
        max-empty-bulk-delete = "string"
        max-graceful-termination-sec = "string"
        max-node-provision-time = "string"
        max-total-unready-percentage = "string"
        new-pod-scale-up-delay = "string"
        ok-total-unready-count = "string"
        scale-down-delay-after-add = "string"
        scale-down-delay-after-delete = "string"
        scale-down-delay-after-failure = "string"
        scale-down-unneeded-time = "string"
        scale-down-unready-time = "string"
        scale-down-utilization-threshold = "string"
        scan-interval = "string"
        skip-nodes-with-local-storage = "string"
        skip-nodes-with-system-pods = "string"
      }
      autoUpgradeProfile = {
        upgradeChannel = "string"
      }
      disableLocalAccounts = bool
      diskEncryptionSetID = "string"
      dnsPrefix = "string"
      enablePodSecurityPolicy = bool
      enableRBAC = bool
      fqdnSubdomain = "string"
      httpProxyConfig = {
        httpProxy = "string"
        httpsProxy = "string"
        noProxy = [
          "string"
        ]
        trustedCa = "string"
      }
      identityProfile = {
        {customized property} = {
          clientId = "string"
          objectId = "string"
          resourceId = "string"
        }
      }
      kubernetesVersion = "string"
      linuxProfile = {
        adminUsername = "string"
        ssh = {
          publicKeys = [
            {
              keyData = "string"
            }
          ]
        }
      }
      networkProfile = {
        dnsServiceIP = "string"
        dockerBridgeCidr = "string"
        ipFamilies = [
          "string"
        ]
        loadBalancerProfile = {
          allocatedOutboundPorts = int
          effectiveOutboundIPs = [
            {
              id = "string"
            }
          ]
          enableMultipleStandardLoadBalancers = bool
          idleTimeoutInMinutes = int
          managedOutboundIPs = {
            count = int
            countIPv6 = int
          }
          outboundIPPrefixes = {
            publicIPPrefixes = [
              {
                id = "string"
              }
            ]
          }
          outboundIPs = {
            publicIPs = [
              {
                id = "string"
              }
            ]
          }
        }
        loadBalancerSku = "string"
        natGatewayProfile = {
          effectiveOutboundIPs = [
            {
              id = "string"
            }
          ]
          idleTimeoutInMinutes = int
          managedOutboundIPProfile = {
            count = int
          }
        }
        networkMode = "string"
        networkPlugin = "string"
        networkPolicy = "string"
        outboundType = "string"
        podCidr = "string"
        podCidrs = [
          "string"
        ]
        serviceCidr = "string"
        serviceCidrs = [
          "string"
        ]
      }
      nodeResourceGroup = "string"
      oidcIssuerProfile = {
        enabled = bool
      }
      podIdentityProfile = {
        allowNetworkPluginKubenet = bool
        enabled = bool
        userAssignedIdentities = [
          {
            bindingSelector = "string"
            identity = {
              clientId = "string"
              objectId = "string"
              resourceId = "string"
            }
            name = "string"
            namespace = "string"
          }
        ]
        userAssignedIdentityExceptions = [
          {
            name = "string"
            namespace = "string"
            podLabels = {
              {customized property} = "string"
            }
          }
        ]
      }
      privateLinkResources = [
        {
          groupId = "string"
          id = "string"
          name = "string"
          requiredMembers = [
            "string"
          ]
          type = "string"
        }
      ]
      publicNetworkAccess = "string"
      securityProfile = {
        azureKeyVaultKms = {
          enabled = bool
          keyId = "string"
          keyVaultNetworkAccess = "string"
          keyVaultResourceId = "string"
        }
        defender = {
          logAnalyticsWorkspaceResourceId = "string"
          securityMonitoring = {
            enabled = bool
          }
        }
      }
      servicePrincipalProfile = {
        clientId = "string"
        secret = "string"
      }
      storageProfile = {
        blobCSIDriver = {
          enabled = bool
        }
        diskCSIDriver = {
          enabled = bool
        }
        fileCSIDriver = {
          enabled = bool
        }
        snapshotController = {
          enabled = bool
        }
      }
      windowsProfile = {
        adminPassword = "string"
        adminUsername = "string"
        enableCSIProxy = bool
        gmsaProfile = {
          dnsServer = "string"
          enabled = bool
          rootDomainName = "string"
        }
        licenseType = "string"
      }
    }
    sku = {
      name = "Basic"
      tier = "string"
    }
    extendedLocation = {
      name = "string"
      type = "EdgeZone"
    }
  })
}

屬性值

managedClusters

名稱 描述
類型 資源類型 “Microsoft.ContainerService/managedClusters@2022-09-01”
NAME 資源名稱 需要字串 ()

字元限制:1-63

合法字元:
英數字元、底線和連字號。

以英數字元開頭及結尾。
location 資源所在的地理位置 需要字串 ()
parent_id 若要部署至資源群組,請使用該資源群組的標識碼。 需要字串 ()
tags 資源標籤。 標記名稱和值的字典。
sku 受控叢集 SKU。 ManagedClusterSKU
extendedLocation 虛擬機的擴充位置。 ExtendedLocation
身分識別 如果已設定,則為受控叢集的識別。 ManagedClusterIdentity
properties 受控叢集的屬性。 ManagedClusterProperties

ExtendedLocation

名稱 描述
NAME 擴充位置的名稱。 字串
type 擴充位置的類型。 “EdgeZone”

ManagedClusterIdentity

名稱 描述
類型 如需詳細資訊,請參閱 在 AKS 中使用受控識別 “SystemAssigned”
“UserAssigned”
identity_ids 密鑰必須是 ARM 資源識別符,格式為:『/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。 使用者身分識別標識碼的陣列。

ManagedClusterIdentityUserAssignedIdentities

名稱 描述
{自定義屬性} ManagedServiceIdentityUserAssignedIdentitiesValue

ManagedServiceIdentityUserAssignedIdentitiesValue

此物件不包含部署期間要設定的任何屬性。 所有屬性都是 ReadOnly。

ManagedClusterProperties

名稱 描述
aadProfile Azure Active Directory 設定。 ManagedClusterAADProfile
addonProfiles 受控叢集附加元件的配置檔。 ManagedClusterPropertiesAddonProfiles
agentPoolProfiles 代理程式集區屬性。 ManagedClusterAgentPoolProfile[]
apiServerAccessProfile 受控叢集 API 伺服器的存取設定檔。 ManagedClusterAPIServerAccessProfile
autoScalerProfile 啟用時要套用至叢集自動調整程序的參數 ManagedClusterPropertiesAutoScalerProfile
autoUpgradeProfile 自動升級組態。 ManagedClusterAutoUpgradeProfile
disableLocalAccounts 如果設定為 true,將會停用此叢集的靜態認證。 這隻能在已啟用 AAD 的受控叢集上使用。 如需詳細資訊,請參閱 停用本機帳戶 bool
diskEncryptionSetID 格式如下:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName}' 字串
dnsPrefix 建立受控叢集之後,就無法更新此專案。 字串
enablePodSecurityPolicy (淘汰) 是否要啟用 Kubernetes Pod 安全策略 (預覽) 。 此功能設定為在 2020 年 10 月 15 日移除。 若要深入瞭解,請參閱 aka.ms/aks/azpodpolicy。 bool
enableRBAC 是否要啟用 Kubernetes Role-Based 存取控制。 bool
fqdnSubdomain 建立受控叢集之後,就無法更新此專案。 字串
httpProxyConfig 使用 HTTP Proxy 伺服器布建叢集的設定。 ManagedClusterHttpProxyConfig
identityProfile 與叢集相關聯的身分識別。 ManagedClusterPropertiesIdentityProfile
kubernetesVersion 支援修補程式版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20) 。 指定 {major.minor} 時,會自動選擇最新的支援 GA 修補程式版本。 在建立叢集之後,以相同的 {major.minor} 更新叢集 (例如 1.14.x -} 1.14) 將不會觸發升級,即使有較新的修補程式版本也一樣。 當您升級支援的 AKS 叢集時,則無法略過 Kubernetes 次要版本。 所有升級都必須依主要版本號碼順序執行。 例如,允許在 1.14.x -} 1.15.x 或 1.15.x -} 1.16.x 之間升級,不過不允許 1.14.x -} 1.16.x。 如需詳細資訊 ,請參閱升級 AKS 叢集 字串
linuxProfile 受控叢集中Linux VM的配置檔。 ContainerServiceLinuxProfile
networkProfile 網路組態配置檔。 ContainerServiceNetworkProfile
nodeResourceGroup 包含代理程式集區節點的資源群組名稱。 字串
oidcIssuerProfile 受控叢集的 OIDC 簽發者配置檔。 ManagedClusterOidcIssuerProfile
podIdentityProfile 如需 AAD Pod 身分識別整合的詳細資訊,請參閱 使用 AAD Pod 身分識別。 ManagedClusterPodIdentityProfile
privateLinkResources 與叢集相關聯的私人鏈接資源。 PrivateLinkResource[]
publicNetworkAccess 允許或拒絕 AKS 的公用網路存取 “Disabled”
“Enabled”
securityProfile 受控叢集的安全性配置檔。 ManagedClusterSecurityProfile
servicePrincipalProfile 叢集用來操作 Azure API 的服務主體身分識別相關信息。 ManagedClusterServicePrincipalProfile
storageProfile 受控叢集的記憶體配置檔。 ManagedClusterStorageProfile
windowsProfile 受控叢集中 Windows VM 的配置檔。 ManagedClusterWindowsProfile

ManagedClusterAADProfile

名稱 描述
adminGroupObjectIDs 將具有叢集管理員角色的 AAD 群組物件識別符清單。 string[]
clientAppID 用戶端 AAD 應用程式識別碼。 字串
enableAzureRBAC 是否要啟用適用於 Kubernetes 授權的 Azure RBAC。 bool
受控 是否要啟用Managed AAD。 bool
serverAppID 伺服器 AAD 應用程式識別碼。 字串
serverAppSecret 伺服器 AAD 應用程式秘密。 字串
tenantID 要用於驗證的 AAD 租使用者識別碼。 如果未指定,則會使用部署訂用帳戶的租使用者。 字串

ManagedClusterPropertiesAddonProfiles

名稱 描述
{自定義屬性} ManagedClusterAddonProfile

ManagedClusterAddonProfile

名稱 描述
config 用於設定附加元件的索引鍵/值組。 ManagedClusterAddonProfileConfig
已啟用 附加元件是否已啟用。 bool (必要)

ManagedClusterAddonProfileConfig

名稱 描述
{自定義屬性} 字串

ManagedClusterAgentPoolProfile

名稱 描述
availabilityZones 要用於節點的可用性區域清單。 只有在 AgentPoolType 屬性為 'VirtualMachineScaleSets' 時,才能指定這個值。 string[]
計數 ) 裝載 Docker 容器的 VM (代理程式數目。 允許的值必須介於 0 到 1000 (使用者集區的內含) 範圍內,以及系統集區的 1 到 1000 (內含) 範圍。 預設值為 1。 int
creationData 如果節點集區將使用快照集建立/升級,則為 CreationData,用來指定來源快照集標識符。 CreationData
enableAutoScaling 是否啟用自動調整程式 bool
enableEncryptionAtHost 這僅在特定 VM 大小和特定 Azure 區域中受到支援。 如需詳細資訊,請參閱:/azure/aks/enable-host-encryption bool
enableFIPS 如需詳細資訊 ,請參閱新增已啟用 FIPS 的節點集 區。 bool
enableNodePublicIP 某些案例可能需要節點集區中的節點接收自己的專用公用IP位址。 常見的案例是遊戲工作負載,其中主控台需要直接連線至雲端虛擬機器,以將躍點降到最低。 如需詳細資訊,請參閱 為每個節點指派公用IP。 預設值為 false。 bool
enableUltraSSD 是否要啟用 UltraSSD bool
gpuInstanceProfile GPUInstanceProfile 可用來為支援的 GPU VM SKU 指定 GPU MIG 實例配置檔。 “MIG1g”
“MIG2g”
“MIG3g”
“MIG4g”
“MIG7g”
hostGroupID 格式如下:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}。 如需詳細資訊,請參閱 Azure 專用主機 字串
kubeletConfig 代理程式集區節點上的 Kubelet 組態。 KubeletConfig
kubeletDiskType 決定 emptyDir 磁碟區、容器運行時間數據根目錄和 Kubelet 暫時記憶體的位置。 “OS”
“暫存”
linuxOSConfig Linux 代理程序節點的 OS 設定。 LinuxOSConfig
maxCount 自動調整的節點數目上限 int
maxPods 可以在節點上執行的 Pod 數目上限。 int
minCount 自動調整的節點數目下限 int
mode 叢集必須隨時至少有一個「系統」代理程式集區。 如需代理程式集區限制和最佳做法的其他資訊,請參閱:/azure/aks/use-system-pools “System”
"User"
NAME Windows 代理程式集區名稱必須是 6 個字元或更少。 字串 (必要)

約束:
模式 = ^[a-z][a-z0-9]{0,11}$
nodeLabels 要保存於代理程式集區中所有節點的節點標籤。 ManagedClusterAgentPoolProfilePropertiesNodeLabels
nodePublicIPPrefixID 此格式為:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} 字串
nodeTaints 節點集區建立和調整期間新增至新節點的 Taint。 例如,key=value:NoSchedule。 string[]
orchestratorVersion 支援兩個修補程式版本 {major.minor.patch} (例如 1.20.13) 和 {major.minor} (例如 1.20) 。 指定 {major.minor} 時,會自動選擇最新的支援 GA 修補程式版本。 在建立叢集之後,以相同的 {major.minor} 更新叢集 (例如 1.14.x -} 1.14) 將不會觸發升級,即使有較新的修補程式版本也一樣。 最佳做法是,您應該將 AKS 叢集中的所有節點集區升級為相同的 Kubernetes 版本。 節點集區版本必須與控制平面具有相同的「主要」版本。 節點集區「次要」版本必須在控制平面版本的兩個「次要」版本內。 節點集區版本不能大於控制平面版本。 如需詳細資訊,請參閱 升級節點集區 字串
osDiskSizeGB 以 GB 為單位的 OS 磁碟大小,用來指定主要/代理程式集區中每部電腦的磁碟大小。 如果您指定 0,它會根據指定的 vmSize 套用預設 osDisk 大小。 int

約束:
最小值 = 0
最大值 = 2048
osDiskType 如果 VM 支援,且快取磁碟大於要求的 OSDiskSizeGB,則預設值為 'Ephemeral'。 否則,預設為 『Managed』。 建立之後可能不會變更。 如需詳細資訊,請參閱 暫時OS “暫時”
“Managed”
osSKU 指定代理程式集區所使用的 OS SKU。 如果OSType為Linux,則預設值為Ubuntu。 如果 OSType 是 Windows,則當 Kubernetes <>= 1.24 或 Windows2022 =1.25 時,預設值為 Windows2019。 “CBLMariner”
“Ubuntu”
“Windows2019”
“Windows2022”
osType 操作系統類型。 預設值為Linux。 "Linux"
"Windows"
podSubnetID 如果省略,則會在節點子網上靜態指派 Pod IP, (請參閱 vnetSubnetID 以取得詳細數據) 。 這是格式:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字串
powerState 第一次建立代理程式集區時,它一開始會執行。 您可以將此欄位設定為 [已停止] 來停止代理程式集區。 已停止的代理程式集區會停止其所有 VM,而不會產生計費費用。 只有在代理程式集區為 [執行中] 且布建狀態為 [成功] 時,才能停止 PowerState
proximityPlacementGroupID 鄰近放置群組的標識碼。 字串
scaleDownMode 這也會影響叢集自動調整程序行為。 如果未指定,則預設為 Delete。 “Deallocate”
"Delete"
scaleSetEvictionPolicy 除非 scaleSetPriority 為 'Spot',否則無法指定此專案。 如果未指定,則預設值為 『Delete』。 “Deallocate”
"Delete"
scaleSetPriority 虛擬機擴展集優先順序。 如果未指定,則預設值為 『Regular』。 “Regular”
“Spot”
spotMaxPrice 可能的值是大於零或 -1 的任何十進位值,表示願意支付任何隨選價格。 如需現成定價的詳細資訊,請參閱 現成 VM 價格 指定十進位值作為字串。 int 或 json decimal
tags 要保存在代理程式集區虛擬機擴展集上的標記。 物件 (object)
類型 代理程式集區的型別。 “AvailabilitySet”
“VirtualMachineScaleSets”
upgradeSettings 升級 Agentpool 的設定 AgentPoolUpgradeSettings
vmSize VM 大小可用性會因區域而異。 如果節點包含的計算資源不足, (記憶體、cpu 等) Pod 可能無法正確執行。 如需受限制 VM 大小的詳細資訊,請參閱:/azure/aks/quotas-skus-regions 字串
vnetSubnetID 如果未指定此專案,將會產生及使用 VNET 和子網。 如果未指定 PodSubnetID,這會套用至節點和 Pod,否則只會套用至節點。 這是格式:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} 字串
workloadRuntime 決定節點可執行的工作負載類型。 “OCIContainer”
“WasmWasi”

CreationData

名稱 描述
sourceResourceId 這是用來建立目標物件的來源物件的 ARM 識別碼。 字串

KubeletConfig

名稱 描述
allowedUnsafeSysctls 允許的不安全 sysctls 或 unsafe sysctl 模式清單, (結尾為 *) 。 string[]
containerLogMaxFiles 容器可存在的容器記錄檔數目上限。 數字必須≥ 2。 int

約束:
最小值 = 2
containerLogMaxSizeMB 容器記錄檔) 輪替前的大小上限 (,例如 10Mi。 int
cpuCfsQuota 預設值是 true。 bool
cpuCfsQuotaPeriod 默認值為 『100ms』。 有效值為具有選擇性分數和單位後綴的十進位數序列。 例如:『300ms』、『2h45m』。 支持的單位為 『ns』、『us』、『ms』、『s』、'm'和 'h'。 字串
cpuManagerPolicy 預設值為 『none』。 如需詳細資訊,請參閱 Kubernetes CPU 管理原則 。 允許的值是 『none』 和 『static』。 字串
failSwapOn 如果設定為 true,則當節點上啟用交換時,Kubelet 將無法啟動。 bool
imageGcHighThreshold 若要停用映像記憶體回收,請設定為 100。 預設值為 85% int
imageGcLowThreshold 這無法設定高於 imageGcHighThreshold。 預設值為 80% int
podMaxPids 每個 Pod 的進程數目上限。 int
topologyManagerPolicy 如需詳細資訊,請參閱 Kubernetes 拓撲管理員。 預設值為 『none』。 允許的值是 『none』、『best-effort』、『restricted』和 『single-numa-node』。 字串

LinuxOSConfig

名稱 描述
swapFileSizeMB 每個節點上將建立之交換檔案 MB 的大小。 int
sysctls Linux 代理程序節點的 Sysctl 設定。 SysctlConfig
transparentHugePageDefrag 有效值為 'always'、'defer'、'defer+madvise'、'madvise' 和 'never'。 默認值為 『madvise』。 如需詳細資訊,請參閱 透明大型頁面 字串
transparentHugePageEnabled 有效值為 『always』、『madvise』和 『never』。 默認值為 『always』。 如需詳細資訊,請參閱 透明大型頁面 字串

SysctlConfig

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

ManagedClusterAgentPoolProfilePropertiesNodeLabels

名稱 描述
{自定義屬性} 字串

PowerState

名稱 描述
code 告知叢集是否正在執行或已停止 “Running”
“Stopped”

AgentPoolUpgradeSettings

名稱 描述
maxSurge 這可以設定為整數 (例如 『5』) 或百分比 (例如 『50%』) 。 如果指定百分比,則它是升級時代理程式集區大小總計的百分比。 針對百分比,小數節點會進位。 若未加以指定,預設為 1。 如需詳細資訊,包括最佳做法,請參閱:/azure/aks/upgrade-cluster#customize-node-surge-upgrade 字串

ManagedClusterAPIServerAccessProfile

名稱 描述
authorizedIPRanges IP 範圍會以 CIDR 格式指定,例如 137.117.106.88/29。 此功能與使用「每個節點公用IP」的叢集不相容,或是使用基本 Load Balancer的叢集。 如需詳細資訊,請參閱 API 伺服器授權 IP 範圍 string[]
disableRunCommand 是否要停用叢集的執行命令。 bool
enablePrivateCluster 如需詳細資訊,請參閱 建立私人 AKS 叢集 bool
enablePrivateClusterPublicFQDN 是否要為私人叢集建立其他公用 FQDN。 bool
privateDNSZone 預設值為 [系統]。 如需詳細資訊,請參閱 設定私人 DNS 區域。 允許的值為 'system' 和 'none'。 字串

ManagedClusterPropertiesAutoScalerProfile

名稱 描述
balance-similar-node-groups 有效值為 'true' 和 'false' 字串
展開器 如果未指定,預設值為 『random』。 如需詳細資訊 ,請參閱擴充工具 “least-waste”
“most-pods”
“priority”
“random”
max-empty-bulk-delete 預設值為 10。 字串
max-graceful-termination-sec 預設值為 600。 字串
max-node-provision-time 預設值為 『15m』。 值必須是整數,後面接著 'm'。 不支援分鐘數 (m) 以外的時間單位。 字串
max-total-unready-percentage 預設值為 45。 最大值為 100,最小值為 0。 字串
new-pod-scale-up-delay 針對在 kubernetes 排程器可以排程所有 Pod 之前,不想讓 CA 採取行動的高載/批次調整案例,您可以在 Pod 具備特定存留期前,先告訴 CA 忽略未排程的 Pod。 預設值為 『0s』。 值必須是整數,後面接著單位 ('s',以秒為單位、'm' 代表分鐘數、'h' 等) 。 字串
ok-total-unready-count 這必須是整數。 預設值為 3。 字串
scale-down-delay-after-add 預設值為 『10m』。 值必須是整數,後面接著 'm'。 不支援分鐘數 (m) 以外的時間單位。 字串
scale-down-delay-after-delete 預設值為掃描間隔。 值必須是整數,後面接著 'm'。 不支援分鐘數 (m) 以外的時間單位。 字串
scale-down-delay-after-failure 預設值為 『3m』。 值必須是整數,後面接著 'm'。 不支援分鐘數 (m) 以外的時間單位。 字串
scale-down-unneeded-time 預設值為 『10m』。 值必須是整數,後面接著 'm'。 不支援分鐘數 (m) 以外的時間單位。 字串
scale-down-unready-time 默認值為 『20m』。 值必須是整數,後面接著 'm'。 不支援分鐘數 (m) 以外的時間單位。 字串
scale-down-utilization-threshold 預設值為 『0.5』。 字串
scan-interval 預設值為 『10』。 值必須是整數秒數。 字串
skip-nodes-with-local-storage 預設值是 true。 字串
skip-nodes-with-system-pods 預設值是 true。 字串

ManagedClusterAutoUpgradeProfile

名稱 描述
upgradeChannel 如需詳細資訊,請參閱 設定 AKS 叢集自動升級通道 “node-image”
“none”
“patch”
“rapid”
“stable”

ManagedClusterHttpProxyConfig

名稱 描述
httpProxy 要使用的 HTTP Proxy 伺服器端點。 字串
httpsProxy 要使用的 HTTPS Proxy 伺服器端點。 字串
noProxy 不應該通過 Proxy 的端點。 string[]
trustedCa 用來連線到 Proxy 伺服器的替代 CA 憑證。 字串

ManagedClusterPropertiesIdentityProfile

名稱 描述
{自定義屬性} UserAssignedIdentity

UserAssignedIdentity

名稱 描述
clientId 使用者指派身分識別的用戶端標識碼。 字串
objectId 使用者指派身分識別的物件標識碼。 字串
resourceId 使用者指派身分識別的資源標識碼。 字串

ContainerServiceLinuxProfile

名稱 描述
adminUsername 要用於 Linux VM 的系統管理員用戶名稱。 字串 (必要)

約束:
模式 = ^[A-Za-z][-A-Za-z0-9_]*$
ssh 在 Azure 上執行的 Linux 型 VM 的 SSH 組態。 ContainerServiceSshConfiguration (必要)

ContainerServiceSshConfiguration

名稱 描述
publicKeys 用來向Linux型VM進行驗證的SSH公鑰清單。 最多可以指定1個索引鍵。 ContainerServiceSshPublicKey[] (必要)

ContainerServiceSshPublicKey

名稱 描述
keyData 用來透過 SSH 向 VM 進行驗證的憑證公鑰。 憑證必須具有或不含標頭的 PEM 格式。 字串 (必要)

ContainerServiceNetworkProfile

名稱 描述
dnsServiceIP 指派給 Kubernetes DNS 服務的 IP 位址。 它必須位於 serviceCidr 中指定的 Kubernetes 服務地址範圍內。 字串

約束:
模式 = ^(?:(?: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 指派給 Docker 網橋網路的 CIDR 表示法 IP 範圍。 它不得與任何子網 IP 範圍或 Kubernetes 服務地址範圍重疊。 字串

約束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
ipFamilies IP 系列可用來判斷單一堆疊或雙堆棧叢集。 針對單一堆棧,預期的值為IPv4。 針對雙堆棧,預期的值為IPv4和IPv6。 包含任何項目的字串數組:
“IPv4”
“IPv6”
loadBalancerProfile 叢集負載平衡器的配置檔。 ManagedClusterLoadBalancerProfile
loadBalancerSku 默認值為 『standard』。 如需負載平衡器 SKU 之間的差異詳細資訊,請參閱 Azure Load Balancer SKU。 “basic”
“standard”
natGatewayProfile 叢集 NAT 閘道的配置檔。 ManagedClusterNATGatewayProfile
networkMode 如果 networkPlugin 是 'azure' 以外的任何專案,則無法指定這個值。 “bridge”
“transparent”
networkPlugin 用於建置 Kubernetes 網路的網路外掛程式。 “azure”
“kubenet”
“none”
networkPolicy 用於建置 Kubernetes 網路的網路原則。 “azure”
“calico”
outboundType 這隻能在叢集建立期間設定,且稍後無法變更。 如需詳細資訊,請參閱 輸出輸出類型 “loadBalancer”
“managedNATGateway”
“userAssignedNATGateway”
“userDefinedRouting”
podCidr 在使用 kubenet 時據以指派 Pod IP 的 CIDR 標記法 IP 範圍。 字串

約束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
podCidrs 單一堆棧網路預期會有一個 IPv4 CIDR。 雙堆棧網路預期會有兩個CIDR,每個IP系列 (IPv4/IPv6) 。 string[]
serviceCidr 據以指派服務叢集 IP 的 CIDR 標記法 IP 範圍。 此範圍不得與任何子網路 IP 範圍重疊。 字串

約束:
模式 = ^([0-9]{1,3}\.){3}[0-9]{1,3}(\/([0-9]|[1-2][0-9]|3[0-2]))?$
serviceCidrs 單一堆棧網路預期會有一個 IPv4 CIDR。 雙堆棧網路預期會有兩個CIDR,每個IP系列 (IPv4/IPv6) 。 它們不得與任何子網IP範圍重疊。 string[]

ManagedClusterLoadBalancerProfile

名稱 描述
allocatedOutboundPorts 每個 VM 所需的已配置 SNAT 埠數目。 允許的值為 0 到 64000 (內含) 。 默認值為 0,這會導致 Azure 動態配置埠。 int

約束:
最小值 = 0
最大值 = 64000
effectiveOutboundIPs 叢集負載平衡器的有效輸出IP資源。 ResourceReference[]
enableMultipleStandardLoadBalancers 針對每個 AKS 叢集啟用多個標準負載平衡器。 bool
idleTimeoutInMinutes 所需的輸出流程閑置逾時,以分鐘為單位。 允許的值為 4 到 120 (包含) 。 預設值為 30 分鐘。 int

約束:
最小值 = 4
最大值 = 120
managedOutboundIPs 叢集負載平衡器所需的受控輸出IP。 ManagedClusterLoadBalancerProfileManagedOutboundIPs
outboundIPPrefixes 叢集負載平衡器所需的輸出 IP 前綴資源。 ManagedClusterLoadBalancerProfileOutboundIPPrefixes
outboundIPs 叢集負載平衡器所需的輸出IP資源。 ManagedClusterLoadBalancerProfileOutboundIPs

ResourceReference

名稱 描述
id 完整 Azure 資源識別碼。 字串

ManagedClusterLoadBalancerProfileManagedOutboundIPs

名稱 描述
count 為叢集負載平衡器建立/管理的所需 IPv4 輸出IP數目。 允許的值必須介於 1 到 100 (包含) 的範圍內。 預設值為 1。 int

約束:
最小值 = 1
最大值 = 100
countIPv6 為叢集負載平衡器建立/管理的 Azure 所建立/管理的所需 IPv6 輸出 IP 數目。 允許的值必須介於 1 到 100 (包含) 的範圍內。 單一堆棧的預設值為 0,而雙堆疊的預設值為 1。 int

約束:
最小值 = 0
最大值 = 100

ManagedClusterLoadBalancerProfileOutboundIPPrefixes

名稱 描述
publicIPPrefixes 公用IP前置資源的清單。 ResourceReference[]

ManagedClusterLoadBalancerProfileOutboundIPs

名稱 描述
publicIPs 公用IP資源的清單。 ResourceReference[]

ManagedClusterNATGatewayProfile

名稱 描述
effectiveOutboundIPs 叢集 NAT 閘道的有效輸出 IP 資源。 ResourceReference[]
idleTimeoutInMinutes 所需的輸出流程閑置逾時,以分鐘為單位。 允許的值為 4 到 120 (包含) 。 預設值為 4 分鐘。 int

約束:
最小值 = 4
最大值 = 120
managedOutboundIPProfile 配置檔叢集 NAT 閘道的受控輸出 IP 資源。 ManagedClusterManagedOutboundIPProfile

ManagedClusterManagedOutboundIPProfile

名稱 描述
count 由 Azure 建立/ 管理的所需輸出 IP 數目。 允許的值必須介於 1 到 16 (包含) 的範圍內。 預設值為 1。 int

約束:
最小值 = 1
最大值 = 16

ManagedClusterOidcIssuerProfile

名稱 描述
已啟用 是否啟用 OIDC 簽發者。 bool

ManagedClusterPodIdentityProfile

名稱 描述
allowNetworkPluginKubenet 根據預設,在 Kubenet 中執行會因為 AAD Pod 身分識別的安全性相關本質和 IP 詐騙的風險而停用。 如需詳細資訊,請參閱 搭配 AAD Pod 身分識別使用 Kubenet 網路外掛程式 bool
已啟用 是否啟用Pod身分識別附加元件。 bool
userAssignedIdentities 叢集中要使用的Pod身分識別。 ManagedClusterPodIdentity[]
userAssignedIdentityExceptions 要允許的Pod身分識別例外狀況。 ManagedClusterPodIdentityException[]

ManagedClusterPodIdentity

名稱 描述
bindingSelector 要用於 AzureIdentityBinding 資源的系結選取器。 字串
身分識別 使用者指派的身分識別詳細數據。 需要 UserAssignedIdentity ()
NAME Pod 身分識別的名稱。 需要字串 ()
命名空間 Pod 身分識別的命名空間。 需要字串 ()

ManagedClusterPodIdentityException

名稱 描述
NAME Pod 身分識別例外狀況的名稱。 需要字串 ()
命名空間 Pod 身分識別例外狀況的命名空間。 字串 (必要)
podLabels 要比對的 Pod 標籤。 ManagedClusterPodIdentityExceptionPodLabels (必要)

ManagedClusterPodIdentityExceptionPodLabels

名稱 描述
{自定義屬性} 字串

PrivateLinkResource

名稱 描述
groupId 資源的群組標識碼。 字串
id 私人鏈接資源的識別碼。 字串
NAME 私人鏈接資源的名稱。 字串
requiredMembers 資源的 RequiredMembers string[]
類型 資源類型。 字串

ManagedClusterSecurityProfile

名稱 描述
azureKeyVaultKms Azure 金鑰保存庫 安全性配置檔的金鑰管理服務設定。 AzureKeyVaultKms
Defender Microsoft Defender 安全性配置檔的設定。 ManagedClusterSecurityProfileDefender

AzureKeyVaultKms

名稱 描述
已啟用 是否啟用 Azure 金鑰保存庫 金鑰管理服務。 預設值為 false。 bool
keyId Azure 金鑰保存庫 密鑰的識別碼。 如需詳細資訊,請參閱 密鑰標識碼格式 。 啟用 Azure 金鑰保存庫 金鑰管理服務時,此欄位是必要的,而且必須是有效的密鑰標識碼。 當 Azure 金鑰保存庫 金鑰管理服務停用時,請將字段保留空白。 字串
keyVaultNetworkAccess 金鑰保存庫的網路存取。 可能值為 PublicPrivatePublic 表示金鑰保存庫允許從所有網路進行公用存取。 Private 表示金鑰保存庫會停用公用存取,並啟用私人連結。 預設值是 Public “Private”
“Public”
keyVaultResourceId 金鑰保存庫的資源識別碼。 當keyVaultNetworkAccess為 Private時,此字段是必要的,而且必須是有效的資源標識符。 當keyVaultNetworkAccess為 Public時,請將字段保留空白。 字串

ManagedClusterSecurityProfileDefender

名稱 描述
logAnalyticsWorkspaceResourceId 要與 Microsoft Defender 相關聯的Log Analytics工作區資源標識符。 啟用 Microsoft Defender 時,此字段是必要的,而且必須是有效的工作區資源標識符。 停用 Microsoft Defender 時,請將欄位保留空白。 字串
securityMonitoring Microsoft Defender 安全性配置檔雲端設定的威脅偵測。 ManagedClusterSecurityProfileDefenderSecurityMonitor...

ManagedClusterSecurityProfileDefenderSecurityMonitor...

名稱 描述
已啟用 是否啟用Defender威脅偵測 bool

ManagedClusterServicePrincipalProfile

名稱 描述
clientId 服務主體的標識碼。 字串 (必要)
secret 與服務主體相關聯的秘密密碼,以純文本顯示。 字串

ManagedClusterStorageProfile

名稱 描述
blobCSIDriver 記憶體配置檔的 AzureBlob CSI 驅動程式設定。 ManagedClusterStorageProfileBlobCSIDriver
diskCSIDriver 記憶體配置檔的 AzureDisk CSI 驅動程式設定。 ManagedClusterStorageProfileDiskCSIDriver
fileCSIDriver 記憶體配置檔的 AzureFile CSI 驅動程式設定。 ManagedClusterStorageProfileFileCSIDriver
snapshotController 記憶體配置檔的快照集控制器設定。 ManagedClusterStorageProfileSnapshotController

ManagedClusterStorageProfileBlobCSIDriver

名稱 描述
已啟用 是否要啟用 AzureBlob CSI 驅動程式。 預設值為 false。 bool

ManagedClusterStorageProfileDiskCSIDriver

名稱 描述
已啟用 是否要啟用 AzureDisk CSI 驅動程式。 預設值為 true。 bool

ManagedClusterStorageProfileFileCSIDriver

名稱 描述
已啟用 是否要啟用 AzureFile CSI 驅動程式。 預設值為 true。 bool

ManagedClusterStorageProfileSnapshotController

名稱 描述
已啟用 是否要啟用快照集控制器。 預設值為 true。 bool

ManagedClusterWindowsProfile

名稱 描述
adminPassword 指定系統管理員帳戶的密碼。

長度下限: 8 個字元

最大長度: 123 個字元

複雜度需求: 需要滿足下列 4 個條件中的 3 個
字元較低
具有大字元
具有數位
具有特殊字元 (Regex 比對 [\W_])

不允許的值: “abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iveyou!”
字串
adminUsername 指定系統管理員帳戶的名稱。

限制: 不能以 “.

不允許的值: “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”。

最小長度: 1 個字元

最大長度: 20 個字元
字串 (必要)
enableCSIProxy 如需 CSI Proxy 的詳細資訊,請參閱 CSI Proxy GitHub 存放庫 bool
gmsaProfile 受控叢集中的 Windows gMSA 配置檔。 WindowsGmsaProfile
licenseType 要用於 Windows VM 的授權類型。 如需詳細資訊 ,請參閱 Azure 混合式用戶權益 "None"
“Windows_Server”

WindowsGmsaProfile

名稱 描述
dnsServer 指定 Windows gMSA 的 DNS 伺服器。

如果您已在用來建立受控叢集的 vnet 中設定 DNS 伺服器,請將它設定為空白。
字串
已啟用 指定是否要在受控叢集中啟用 Windows gMSA。 bool
rootDomainName 指定 Windows gMSA 的根功能變數名稱。

如果您已在用來建立受控叢集的 vnet 中設定 DNS 伺服器,請將它設定為空白。
字串

ManagedClusterSKU

名稱 描述
NAME 受控叢集 SKU 的名稱。 "Basic"
tier 如果未指定,則預設值為 『Free』。 如需詳細資訊,請參閱 運行時間 SLA “Free”
“付費”