sigs.k8s.io/cluster-api-provider-azure@v1.17.0/config/crd/bases/infrastructure.cluster.x-k8s.io_azuremanagedmachinepooltemplates.yaml (about) 1 --- 2 apiVersion: apiextensions.k8s.io/v1 3 kind: CustomResourceDefinition 4 metadata: 5 annotations: 6 controller-gen.kubebuilder.io/version: v0.15.0 7 name: azuremanagedmachinepooltemplates.infrastructure.cluster.x-k8s.io 8 spec: 9 group: infrastructure.cluster.x-k8s.io 10 names: 11 categories: 12 - cluster-api 13 kind: AzureManagedMachinePoolTemplate 14 listKind: AzureManagedMachinePoolTemplateList 15 plural: azuremanagedmachinepooltemplates 16 shortNames: 17 - ammpt 18 singular: azuremanagedmachinepooltemplate 19 scope: Namespaced 20 versions: 21 - name: v1beta1 22 schema: 23 openAPIV3Schema: 24 description: AzureManagedMachinePoolTemplate is the Schema for the AzureManagedMachinePoolTemplates 25 API. 26 properties: 27 apiVersion: 28 description: |- 29 APIVersion defines the versioned schema of this representation of an object. 30 Servers should convert recognized schemas to the latest internal value, and 31 may reject unrecognized values. 32 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources 33 type: string 34 kind: 35 description: |- 36 Kind is a string value representing the REST resource this object represents. 37 Servers may infer this from the endpoint the client submits requests to. 38 Cannot be updated. 39 In CamelCase. 40 More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds 41 type: string 42 metadata: 43 type: object 44 spec: 45 description: AzureManagedMachinePoolTemplateSpec defines the desired state 46 of AzureManagedMachinePoolTemplate. 47 properties: 48 template: 49 description: AzureManagedMachinePoolTemplateResource describes the 50 data needed to create an AzureManagedCluster from a template. 51 properties: 52 spec: 53 description: AzureManagedMachinePoolTemplateResourceSpec specifies 54 an Azure managed control plane template resource. 55 properties: 56 additionalTags: 57 additionalProperties: 58 type: string 59 description: |- 60 AdditionalTags is an optional set of tags to add to Azure resources managed by the 61 Azure provider, in addition to the ones added by default. 62 type: object 63 asoManagedClustersAgentPoolPatches: 64 description: |- 65 ASOManagedClustersAgentPoolPatches defines JSON merge patches to be applied to the generated ASO ManagedClustersAgentPool resource. 66 WARNING: This is meant to be used sparingly to enable features for development and testing that are not 67 otherwise represented in the CAPZ API. Misconfiguration that conflicts with CAPZ's normal mode of 68 operation is possible. 69 items: 70 type: string 71 type: array 72 availabilityZones: 73 description: |- 74 AvailabilityZones - Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType. 75 Immutable. 76 items: 77 type: string 78 type: array 79 enableEncryptionAtHost: 80 description: |- 81 EnableEncryptionAtHost indicates whether host encryption is enabled on the node pool. 82 Immutable. 83 See also [AKS doc]. 84 85 86 [AKS doc]: https://learn.microsoft.com/en-us/azure/aks/enable-host-encryption 87 type: boolean 88 enableFIPS: 89 description: |- 90 EnableFIPS indicates whether FIPS is enabled on the node pool. 91 Immutable. 92 type: boolean 93 enableNodePublicIP: 94 description: |- 95 EnableNodePublicIP controls whether or not nodes in the pool each have a public IP address. 96 Immutable. 97 type: boolean 98 enableUltraSSD: 99 description: |- 100 EnableUltraSSD enables the storage type UltraSSD_LRS for the agent pool. 101 Immutable. 102 type: boolean 103 kubeletConfig: 104 description: |- 105 KubeletConfig specifies the kubelet configurations for nodes. 106 Immutable. 107 properties: 108 allowedUnsafeSysctls: 109 description: |- 110 AllowedUnsafeSysctls - Allowlist of unsafe sysctls or unsafe sysctl patterns (ending in `*`). 111 Valid values match `kernel.shm*`, `kernel.msg*`, `kernel.sem`, `fs.mqueue.*`, or `net.*`. 112 items: 113 type: string 114 type: array 115 containerLogMaxFiles: 116 description: ContainerLogMaxFiles - The maximum number 117 of container log files that can be present for a container. 118 The number must be ≥ 2. 119 minimum: 2 120 type: integer 121 containerLogMaxSizeMB: 122 description: ContainerLogMaxSizeMB - The maximum size 123 in MB of a container log file before it is rotated. 124 type: integer 125 cpuCfsQuota: 126 description: CPUCfsQuota - Enable CPU CFS quota enforcement 127 for containers that specify CPU limits. 128 type: boolean 129 cpuCfsQuotaPeriod: 130 description: |- 131 CPUCfsQuotaPeriod - Sets CPU CFS quota period value. 132 Must end in "ms", e.g. "100ms" 133 type: string 134 cpuManagerPolicy: 135 description: CPUManagerPolicy - CPU Manager policy to 136 use. 137 enum: 138 - none 139 - static 140 type: string 141 failSwapOn: 142 description: FailSwapOn - If set to true it will make 143 the Kubelet fail to start if swap is enabled on the 144 node. 145 type: boolean 146 imageGcHighThreshold: 147 description: |- 148 ImageGcHighThreshold - The percent of disk usage after which image garbage collection is always run. 149 Valid values are 0-100 (inclusive). 150 maximum: 100 151 minimum: 0 152 type: integer 153 imageGcLowThreshold: 154 description: |- 155 ImageGcLowThreshold - The percent of disk usage before which image garbage collection is never run. 156 Valid values are 0-100 (inclusive) and must be less than `imageGcHighThreshold`. 157 maximum: 100 158 minimum: 0 159 type: integer 160 podMaxPids: 161 description: |- 162 PodMaxPids - The maximum number of processes per pod. 163 Must not exceed kernel PID limit. -1 disables the limit. 164 minimum: -1 165 type: integer 166 topologyManagerPolicy: 167 description: TopologyManagerPolicy - Topology Manager 168 policy to use. 169 enum: 170 - none 171 - best-effort 172 - restricted 173 - single-numa-node 174 type: string 175 type: object 176 kubeletDiskType: 177 description: |- 178 KubeletDiskType specifies the kubelet disk type. Default to OS. Possible values include: 'OS', 'Temporary'. 179 Requires Microsoft.ContainerService/KubeletDisk preview feature to be set. 180 Immutable. 181 See also [AKS doc]. 182 183 184 [AKS doc]: https://learn.microsoft.com/rest/api/aks/agent-pools/create-or-update?tabs=HTTP#kubeletdisktype 185 enum: 186 - OS 187 - Temporary 188 type: string 189 linuxOSConfig: 190 description: |- 191 LinuxOSConfig specifies the custom Linux OS settings and configurations. 192 Immutable. 193 properties: 194 swapFileSizeMB: 195 description: |- 196 SwapFileSizeMB specifies size in MB of a swap file will be created on the agent nodes from this node pool. 197 Max value of SwapFileSizeMB should be the size of temporary disk(/dev/sdb). 198 Must be at least 1. 199 See also [AKS doc]. 200 201 202 [AKS doc]: https://learn.microsoft.com/azure/virtual-machines/managed-disks-overview#temporary-disk 203 minimum: 1 204 type: integer 205 sysctls: 206 description: Sysctl specifies the settings for Linux agent 207 nodes. 208 properties: 209 fsAioMaxNr: 210 description: |- 211 FsAioMaxNr specifies the maximum number of system-wide asynchronous io requests. 212 Valid values are 65536-6553500 (inclusive). 213 Maps to fs.aio-max-nr. 214 maximum: 6553500 215 minimum: 65536 216 type: integer 217 fsFileMax: 218 description: |- 219 FsFileMax specifies the max number of file-handles that the Linux kernel will allocate, by increasing increases the maximum number of open files permitted. 220 Valid values are 8192-12000500 (inclusive). 221 Maps to fs.file-max. 222 maximum: 12000500 223 minimum: 8192 224 type: integer 225 fsInotifyMaxUserWatches: 226 description: |- 227 FsInotifyMaxUserWatches specifies the number of file watches allowed by the system. Each watch is roughly 90 bytes on a 32-bit kernel, and roughly 160 bytes on a 64-bit kernel. 228 Valid values are 781250-2097152 (inclusive). 229 Maps to fs.inotify.max_user_watches. 230 maximum: 2097152 231 minimum: 781250 232 type: integer 233 fsNrOpen: 234 description: |- 235 FsNrOpen specifies the maximum number of file-handles a process can allocate. 236 Valid values are 8192-20000500 (inclusive). 237 Maps to fs.nr_open. 238 maximum: 20000500 239 minimum: 8192 240 type: integer 241 kernelThreadsMax: 242 description: |- 243 KernelThreadsMax specifies the maximum number of all threads that can be created. 244 Valid values are 20-513785 (inclusive). 245 Maps to kernel.threads-max. 246 maximum: 513785 247 minimum: 20 248 type: integer 249 netCoreNetdevMaxBacklog: 250 description: |- 251 NetCoreNetdevMaxBacklog specifies maximum number of packets, queued on the INPUT side, when the interface receives packets faster than kernel can process them. 252 Valid values are 1000-3240000 (inclusive). 253 Maps to net.core.netdev_max_backlog. 254 maximum: 3240000 255 minimum: 1000 256 type: integer 257 netCoreOptmemMax: 258 description: |- 259 NetCoreOptmemMax specifies the maximum ancillary buffer size (option memory buffer) allowed per socket. 260 Socket option memory is used in a few cases to store extra structures relating to usage of the socket. 261 Valid values are 20480-4194304 (inclusive). 262 Maps to net.core.optmem_max. 263 maximum: 4194304 264 minimum: 20480 265 type: integer 266 netCoreRmemDefault: 267 description: |- 268 NetCoreRmemDefault specifies the default receive socket buffer size in bytes. 269 Valid values are 212992-134217728 (inclusive). 270 Maps to net.core.rmem_default. 271 maximum: 134217728 272 minimum: 212992 273 type: integer 274 netCoreRmemMax: 275 description: |- 276 NetCoreRmemMax specifies the maximum receive socket buffer size in bytes. 277 Valid values are 212992-134217728 (inclusive). 278 Maps to net.core.rmem_max. 279 maximum: 134217728 280 minimum: 212992 281 type: integer 282 netCoreSomaxconn: 283 description: |- 284 NetCoreSomaxconn specifies maximum number of connection requests that can be queued for any given listening socket. 285 An upper limit for the value of the backlog parameter passed to the listen(2)(https://man7.org/linux/man-pages/man2/listen.2.html) function. 286 If the backlog argument is greater than the somaxconn, then it's silently truncated to this limit. 287 Valid values are 4096-3240000 (inclusive). 288 Maps to net.core.somaxconn. 289 maximum: 3240000 290 minimum: 4096 291 type: integer 292 netCoreWmemDefault: 293 description: |- 294 NetCoreWmemDefault specifies the default send socket buffer size in bytes. 295 Valid values are 212992-134217728 (inclusive). 296 Maps to net.core.wmem_default. 297 maximum: 134217728 298 minimum: 212992 299 type: integer 300 netCoreWmemMax: 301 description: |- 302 NetCoreWmemMax specifies the maximum send socket buffer size in bytes. 303 Valid values are 212992-134217728 (inclusive). 304 Maps to net.core.wmem_max. 305 maximum: 134217728 306 minimum: 212992 307 type: integer 308 netIpv4IPLocalPortRange: 309 description: |- 310 NetIpv4IPLocalPortRange is used by TCP and UDP traffic to choose the local port on the agent node. 311 PortRange should be specified in the format "first last". 312 First, being an integer, must be between [1024 - 60999]. 313 Last, being an integer, must be between [32768 - 65000]. 314 Maps to net.ipv4.ip_local_port_range. 315 type: string 316 netIpv4NeighDefaultGcThresh1: 317 description: |- 318 NetIpv4NeighDefaultGcThresh1 specifies the minimum number of entries that may be in the ARP cache. 319 Garbage collection won't be triggered if the number of entries is below this setting. 320 Valid values are 128-80000 (inclusive). 321 Maps to net.ipv4.neigh.default.gc_thresh1. 322 maximum: 80000 323 minimum: 128 324 type: integer 325 netIpv4NeighDefaultGcThresh2: 326 description: |- 327 NetIpv4NeighDefaultGcThresh2 specifies soft maximum number of entries that may be in the ARP cache. 328 ARP garbage collection will be triggered about 5 seconds after reaching this soft maximum. 329 Valid values are 512-90000 (inclusive). 330 Maps to net.ipv4.neigh.default.gc_thresh2. 331 maximum: 90000 332 minimum: 512 333 type: integer 334 netIpv4NeighDefaultGcThresh3: 335 description: |- 336 NetIpv4NeighDefaultGcThresh3 specified hard maximum number of entries in the ARP cache. 337 Valid values are 1024-100000 (inclusive). 338 Maps to net.ipv4.neigh.default.gc_thresh3. 339 maximum: 100000 340 minimum: 1024 341 type: integer 342 netIpv4TCPFinTimeout: 343 description: |- 344 NetIpv4TCPFinTimeout specifies the length of time an orphaned connection will remain in the FIN_WAIT_2 state before it's aborted at the local end. 345 Valid values are 5-120 (inclusive). 346 Maps to net.ipv4.tcp_fin_timeout. 347 maximum: 120 348 minimum: 5 349 type: integer 350 netIpv4TCPKeepaliveProbes: 351 description: |- 352 NetIpv4TCPKeepaliveProbes specifies the number of keepalive probes TCP sends out, until it decides the connection is broken. 353 Valid values are 1-15 (inclusive). 354 Maps to net.ipv4.tcp_keepalive_probes. 355 maximum: 15 356 minimum: 1 357 type: integer 358 netIpv4TCPKeepaliveTime: 359 description: |- 360 NetIpv4TCPKeepaliveTime specifies the rate at which TCP sends out a keepalive message when keepalive is enabled. 361 Valid values are 30-432000 (inclusive). 362 Maps to net.ipv4.tcp_keepalive_time. 363 maximum: 432000 364 minimum: 30 365 type: integer 366 netIpv4TCPMaxSynBacklog: 367 description: |- 368 NetIpv4TCPMaxSynBacklog specifies the maximum number of queued connection requests that have still not received an acknowledgment from the connecting client. 369 If this number is exceeded, the kernel will begin dropping requests. 370 Valid values are 128-3240000 (inclusive). 371 Maps to net.ipv4.tcp_max_syn_backlog. 372 maximum: 3240000 373 minimum: 128 374 type: integer 375 netIpv4TCPMaxTwBuckets: 376 description: |- 377 NetIpv4TCPMaxTwBuckets specifies maximal number of timewait sockets held by system simultaneously. 378 If this number is exceeded, time-wait socket is immediately destroyed and warning is printed. 379 Valid values are 8000-1440000 (inclusive). 380 Maps to net.ipv4.tcp_max_tw_buckets. 381 maximum: 1440000 382 minimum: 8000 383 type: integer 384 netIpv4TCPTwReuse: 385 description: |- 386 NetIpv4TCPTwReuse is used to allow to reuse TIME-WAIT sockets for new connections when it's safe from protocol viewpoint. 387 Maps to net.ipv4.tcp_tw_reuse. 388 type: boolean 389 netIpv4TCPkeepaliveIntvl: 390 description: |- 391 NetIpv4TCPkeepaliveIntvl specifies the frequency of the probes sent out. 392 Multiplied by tcpKeepaliveprobes, it makes up the time to kill a connection that isn't responding, after probes started. 393 Valid values are 1-75 (inclusive). 394 Maps to net.ipv4.tcp_keepalive_intvl. 395 maximum: 75 396 minimum: 1 397 type: integer 398 netNetfilterNfConntrackBuckets: 399 description: |- 400 NetNetfilterNfConntrackBuckets specifies the size of hash table used by nf_conntrack module to record the established connection record of the TCP protocol. 401 Valid values are 65536-147456 (inclusive). 402 Maps to net.netfilter.nf_conntrack_buckets. 403 maximum: 147456 404 minimum: 65536 405 type: integer 406 netNetfilterNfConntrackMax: 407 description: |- 408 NetNetfilterNfConntrackMax specifies the maximum number of connections supported by the nf_conntrack module or the size of connection tracking table. 409 Valid values are 131072-1048576 (inclusive). 410 Maps to net.netfilter.nf_conntrack_max. 411 maximum: 1048576 412 minimum: 131072 413 type: integer 414 vmMaxMapCount: 415 description: |- 416 VMMaxMapCount specifies the maximum number of memory map areas a process may have. 417 Maps to vm.max_map_count. 418 Valid values are 65530-262144 (inclusive). 419 maximum: 262144 420 minimum: 65530 421 type: integer 422 vmSwappiness: 423 description: |- 424 VMSwappiness specifies aggressiveness of the kernel in swapping memory pages. 425 Higher values will increase aggressiveness, lower values decrease the amount of swap. 426 Valid values are 0-100 (inclusive). 427 Maps to vm.swappiness. 428 maximum: 100 429 minimum: 0 430 type: integer 431 vmVfsCachePressure: 432 description: |- 433 VMVfsCachePressure specifies the percentage value that controls tendency of the kernel to reclaim the memory, which is used for caching of directory and inode objects. 434 Valid values are 1-500 (inclusive). 435 Maps to vm.vfs_cache_pressure. 436 maximum: 500 437 minimum: 1 438 type: integer 439 type: object 440 transparentHugePageDefrag: 441 description: |- 442 TransparentHugePageDefrag specifies whether the kernel should make aggressive use of memory compaction to make more hugepages available. 443 See also [Linux doc]. 444 445 446 [Linux doc]: https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge for more details. 447 enum: 448 - always 449 - defer 450 - defer+madvise 451 - madvise 452 - never 453 type: string 454 transparentHugePageEnabled: 455 description: |- 456 TransparentHugePageEnabled specifies various modes of Transparent Hugepages. 457 See also [Linux doc]. 458 459 460 [Linux doc]: https://www.kernel.org/doc/html/latest/admin-guide/mm/transhuge.html#admin-guide-transhuge for more details. 461 enum: 462 - always 463 - madvise 464 - never 465 type: string 466 type: object 467 maxPods: 468 description: |- 469 MaxPods specifies the kubelet `--max-pods` configuration for the node pool. 470 Immutable. 471 See also [AKS doc], [K8s doc]. 472 473 474 [AKS doc]: https://learn.microsoft.com/azure/aks/configure-azure-cni#configure-maximum---new-clusters 475 [K8s doc]: https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/ 476 type: integer 477 mode: 478 description: 'Mode represents the mode of an agent pool. Possible 479 values include: System, User.' 480 enum: 481 - System 482 - User 483 type: string 484 name: 485 description: |- 486 Name is the name of the agent pool. If not specified, CAPZ uses the name of the CR as the agent pool name. 487 Immutable. 488 type: string 489 nodeLabels: 490 additionalProperties: 491 type: string 492 description: |- 493 Node labels represent the labels for all of the nodes present in node pool. 494 See also [AKS doc]. 495 496 497 [AKS doc]: https://learn.microsoft.com/azure/aks/use-labels 498 type: object 499 nodePublicIPPrefixID: 500 description: |- 501 NodePublicIPPrefixID specifies the public IP prefix resource ID which VM nodes should use IPs from. 502 Immutable. 503 type: string 504 osDiskSizeGB: 505 description: |- 506 OSDiskSizeGB is the disk size for every machine in this agent pool. 507 If you specify 0, it will apply the default osDisk size according to the vmSize specified. 508 Immutable. 509 type: integer 510 osDiskType: 511 default: Managed 512 description: |- 513 OsDiskType specifies the OS disk type for each node in the pool. Allowed values are 'Ephemeral' and 'Managed' (default). 514 Immutable. 515 See also [AKS doc]. 516 517 518 [AKS doc]: https://learn.microsoft.com/azure/aks/cluster-configuration#ephemeral-os 519 enum: 520 - Ephemeral 521 - Managed 522 type: string 523 osType: 524 description: |- 525 OSType specifies the virtual machine operating system. Default to Linux. Possible values include: 'Linux', 'Windows'. 526 'Windows' requires the AzureManagedControlPlane's `spec.networkPlugin` to be `azure`. 527 Immutable. 528 See also [AKS doc]. 529 530 531 [AKS doc]: https://learn.microsoft.com/rest/api/aks/agent-pools/create-or-update?tabs=HTTP#ostype 532 enum: 533 - Linux 534 - Windows 535 type: string 536 scaleDownMode: 537 default: Delete 538 description: 'ScaleDownMode affects the cluster autoscaler 539 behavior. Default to Delete. Possible values include: ''Deallocate'', 540 ''Delete''' 541 enum: 542 - Deallocate 543 - Delete 544 type: string 545 scaleSetPriority: 546 description: |- 547 ScaleSetPriority specifies the ScaleSetPriority value. Default to Regular. Possible values include: 'Regular', 'Spot' 548 Immutable. 549 enum: 550 - Regular 551 - Spot 552 type: string 553 scaling: 554 description: Scaling specifies the autoscaling parameters 555 for the node pool. 556 properties: 557 maxSize: 558 description: MaxSize is the maximum number of nodes for 559 auto-scaling. 560 type: integer 561 minSize: 562 description: MinSize is the minimum number of nodes for 563 auto-scaling. 564 type: integer 565 type: object 566 sku: 567 description: |- 568 SKU is the size of the VMs in the node pool. 569 Immutable. 570 type: string 571 spotMaxPrice: 572 anyOf: 573 - type: integer 574 - type: string 575 description: |- 576 SpotMaxPrice defines max price to pay for spot instance. Possible values are any decimal value greater than zero or -1. 577 If you set the max price to be -1, the VM won't be evicted based on price. The price for the VM will be the current price 578 for spot or the price for a standard VM, which ever is less, as long as there's capacity and quota available. 579 pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ 580 x-kubernetes-int-or-string: true 581 subnetName: 582 description: |- 583 SubnetName specifies the Subnet where the MachinePool will be placed 584 Immutable. 585 type: string 586 taints: 587 description: |- 588 Taints specifies the taints for nodes present in this agent pool. 589 See also [AKS doc]. 590 591 592 [AKS doc]: https://learn.microsoft.com/azure/aks/use-multiple-node-pools#setting-node-pool-taints 593 items: 594 description: Taint represents a Kubernetes taint. 595 properties: 596 effect: 597 description: Effect specifies the effect for the taint 598 enum: 599 - NoSchedule 600 - NoExecute 601 - PreferNoSchedule 602 type: string 603 key: 604 description: Key is the key of the taint 605 type: string 606 value: 607 description: Value is the value of the taint 608 type: string 609 required: 610 - effect 611 - key 612 - value 613 type: object 614 type: array 615 required: 616 - mode 617 - sku 618 type: object 619 required: 620 - spec 621 type: object 622 required: 623 - template 624 type: object 625 type: object 626 served: true 627 storage: true