Packages:

infrastructure.cluster.x-k8s.io/v1beta1

Resource Types:

AzureMachinePool

AzureMachinePool is the Schema for the azuremachinepools API.

Field Description
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
AzureMachinePoolSpec


location
string

Location is the Azure region location e.g. westus2

template
AzureMachinePoolMachineTemplate

Template contains the details used to build a replica virtual machine within the Machine Pool

additionalTags
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.Tags
(Optional)

AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine’s value takes precedence.

providerID
string
(Optional)

ProviderID is the identification ID of the Virtual Machine Scale Set

providerIDList
[]string
(Optional)

ProviderIDList are the identification IDs of machine instances provided by the provider. This field must match the provider IDs as seen on the node objects corresponding to a machine pool’s machine instances.

identity
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.VMIdentity
(Optional)

Identity is the type of identity used for the Virtual Machine Scale Set. The type ‘SystemAssigned’ is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type ‘UserAssigned’ is a standalone Azure resource provided by the user and assigned to the VM

systemAssignedIdentityRole
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.SystemAssignedIdentityRole
(Optional)

SystemAssignedIdentityRole defines the role and scope to assign to the system assigned identity.

userAssignedIdentities
[]sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.UserAssignedIdentity
(Optional)

UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachinePool. See https://learn.microsoft.com/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli

roleAssignmentName
string
(Optional)

Deprecated: RoleAssignmentName should be set in the systemAssignedIdentityRole field.

strategy
AzureMachinePoolDeploymentStrategy
(Optional)

The deployment strategy to use to replace existing AzureMachinePoolMachines with new ones.

orchestrationMode
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.OrchestrationModeType

OrchestrationMode specifies the orchestration mode for the Virtual Machine Scale Set

platformFaultDomainCount
int32
(Optional)

PlatformFaultDomainCount specifies the number of fault domains that the Virtual Machine Scale Set can use. The count determines the spreading algorithm of the Azure fault domain.

zoneBalance
bool
(Optional)

ZoneBalane dictates whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage.

status
AzureMachinePoolStatus

AzureMachinePoolDeletePolicyType (string alias)

(Appears on:MachineRollingUpdateDeployment)

AzureMachinePoolDeletePolicyType is the type of DeletePolicy employed to select machines to be deleted during an upgrade.

Value Description

"Newest"

NewestDeletePolicyType will delete machines with the newest creation date first.

"Oldest"

OldestDeletePolicyType will delete machines with the oldest creation date first.

"Random"

RandomDeletePolicyType will delete machines in random order.

AzureMachinePoolDeploymentStrategy

(Appears on:AzureMachinePoolSpec)

AzureMachinePoolDeploymentStrategy describes how to replace existing machines with new ones.

Field Description
type
AzureMachinePoolDeploymentStrategyType
(Optional)

Type of deployment. Currently the only supported strategy is RollingUpdate

rollingUpdate
MachineRollingUpdateDeployment
(Optional)

Rolling update config params. Present only if MachineDeploymentStrategyType = RollingUpdate.

AzureMachinePoolDeploymentStrategyType (string alias)

(Appears on:AzureMachinePoolDeploymentStrategy)

AzureMachinePoolDeploymentStrategyType is the type of deployment strategy employed to rollout a new version of the AzureMachinePool.

Value Description

"RollingUpdate"

RollingUpdateAzureMachinePoolDeploymentStrategyType replaces AzureMachinePoolMachines with older models with AzureMachinePoolMachines based on the latest model. i.e. gradually scale down the old AzureMachinePoolMachines and scale up the new ones.

AzureMachinePoolInstanceStatus

(Appears on:AzureMachinePoolStatus)

AzureMachinePoolInstanceStatus provides status information for each instance in the VMSS.

Field Description
version
string
(Optional)

Version defines the Kubernetes version for the VM Instance

provisioningState
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.ProvisioningState
(Optional)

ProvisioningState is the provisioning state of the Azure virtual machine instance.

providerID
string
(Optional)

ProviderID is the provider identification of the VMSS Instance

instanceID
string
(Optional)

InstanceID is the identification of the Machine Instance within the VMSS

instanceName
string
(Optional)

InstanceName is the name of the Machine Instance within the VMSS

latestModelApplied
bool

LatestModelApplied indicates the instance is running the most up-to-date VMSS model. A VMSS model describes the image version the VM is running. If the instance is not running the latest model, it means the instance may not be running the version of Kubernetes the Machine Pool has specified and needs to be updated.

AzureMachinePoolMachine

AzureMachinePoolMachine is the Schema for the azuremachinepoolmachines API.

Field Description
metadata
Kubernetes meta/v1.ObjectMeta
Refer to the Kubernetes API documentation for the fields of the metadata field.
spec
AzureMachinePoolMachineSpec


providerID
string

ProviderID is the identification ID of the Virtual Machine Scale Set

instanceID
string
(Optional)

InstanceID is the identification of the Machine Instance within the VMSS

status
AzureMachinePoolMachineStatus

AzureMachinePoolMachineSpec

(Appears on:AzureMachinePoolMachine)

AzureMachinePoolMachineSpec defines the desired state of AzureMachinePoolMachine.

Field Description
providerID
string

ProviderID is the identification ID of the Virtual Machine Scale Set

instanceID
string
(Optional)

InstanceID is the identification of the Machine Instance within the VMSS

AzureMachinePoolMachineStatus

(Appears on:AzureMachinePoolMachine)

AzureMachinePoolMachineStatus defines the observed state of AzureMachinePoolMachine.

Field Description
nodeRef
Kubernetes core/v1.ObjectReference
(Optional)

NodeRef will point to the corresponding Node if it exists.

version
string
(Optional)

Version defines the Kubernetes version for the VM Instance

provisioningState
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.ProvisioningState
(Optional)

ProvisioningState is the provisioning state of the Azure virtual machine instance.

instanceName
string
(Optional)

InstanceName is the name of the Machine Instance within the VMSS

failureReason
string
(Optional)

FailureReason will be set in the event that there is a terminal problem reconciling the MachinePool machine and will contain a succinct value suitable for machine interpretation.

Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller’s output.

failureMessage
string
(Optional)

FailureMessage will be set in the event that there is a terminal problem reconciling the MachinePool and will contain a more verbose string suitable for logging and human consumption.

Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller’s output.

conditions
sigs.k8s.io/cluster-api/api/v1beta1.Conditions
(Optional)

Conditions defines current service state of the AzureMachinePool.

longRunningOperationStates
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.Futures
(Optional)

LongRunningOperationStates saves the state for Azure long running operations so they can be continued on the next reconciliation loop.

latestModelApplied
bool
(Optional)

LatestModelApplied indicates the instance is running the most up-to-date VMSS model. A VMSS model describes the image version the VM is running. If the instance is not running the latest model, it means the instance may not be running the version of Kubernetes the Machine Pool has specified and needs to be updated.

ready
bool
(Optional)

Ready is true when the provider resource is ready.

AzureMachinePoolMachineTemplate

(Appears on:AzureMachinePoolSpec)

AzureMachinePoolMachineTemplate defines the template for an AzureMachine.

Field Description
vmSize
string

VMSize is the size of the Virtual Machine to build. See https://learn.microsoft.com/rest/api/compute/virtualmachines/createorupdate#virtualmachinesizetypes

image
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.Image
(Optional)

Image is used to provide details of an image to use during VM creation. If image details are omitted the image will default the Azure Marketplace “capi” offer, which is based on Ubuntu.

osDisk
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.OSDisk

OSDisk contains the operating system disk information for a Virtual Machine

dataDisks
[]sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.DataDisk
(Optional)

DataDisks specifies the list of data disks to be created for a Virtual Machine

sshPublicKey
string
(Optional)

SSHPublicKey is the SSH public key string, base64-encoded to add to a Virtual Machine. Linux only. Refer to documentation on how to set up SSH access on Windows instances.

acceleratedNetworking
bool
(Optional)

Deprecated: AcceleratedNetworking should be set in the networkInterfaces field.

diagnostics
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.Diagnostics
(Optional)

Diagnostics specifies the diagnostics settings for a virtual machine. If not specified then Boot diagnostics (Managed) will be enabled.

terminateNotificationTimeout
int
(Optional)

TerminateNotificationTimeout enables or disables VMSS scheduled events termination notification with specified timeout allowed values are between 5 and 15 (mins)

securityProfile
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.SecurityProfile
(Optional)

SecurityProfile specifies the Security profile settings for a virtual machine.

spotVMOptions
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.SpotVMOptions
(Optional)

SpotVMOptions allows the ability to specify the Machine should use a Spot VM

subnetName
string
(Optional)

Deprecated: SubnetName should be set in the networkInterfaces field.

vmExtensions
[]sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.VMExtension
(Optional)

VMExtensions specifies a list of extensions to be added to the scale set.

networkInterfaces
[]sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.NetworkInterface
(Optional)

NetworkInterfaces specifies a list of network interface configurations. If left unspecified, the VM will get a single network interface with a single IPConfig in the subnet specified in the cluster’s node subnet field. The primary interface will be the first networkInterface specified (index 0) in the list.

AzureMachinePoolSpec

(Appears on:AzureMachinePool)

AzureMachinePoolSpec defines the desired state of AzureMachinePool.

Field Description
location
string

Location is the Azure region location e.g. westus2

template
AzureMachinePoolMachineTemplate

Template contains the details used to build a replica virtual machine within the Machine Pool

additionalTags
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.Tags
(Optional)

AdditionalTags is an optional set of tags to add to an instance, in addition to the ones added by default by the Azure provider. If both the AzureCluster and the AzureMachine specify the same tag name with different values, the AzureMachine’s value takes precedence.

providerID
string
(Optional)

ProviderID is the identification ID of the Virtual Machine Scale Set

providerIDList
[]string
(Optional)

ProviderIDList are the identification IDs of machine instances provided by the provider. This field must match the provider IDs as seen on the node objects corresponding to a machine pool’s machine instances.

identity
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.VMIdentity
(Optional)

Identity is the type of identity used for the Virtual Machine Scale Set. The type ‘SystemAssigned’ is an implicitly created identity. The generated identity will be assigned a Subscription contributor role. The type ‘UserAssigned’ is a standalone Azure resource provided by the user and assigned to the VM

systemAssignedIdentityRole
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.SystemAssignedIdentityRole
(Optional)

SystemAssignedIdentityRole defines the role and scope to assign to the system assigned identity.

userAssignedIdentities
[]sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.UserAssignedIdentity
(Optional)

UserAssignedIdentities is a list of standalone Azure identities provided by the user The lifecycle of a user-assigned identity is managed separately from the lifecycle of the AzureMachinePool. See https://learn.microsoft.com/azure/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-cli

roleAssignmentName
string
(Optional)

Deprecated: RoleAssignmentName should be set in the systemAssignedIdentityRole field.

strategy
AzureMachinePoolDeploymentStrategy
(Optional)

The deployment strategy to use to replace existing AzureMachinePoolMachines with new ones.

orchestrationMode
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.OrchestrationModeType

OrchestrationMode specifies the orchestration mode for the Virtual Machine Scale Set

platformFaultDomainCount
int32
(Optional)

PlatformFaultDomainCount specifies the number of fault domains that the Virtual Machine Scale Set can use. The count determines the spreading algorithm of the Azure fault domain.

zoneBalance
bool
(Optional)

ZoneBalane dictates whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage.

AzureMachinePoolStatus

(Appears on:AzureMachinePool)

AzureMachinePoolStatus defines the observed state of AzureMachinePool.

Field Description
ready
bool
(Optional)

Ready is true when the provider resource is ready.

replicas
int32
(Optional)

Replicas is the most recently observed number of replicas.

instances
[]AzureMachinePoolInstanceStatus
(Optional)

Instances is the VM instance status for each VM in the VMSS

image
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.Image
(Optional)

Image is the current image used in the AzureMachinePool. When the spec image is nil, this image is populated with the details of the defaulted Azure Marketplace “capi” offer.

version
string
(Optional)

Version is the Kubernetes version for the current VMSS model

provisioningState
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.ProvisioningState
(Optional)

ProvisioningState is the provisioning state of the Azure virtual machine.

failureReason
string
(Optional)

FailureReason will be set in the event that there is a terminal problem reconciling the MachinePool and will contain a succinct value suitable for machine interpretation.

This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the MachinePool’s spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured.

Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller’s output.

failureMessage
string
(Optional)

FailureMessage will be set in the event that there is a terminal problem reconciling the MachinePool and will contain a more verbose string suitable for logging and human consumption.

This field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the MachinePool’s spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured.

Any transient errors that occur during the reconciliation of MachinePools can be added as events to the MachinePool object and/or logged in the controller’s output.

conditions
sigs.k8s.io/cluster-api/api/v1beta1.Conditions
(Optional)

Conditions defines current service state of the AzureMachinePool.

longRunningOperationStates
sigs.k8s.io/cluster-api-provider-azure/api/v1beta1.Futures
(Optional)

LongRunningOperationStates saves the state for Azure long-running operations so they can be continued on the next reconciliation loop.

infrastructureMachineKind
string
(Optional)

InfrastructureMachineKind is the kind of the infrastructure resources behind MachinePool Machines.

MachineRollingUpdateDeployment

(Appears on:AzureMachinePoolDeploymentStrategy)

MachineRollingUpdateDeployment is used to control the desired behavior of rolling update.

Field Description
maxUnavailable
k8s.io/apimachinery/pkg/util/intstr.IntOrString
(Optional)

The maximum number of machines that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired machines (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 0. Example: when this is set to 30%, the old MachineSet can be scaled down to 70% of desired machines immediately when the rolling update starts. Once new machines are ready, old MachineSet can be scaled down further, followed by scaling up the new MachineSet, ensuring that the total number of machines available at all times during the update is at least 70% of desired machines.

maxSurge
k8s.io/apimachinery/pkg/util/intstr.IntOrString
(Optional)

The maximum number of machines that can be scheduled above the desired number of machines. Value can be an absolute number (ex: 5) or a percentage of desired machines (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 1. Example: when this is set to 30%, the new MachineSet can be scaled up immediately when the rolling update starts, such that the total number of old and new machines do not exceed 130% of desired machines. Once old machines have been killed, new MachineSet can be scaled up further, ensuring that total number of machines running at any time during the update is at most 130% of desired machines.

deletePolicy
AzureMachinePoolDeletePolicyType
(Optional)

DeletePolicy defines the policy used by the MachineDeployment to identify nodes to delete when downscaling. Valid values are “Random, “Newest”, “Oldest” When no value is supplied, the default is Oldest


Generated with gen-crd-api-reference-docs on git commit 30c0b162.