V3 Config Schema - Rafay Product Documentation
AKS Schema (Recommended) ¶
V3 Cluster configuration for AKS clusters
| apiVersion: infra.k8smgmt.io/v3 | string | |
| kind: Cluster | string | |
| name: myclustername | Cluster name | string |
| project: myproject | Project under which the cluster is created | string |
| labels: {} | Cluster labels | object |
| type: aks | Cluster Type | string |
| blueprint: myblueprint | Blueprint associated with the cluster | string |
| blueprintversion: bpversion | Blueprint version associated with the cluster | string |
| cloudprovider: myprovider | Cloud credentials provider used to create and manage the cluster | string |
| cniprovider: Calico-v3.19.1 | Cni provider used to specify different cni options for the cluster | string |
| proxyconfig: {} | Configure Proxy if your infrastructure uses an Outbound Proxy | object |
| apiVersion: rafay.io/v1alpha1 | string | |
| kind: Cluster | string | |
| name: myclustername | Cluster name | string |
| project: myproject | Project for the cluster | string |
| labels: {} | Cluster labels | object |
| type: aks | Cluster Type | string |
| blueprint: myblueprint | Blueprint associated with the cluster. Defaults to default |
string |
| blueprintversion: mybpversion | Blueprint version associated with the cluster. Defaults to "" |
string |
| cloudprovider: mycloudprovider | Cloud credentials provider used to create and manage the cluster | string |
| apiVersion: rafay.io/v1alpha1 | string | |
| kind: aksClusterConfig | string | |
| name: myclustername | AKS Cluster name | string |
| subscriptionID: dd18a64f-4dda-4c41-b194-9b5a7952d66d | Subscription ID for the cluster | string |
| resourceGroupName: myresourcegroup | Resource group for the cluster | string |
| apiVersion: 2024-01-01 | string | |
| name: | The name of the extended location. | string |
| type: EdgeZone | The type of the extended location. | string |
| delegatedResources: | The delegated identity resources assigned to this managed cluster. This can only be set by another Azure Resource Provider, and managed cluster only accept one delegated identity resource. Internal use only. | object |
| type: SystemAssigned | For more information see use managed identities in AKS. Valid values are SystemAssigned, UserAssigned, None. |
string |
| userAssignedIdentities: | The keys must be ARM resource IDs in the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. |
object |
| location: | The geo-location where the resource lives | string |
| adminGroupObjectIDs: | The list of AAD group object IDs that will have admin role of the cluster. | string[] |
| clientAppID: | (DEPRECATED) The client AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. | string |
| enableAzureRBAC: | Whether to enable Azure RBAC for Kubernetes authorization. | boolean |
| managed: | Whether to enable managed AAD. | boolean |
| serverAppID: | (DEPRECATED) The server AAD application ID. Learn more at https://aka.ms/aks/aad-legacy. | string |
| serverAppSecret: | (DEPRECATED) The server AAD application secret. Learn more at https://aka.ms/aks/aad-legacy. | string |
| tenantID: | The AAD tenant ID to use for authentication. If not specified, will use the tenant of the deployment subscription. | string |
| addonProfiles: | The profile of managed cluster add-on. | object |
| authorizedIPRanges: | IP ranges are specified in CIDR format, e.g. 137.117.106.88/29. This feature is not compatible with clusters that use Public IP Per Node, or clusters that are using a Basic Load Balancer. For more information see API server authorized IP ranges. | string[] |
| disableRunCommand: | Whether to disable run command for the cluster or not. | boolean |
| enablePrivateCluster: | For more details, see Creating a private AKS cluster. | boolean |
| enablePrivateClusterPublicFQDN: | Whether to create additional public FQDN for private cluster or not. | boolean |
| privateDNSZone: | The default is System. For more details see configure private DNS zone. Allowed values are system and none. |
string |
| balance-similar-node-groups: | Valid values are true and false |
string |
| expander: least-waste | If not specified, the default is random. See expanders for more information. Valid values are least-waste, most-pods, priority, random. |
string |
| max-empty-bulk-delete: | The default is 10. | string |
| max-graceful-termination-sec: | The default is 600. | string |
| max-node-provision-time: | The default is 15m. Values must be an integer followed by an m. No unit of time other than minutes (m) is supported. |
string |
| max-total-unready-percentage: | The default is 45. The maximum is 100 and the minimum is 0. | string |
| new-pod-scale-up-delay: | For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is 0s. Values must be an integer followed by a unit (s for seconds, m for minutes, h for hours, etc). |
string |
| ok-total-unready-count: | This must be an integer. The default is 3. | string |
| scale-down-delay-after-add: | The default is 10m. Values must be an integer followed by an m. No unit of time other than minutes (m) is supported. |
string |
| scale-down-delay-after-delete: | The default is the scan-interval. Values must be an integer followed by an m. No unit of time other than minutes (m) is supported. |
string |
| scale-down-delay-after-failure: | The default is 3m. Values must be an integer followed by an m. No unit of time other than minutes (m) is supported. |
string |
| scale-down-unneeded-time: | The default is 10m. Values must be an integer followed by an m. No unit of time other than minutes (m) is supported. |
string |
| scale-down-unready-time: | The default is 20m. Values must be an integer followed by an m. No unit of time other than minutes (m) is supported. |
string |
| scale-down-utilization-threshold: | The default is 0.5. |
string |
| scan-interval: | The default is 10. Values must be an integer number of seconds. |
string |
| skip-nodes-with-local-storage: | The default is true. | string |
| skip-nodes-with-system-pods: | The default is true. | string |
| nodeOSUpgradeChannel: None | Manner in which the OS on your nodes is updated. The default is NodeImage. Valid values are None, Unmanaged, NodeImage. |
string |
| upgradeChannel: rapid | For more information see setting the AKS cluster auto-upgrade channel. Valid values are rapid, stable, patch, node-image, none. |
string |
| enabled: | Whether to enable or disable the Azure Managed Prometheus addon for Prometheus monitoring. See aka.ms/AzureManagedPrometheus-aks-enable for details on enabling and disabling. | boolean |
| metricAnnotationsAllowList: | Comma-separated list of Kubernetes annotation keys that will be used in the resource's labels metric (Example: namespaces=[kubernetes.io/team,...],pods=[kubernetes.io/team],...). By default the metric contains only resource name and namespace labels. |
string |
| metricLabelsAllowlist: | Comma-separated list of additional Kubernetes label keys that will be used in the resource's labels metric (Example: namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...). By default the metric contains only resource name and namespace labels. |
string |
| disableLocalAccounts: | If set to true, getting static credentials will be disabled for this cluster. This must only be used on Managed Clusters that are AAD enabled. For more details see disable local accounts. | boolean |
| diskEncryptionSetID: | This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{encryptionSetName} |
string |
| dnsPrefix: | This cannot be updated once the Managed Cluster has been created. | string |
| enablePodSecurityPolicy: | (DEPRECATED) Whether to enable Kubernetes pod security policy (preview). PodSecurityPolicy was deprecated in Kubernetes v1.21, and removed from Kubernetes in v1.25. Learn more at https://aka.ms/k8s/psp and https://aka.ms/aks/psp. | boolean |
| enableRBAC: | Whether to enable Kubernetes Role-Based Access Control. | boolean |
| fqdnSubdomain: | This cannot be updated once the Managed Cluster has been created. | string |
| httpProxy: | The HTTP proxy server endpoint to use. | string |
| httpsProxy: | The HTTPS proxy server endpoint to use. | string |
| noProxy: | The endpoints that should not go through proxy. | string[] |
| trustedCa: | Alternative CA cert to use for connecting to proxy servers. | string |
| identityProfile: | Identities associated with the cluster. | object |
| dnsZoneResourceIds: | Resource IDs of the DNS zones to be associated with the Application Routing add-on. Used only when Application Routing add-on is enabled. Public and private DNS zones can be in different resource groups, but all public DNS zones must be in the same resource group and all private DNS zones must be in the same resource group. | string[] |
| enabled: | Whether to enable the Application Routing add-on. | boolean |
| kubernetesVersion: | Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. All upgrades must be performed sequentially by major version number. For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed. See upgrading an AKS cluster for more details. | string |
| adminUsername: | The administrator username to use for Linux VMs. | string |
| - keyData: |
Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. | string |
| dnsServiceIP: 10.0.0.10 | An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr. | string |
| ipFamilies: | IP families are used to determine single-stack or dual-stack clusters. For single-stack, the expected value is IPv4. For dual-stack, the expected values are IPv4 and IPv6. | string[] |
| allocatedOutboundPorts: 0 | The desired number of allocated SNAT ports per VM. Allowed values are in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. | integer |
| backendPoolType: NodeIPConfiguration | The type of the managed inbound Load Balancer BackendPool. Valid values are NodeIPConfiguration, NodeIP. |
string |
| - id: |
The fully qualified Azure resource id. | string |
| enableMultipleStandardLoadBalancers: | Enable multiple standard load balancers per AKS cluster or not. | boolean |
| idleTimeoutInMinutes: 30 | Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 30 minutes. | integer |
| count: 1 | The desired number of IPv4 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. | integer |
| countIPv6: 0 | The desired number of IPv6 outbound IPs created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 0 for single-stack and 1 for dual-stack. | integer |
| - id: |
The fully qualified Azure resource id. | string |
| - id: |
The fully qualified Azure resource id. | string |
| loadBalancerSku: standard | The default is standard. See Azure Load Balancer SKUs for more information about the differences between load balancer SKUs. Valid values are standard, basic. |
string |
| - id: |
The fully qualified Azure resource id. | string |
| idleTimeoutInMinutes: 4 | Desired outbound flow idle timeout in minutes. Allowed values are in the range of 4 to 120 (inclusive). The default value is 4 minutes. | integer |
| count: 1 | The desired number of outbound IPs created/managed by Azure. Allowed values must be in the range of 1 to 16 (inclusive). The default value is 1. | integer |
| networkDataplane: azure | Network dataplane used in the Kubernetes cluster. Valid values are azure, cilium. |
string |
| networkMode: transparent | This cannot be specified if networkPlugin is anything other than azure. Valid values are transparent, bridge. |
string |
| networkPlugin: azure | Network plugin used for building the Kubernetes network. Valid values are azure, kubenet, none. |
string |
| networkPluginMode: overlay | The mode the network plugin should use. | string |
| networkPolicy: calico | Network policy used for building the Kubernetes network. Valid values are calico, azure, cilium. |
string |
| outboundType: loadBalancer | This can only be set at cluster creation time and cannot be changed later. For more information see egress outbound type. Valid values are loadBalancer, userDefinedRouting, managedNATGateway, userAssignedNATGateway. |
string |
| podCidr: 10.244.0.0/16 | A CIDR notation IP range from which to assign pod IPs when kubenet is used. | string |
| podCidrs: | One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. | string[] |
| serviceCidr: 10.0.0.0/16 | A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges. | string |
| serviceCidrs: | One IPv4 CIDR is expected for single-stack networking. Two CIDRs, one for each IP family (IPv4/IPv6), is expected for dual-stack networking. They must not overlap with any Subnet IP ranges. | string[] |
| nodeResourceGroup: | The name of the resource group containing agent pool nodes. | string |
| enabled: | Whether the OIDC issuer is enabled. | boolean |
| allowNetworkPluginKubenet: | Running in Kubenet is disabled by default due to the security related nature of AAD Pod Identity and the risks of IP spoofing. See using Kubenet network plugin with AAD Pod Identity for more information. | boolean |
| enabled: | Whether the pod identity addon is enabled. | boolean |
| - bindingSelector: |
The binding selector to use for the AzureIdentityBinding resource. | string |
| clientId: | The client ID of the user assigned identity. | string |
| objectId: | The object ID of the user assigned identity. | string |
| resourceId: | The resource ID of the user assigned identity. | string |
| - name: |
The name of the pod identity. | string |
| - namespace: |
The namespace of the pod identity. | string |
| - name: |
The name of the pod identity exception. | string |
| - namespace: |
The namespace of the pod identity exception. | string |
| - podLabels: |
The pod labels to match. | object |
| - groupId: |
The group ID of the resource. | string |
| - id: |
The ID of the private link resource. | string |
| - name: |
The name of the private link resource. | string |
| - requiredMembers: |
The RequiredMembers of the resource | string[] |
| - type: |
The resource type. | string |
| publicNetworkAccess: Enabled | Allow or deny public network access for AKS Valid values are Enabled, Disabled. |
string |
| enabled: | Whether to enable Azure Key Vault key management service. The default is false. | boolean |
| keyId: | Identifier of Azure Key Vault key. See key identifier format for more details. When Azure Key Vault key management service is enabled, this field is required and must be a valid key identifier. When Azure Key Vault key management service is disabled, leave the field empty. | string |
| keyVaultNetworkAccess: Public | Network access of key vault. The possible values are Public and Private. Public means the key vault allows public access from all networks. Private means the key vault disables public access and enables private link. The default value is Public. |
string |
| keyVaultResourceId: | Resource ID of key vault. When keyVaultNetworkAccess is Private, this field is required and must be a valid resource ID. When keyVaultNetworkAccess is Public, leave the field empty. |
string |
| logAnalyticsWorkspaceResourceId: | Resource ID of the Log Analytics workspace to be associated with Microsoft Defender. When Microsoft Defender is enabled, this field is required and must be a valid workspace resource ID. When Microsoft Defender is disabled, leave the field empty. | string |
| enabled: | Whether to enable Defender threat detection | boolean |
| enabled: | Whether to enable Image Cleaner on AKS cluster. | boolean |
| intervalHours: | Image Cleaner scanning interval in hours. | integer |
| enabled: | Whether to enable workload identity. | boolean |
| certChainObjectName: | Certificate chain object name in Azure Key Vault. | string |
| certObjectName: | Intermediate certificate object name in Azure Key Vault. | string |
| keyObjectName: | Intermediate certificate private key object name in Azure Key Vault. | string |
| keyVaultId: | The resource ID of the Key Vault. | string |
| rootCertObjectName: | Root certificate object name in Azure Key Vault. | string |
| - enabled: |
Whether to enable the egress gateway. | boolean |
| - nodeSelector: |
NodeSelector for scheduling the egress gateway. | object |
| - enabled: |
Whether to enable the ingress gateway. | boolean |
| - mode: External |
Mode of an ingress gateway. Valid values are External, Internal. |
string |
| revisions: | The list of revisions of the Istio control plane. When an upgrade is not in progress, this holds one value. When canary upgrade is in progress, this can only hold two consecutive values. For more information, see: https://learn.microsoft.com/en-us/azure/aks/istio-upgrade | string[] |
| mode: Istio | Mode of the service mesh. Valid values are Istio, Disabled. |
string |
| clientId: | The ID for the service principal. If specified, must be set to [parameters('servicePrincipalClientId')]. This would be set to the cloud credential's client ID during cluster deployment. |
string |
| secret: | The secret password associated with the service principal. If specified, must be set to [parameters('servicePrincipalClientSecret')]. This would be set to the cloud credential's client secret during cluster deployment. |
string |
| enabled: | Whether to enable AzureBlob CSI Driver. The default value is false. | boolean |
| enabled: | Whether to enable AzureDisk CSI Driver. The default value is true. | boolean |
| enabled: | Whether to enable AzureFile CSI Driver. The default value is true. | boolean |
| enabled: | Whether to enable Snapshot Controller. The default value is true. | boolean |
| supportPlan: KubernetesOfficial | The support plan for the Managed Cluster. If unspecified, the default is KubernetesOfficial. Valid values are KubernetesOfficial, AKSLongTermSupport. |
string |
| forceUpgrade: | Whether to force upgrade the cluster. Note that this option instructs upgrade operation to bypass upgrade protections such as checking for deprecated API usage. Enable this option only with caution. | boolean |
| until: | Until when the overrides are effective. Note that this only matches the start time of an upgrade, and the effectiveness won't change once an upgrade starts even if the until expires as upgrade proceeds. This field is not set by default. It must be set for the overrides to take effect. |
string |
| adminUsername: | Specifies the name of the administrator account. Restriction: Cannot end in "." Disallowed values: "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". Minimum-length: 1 character Max-length: 20 characters |
string |
| enableCSIProxy: | For more details on CSI proxy, see the CSI proxy GitHub repo. | boolean |
| dnsServer: | Specifies the DNS server for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. |
string |
| enabled: | Specifies whether to enable Windows gMSA in the managed cluster. | boolean |
| rootDomainName: | Specifies the root domain name for Windows gMSA. Set it to empty if you have configured the DNS server in the vnet which is used to create the managed cluster. |
string |
| licenseType: None | The license type to use for Windows VMs. See Azure Hybrid User Benefits for more details. Valid values are None, Windows_Server. |
string |
| enabled: | Whether to enable KEDA. | boolean |
| enabled: false | Whether to enable VPA. Default value is false. | boolean |
| name: Base | The name of a managed cluster SKU. | string |
| tier: Premium | If not specified, the default is Free. See AKS Pricing Tier for more details. Valid values are Premium, Standard, Free. |
string |
| tags: | Resource tags. | object |
| type: Microsoft.ContainerService/managedClusters | string | |
| resourceGroupName: | If not specified, defaults to the resource group of the managed cluster | string |
| acrName: | The name of the Azure Container Registry resource. | string |
| oms_workspace_location: | If not specified, defaults to the resource group of the managed cluster. Valid only if the Log analytics workspace is specified. | string |
| apiVersion: 2024-01-01 | string | |
| name: | The name of the agent pool. | string |
| availabilityZones: | The list of Availability zones to use for nodes. This can only be specified if the AgentPoolType property is VirtualMachineScaleSets. |
string[] |
| capacityReservationGroupID: | AKS will associate the specified agent pool with the Capacity Reservation Group. | string |
| count: | Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 1000 (inclusive) for user pools and in the range of 1 to 1000 (inclusive) for system pools. The default value is 1. | integer |
| sourceResourceId: | This is the ARM ID of the source object to be used to create the target object. | string |
| enableAutoScaling: | Whether to enable auto-scaler | boolean |
| enableEncryptionAtHost: | This is only supported on certain VM sizes and in certain Azure regions. For more information, see: https://docs.microsoft.com/azure/aks/enable-host-encryption | boolean |
| enableFIPS: | See Add a FIPS-enabled node pool for more details. | boolean |
| enableNodePublicIP: | Some scenarios may require nodes in a node pool to receive their own dedicated public IP addresses. A common scenario is for gaming workloads, where a console needs to make a direct connection to a cloud virtual machine to minimize hops. For more information see assigning a public IP per node. The default is false. | boolean |
| enableUltraSSD: | Whether to enable UltraSSD | boolean |
| gpuInstanceProfile: MIG1g | GPUInstanceProfile to be used to specify GPU MIG instance profile for supported GPU VM SKU. Valid values are MIG1g, MIG2g, MIG3g, MIG4g, MIG7g. |
string |
| hostGroupID: | This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}. For more information see Azure dedicated hosts. | string |
| allowedUnsafeSysctls: | Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in *). |
string[] |
| containerLogMaxFiles: | The maximum number of container log files that can be present for a container. The number must be ≥ 2. | integer |
| containerLogMaxSizeMB: | The maximum size (e.g. 10Mi) of container log file before it is rotated. | integer |
| cpuCfsQuota: | The default is true. | boolean |
| cpuCfsQuotaPeriod: | The default is 100ms. Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: 300ms, 2h45m. Supported units are ns, us, ms, s, m, and h. |
string |
| cpuManagerPolicy: | The default is none. See Kubernetes CPU management policies for more information. Allowed values are none and static. |
string |
| failSwapOn: | If set to true it will make the Kubelet fail to start if swap is enabled on the node. | boolean |
| imageGcHighThreshold: | To disable image garbage collection, set to 100. The default is 85% | integer |
| imageGcLowThreshold: | This cannot be set higher than imageGcHighThreshold. The default is 80% | integer |
| podMaxPids: | The maximum number of processes per pod. | integer |
| topologyManagerPolicy: | For more information see Kubernetes Topology Manager. The default is none. Allowed values are none, best-effort, restricted, and single-numa-node. |
string |
| kubeletDiskType: OS | Determines the placement of emptyDir volumes, container runtime data root, and Kubelet ephemeral storage. Valid values are OS, Temporary. |
string |
| swapFileSizeMB: | The size in MB of a swap file that will be created on each node. | integer |
| fsAioMaxNr: | Sysctl setting fs.aio-max-nr. | integer |
| fsFileMax: | Sysctl setting fs.file-max. | integer |
| fsInotifyMaxUserWatches: | Sysctl setting fs.inotify.max_user_watches. | integer |
| fsNrOpen: | Sysctl setting fs.nr_open. | integer |
| kernelThreadsMax: | Sysctl setting kernel.threads-max. | integer |
| netCoreNetdevMaxBacklog: | Sysctl setting net.core.netdev_max_backlog. | integer |
| netCoreOptmemMax: | Sysctl setting net.core.optmem_max. | integer |
| netCoreRmemDefault: | Sysctl setting net.core.rmem_default. | integer |
| netCoreRmemMax: | Sysctl setting net.core.rmem_max. | integer |
| netCoreSomaxconn: | Sysctl setting net.core.somaxconn. | integer |
| netCoreWmemDefault: | Sysctl setting net.core.wmem_default. | integer |
| netCoreWmemMax: | Sysctl setting net.core.wmem_max. | integer |
| netIpv4IpLocalPortRange: | Sysctl setting net.ipv4.ip_local_port_range. | string |
| netIpv4NeighDefaultGcThresh1: | Sysctl setting net.ipv4.neigh.default.gc_thresh1. | integer |
| netIpv4NeighDefaultGcThresh2: | Sysctl setting net.ipv4.neigh.default.gc_thresh2. | integer |
| netIpv4NeighDefaultGcThresh3: | Sysctl setting net.ipv4.neigh.default.gc_thresh3. | integer |
| netIpv4TcpFinTimeout: | Sysctl setting net.ipv4.tcp_fin_timeout. | integer |
| netIpv4TcpKeepaliveProbes: | Sysctl setting net.ipv4.tcp_keepalive_probes. | integer |
| netIpv4TcpKeepaliveTime: | Sysctl setting net.ipv4.tcp_keepalive_time. | integer |
| netIpv4TcpMaxSynBacklog: | Sysctl setting net.ipv4.tcp_max_syn_backlog. | integer |
| netIpv4TcpMaxTwBuckets: | Sysctl setting net.ipv4.tcp_max_tw_buckets. | integer |
| netIpv4TcpTwReuse: | Sysctl setting net.ipv4.tcp_tw_reuse. | boolean |
| netIpv4TcpkeepaliveIntvl: | Sysctl setting net.ipv4.tcp_keepalive_intvl. | integer |
| netNetfilterNfConntrackBuckets: | Sysctl setting net.netfilter.nf_conntrack_buckets. | integer |
| netNetfilterNfConntrackMax: | Sysctl setting net.netfilter.nf_conntrack_max. | integer |
| vmMaxMapCount: | Sysctl setting vm.max_map_count. | integer |
| vmSwappiness: | Sysctl setting vm.swappiness. | integer |
| vmVfsCachePressure: | Sysctl setting vm.vfs_cache_pressure. | integer |
| transparentHugePageDefrag: | Valid values are always, defer, defer+madvise, madvise and never. The default is madvise. For more information see Transparent Hugepages. |
string |
| transparentHugePageEnabled: | Valid values are always, madvise, and never. The default is always. For more information see Transparent Hugepages. |
string |
| maxCount: | The maximum number of nodes for auto-scaling | integer |
| maxPods: | The maximum number of pods that can run on a node. | integer |
| minCount: | The minimum number of nodes for auto-scaling | integer |
| mode: System | A cluster must have at least one System Agent Pool at all times. For additional information on agent pool restrictions and best practices, see: https://docs.microsoft.com/azure/aks/use-system-pools Valid values are System, User. |
string |
| - portEnd: |
The maximum port that is included in the range. It should be ranged from 1 to 65535, and be greater than or equal to portStart. | integer |
| - portStart: |
The minimum port that is included in the range. It should be ranged from 1 to 65535, and be less than or equal to portEnd. | integer |
| - protocol: TCP |
The network protocol of the port. Valid values are TCP, UDP. |
string |
| applicationSecurityGroups: | The IDs of the application security groups which agent pool will associate when created. | string[] |
| - ipTagType: |
The IP tag type. Example: RoutingPreference. | string |
| - tag: |
The value of the IP tag associated with the public IP. Example: Internet. | string |
| nodeLabels: | The node labels to be persisted across all nodes in agent pool. | object |
| nodePublicIPPrefixID: | This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPPrefixes/{publicIPPrefixName} | string |
| nodeTaints: | The taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule. | string[] |
| orchestratorVersion: | Both patch version (e.g. 1.20.13) and (e.g. 1.20) are supported. When is specified, the latest supported GA patch version is chosen automatically. Updating the cluster with the same once it has been created (e.g. 1.14.x -> 1.14) will not trigger an upgrade, even if a newer patch version is available. As a best practice, you should upgrade all node pools in an AKS cluster to the same Kubernetes version. The node pool version must have the same major version as the control plane. The node pool minor version must be within two minor versions of the control plane version. The node pool version cannot be greater than the control plane version. For more information see upgrading a node pool. | string |
| osDiskSizeGB: | OS Disk Size in GB to be used to specify the disk size for every machine in the master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified. | integer |
| osDiskType: Managed | The default is Ephemeral if the VM supports it and has a cache disk larger than the requested OSDiskSizeGB. Otherwise, defaults to Managed. May not be changed after creation. For more information see Ephemeral OS. |
string |
| osSKU: Ubuntu | Specifies the OS SKU used by the agent pool. The default is Ubuntu if OSType is Linux. The default is Windows2019 when Kubernetes <= 1.24 or Windows2022 when Kubernetes >= 1.25 if OSType is Windows. Valid values are Ubuntu, AzureLinux, CBLMariner, Windows2019, Windows2022. |
string |
| osType: Linux | The operating system type. The default is Linux. Valid values are Linux, Windows. |
string |
| podSubnetID: | If omitted, pod IPs are statically assigned on the node subnet (see vnetSubnetID for more details). This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} | string |
| code: Running | Tells whether the cluster is Running or Stopped | string |
| proximityPlacementGroupID: | The ID for Proximity Placement Group. | string |
| scaleDownMode: Delete | This also effects the cluster autoscaler behavior. If not specified, it defaults to Delete. Valid values are Delete, Deallocate. |
string |
| scaleSetEvictionPolicy: Delete | This cannot be specified unless the scaleSetPriority is Spot. If not specified, the default is Delete. Valid values are Delete, Deallocate. |
string |
| scaleSetPriority: Spot | The Virtual Machine Scale Set priority. If not specified, the default is Regular. Valid values are Spot, Regular. |
string |
| spotMaxPrice: -1 | Possible values are any decimal value greater than zero or -1 which indicates the willingness to pay any on-demand price. For more details on spot pricing, see spot VMs pricing | number |
| tags: | The tags to be persisted on the agent pool virtual machine scale set. | object |
| type: VirtualMachineScaleSets | The type of Agent Pool. Valid values are VirtualMachineScaleSets, AvailabilitySet. |
string |
| drainTimeoutInMinutes: | The amount of time (in minutes) to wait on eviction of pods and graceful termination per node. This eviction wait time honors waiting on pod disruption budgets. If this time is exceeded, the upgrade fails. If not specified, the default is 30 minutes. | integer |
| maxSurge: | This can either be set to an integer (e.g. 5) or a percentage (e.g. 50%). If a percentage is specified, it is the percentage of the total agent pool size at the time of the upgrade. For percentages, fractional nodes are rounded up. If not specified, the default is 1. For more information, including best practices, see: https://docs.microsoft.com/azure/aks/upgrade-cluster#customize-node-surge-upgrade |
string |
| nodeSoakDurationInMinutes: | The amount of time (in minutes) to wait after draining a node and before reimaging it and moving on to next node. If not specified, the default is 0 minutes. | integer |
| vmSize: | VM size availability varies by region. If a node contains insufficient compute resources (memory, cpu, etc) pods might fail to run correctly. For more details on restricted VM sizes, see: https://docs.microsoft.com/azure/aks/quotas-skus-regions | string |
| vnetSubnetID: | If this is not specified, a VNET and subnet will be generated and used. If no podSubnetID is specified, this applies to nodes and pods, otherwise it applies to just nodes. This is of the form: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName} | string |
| workloadRuntime: OCIContainer | Determines the type of workload a node can run. Valid values are OCIContainer, WasmWasi. |
string |
| type: Microsoft.ContainerService/managedClusters/agentPools | string | |
| apiVersion: 2024-01-01 | string | |
| name: | The name of the maintenance configuration. | string |
| durationHours: 24 | Length of maintenance window range from 4 to 24 hours. | integer |
| - end: |
The end date of the date span. | string |
| - start: |
The start date of the date span. | string |
| dayOfMonth: | The date of the month. | integer |
| intervalMonths: | Specifies the number of months between each set of occurrences. | integer |
| intervalDays: | Specifies the number of days between each set of occurrences. | integer |
| dayOfWeek: Sunday | Specifies on which day of the week the maintenance occurs. Valid values are Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday. |
string |
| intervalMonths: | Specifies the number of months between each set of occurrences. | integer |
| weekIndex: First | Specifies on which week of the month the dayOfWeek applies. Valid values are First, Second, Third, Fourth, Last. |
string |
| dayOfWeek: Sunday | Specifies on which day of the week the maintenance occurs. Valid values are Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday. |
string |
| intervalWeeks: | Specifies the number of weeks between each set of occurrences. | integer |
| startDate: | The date the maintenance window activates. If the current date is before this date, the maintenance window is inactive and will not be used for upgrades. If not specified, the maintenance window will be active right away. | string |
| startTime: | The start time of the maintenance window. Accepted values are from 00:00 to 23:59. utcOffset applies to this field. For example: 02:00 with utcOffset: +02:00 means UTC time 00:00. |
string |
| utcOffset: | The UTC offset in format +/-HH:mm. For example, +05:30 for IST and -07:00 for PST. If not specified, the default is +00:00. |
string |
| - end: |
The end of a time span | string |
| - start: |
The start of a time span | string |
| - day: Sunday |
The day of the week. Valid values are Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday. |
string |
| - hourSlots: |
Each integer hour represents a time range beginning at 0m after the hour ending at the next hour (non-inclusive). 0 corresponds to 00:00 UTC, 23 corresponds to 23:00 UTC. Specifying [0, 1] means the 00:00 - 02:00 UTC time range. | integer[] |
| type: Microsoft.ContainerService/managedClusters/maintenanceConfigurations | string | |
| createIdentity: | Specifies whether to create a new Azure Managed Identity for the cluster. If true, a dedicated identity is created for the cluster to authenticate with Azure services. If false, an existing managed identity can be used, which may be shared across clusters or other resources. Users are responsible for managing the shared identity's lifecycle and permissions | boolean |
| name: | The unique name of the workload identity. | string |
| resourceGroup: | The Azure resource group that contains the workload identity. | string |
| location: | The Azure region where the workload identity is created. | string |
| clientId: | The client ID of the Azure AD application associated with the workload identity. Required when users bring their own identity for authentication and access to Azure resources | string |
| principalId: | The principal ID of the Azure AD application associated with the workload identity. Required when users bring their own identity for authentication and access to Azure resources | string |
| tags: | Tags associated with the workload identity. | object |
| name: | The name of the role assignment. | string |
| scope: | The Azure resource scope where the role assignment applies. | string |
| createAccount: | Indicates whether to create a new Kubernetes service account for the workload identity. | boolean |
| name: | The name of the Kubernetes service account. | string |
| namespace: | The Kubernetes namespace where the service account resides. | string |
| labels: | Labels associated with the Kubernetes service account | object |
| annotations: | Annotations associated with the Kubernetes service account | object |
Back to top