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