22 minute read  

Specification

ProviderSpec Schema


AWSMachineClass

AWSMachineClass TODO

FieldTypeDescription
apiVersionstringmachine.sapcloud.io.v1alpha1
kindstringAWSMachineClass
metadataKubernetes meta/v1.ObjectMeta(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
specAWSMachineClassSpec(Optional)

amistring
regionstring
blockDevices[]AWSBlockDeviceMappingSpec
ebsOptimizedbool
iamAWSIAMProfileSpec
machineTypestring
keyNamestring
monitoringbool
networkInterfaces[]AWSNetworkInterfaceSpec
tagsmap[string]string
spotPrice*string
secretRefKubernetes core/v1.SecretReference
credentialsSecretRefKubernetes core/v1.SecretReference

AlicloudMachineClass

AlicloudMachineClass TODO

FieldTypeDescription
apiVersionstringmachine.sapcloud.io.v1alpha1
kindstringAlicloudMachineClass
metadataKubernetes meta/v1.ObjectMeta(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
specAlicloudMachineClassSpec(Optional)

imageIDstring
instanceTypestring
regionstring
zoneIDstring
securityGroupIDstring
vSwitchIDstring
privateIPAddressstring
systemDiskAlicloudSystemDisk
dataDisks[]AlicloudDataDisk
instanceChargeTypestring
internetChargeTypestring
internetMaxBandwidthIn*int
internetMaxBandwidthOut*int
spotStrategystring
IoOptimizedstring
tagsmap[string]string
keyPairNamestring
secretRefKubernetes core/v1.SecretReference
credentialsSecretRefKubernetes core/v1.SecretReference

AzureMachineClass

AzureMachineClass TODO

FieldTypeDescription
apiVersionstringmachine.sapcloud.io.v1alpha1
kindstringAzureMachineClass
metadataKubernetes meta/v1.ObjectMeta(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
specAzureMachineClassSpec(Optional)

locationstring
tagsmap[string]string
propertiesAzureVirtualMachineProperties
resourceGroupstring
subnetInfoAzureSubnetInfo
secretRefKubernetes core/v1.SecretReference
credentialsSecretRefKubernetes core/v1.SecretReference

GCPMachineClass

GCPMachineClass TODO

FieldTypeDescription
apiVersionstringmachine.sapcloud.io.v1alpha1
kindstringGCPMachineClass
metadataKubernetes meta/v1.ObjectMeta(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
specGCPMachineClassSpec(Optional)

canIpForwardbool
deletionProtectionbool
description*string
disks[]*github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.GCPDisk
labelsmap[string]string
machineTypestring
metadata[]*github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.GCPMetadata
networkInterfaces[]*github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.GCPNetworkInterface
schedulingGCPScheduling
secretRefKubernetes core/v1.SecretReference
credentialsSecretRefKubernetes core/v1.SecretReference
serviceAccounts[]GCPServiceAccount
tags[]string
regionstring
zonestring

Machine

Machine is the representation of a physical or virtual machine.

FieldTypeDescription
apiVersionstringmachine.sapcloud.io.v1alpha1
kindstringMachine
metadataKubernetes meta/v1.ObjectMeta

ObjectMeta for machine object

Refer to the Kubernetes API documentation for the fields of the metadata field.
specMachineSpec

Spec contains the specification of the machine



classClassSpec(Optional)

Class contains the machineclass attributes of a machine

providerIDstring(Optional)

ProviderID represents the provider’s unique ID given to a machine

nodeTemplateNodeTemplateSpec(Optional)

NodeTemplateSpec describes the data a node should have when created from a template

MachineConfigurationMachineConfiguration

(Members of MachineConfiguration are embedded into this type.)

(Optional)

Configuration for the machine-controller.

statusMachineStatus

Status contains fields depicting the status


MachineClass

MachineClass can be used to templatize and re-use provider configuration across multiple Machines / MachineSets / MachineDeployments.

FieldTypeDescription
apiVersionstringmachine.sapcloud.io.v1alpha1
kindstringMachineClass
metadataKubernetes meta/v1.ObjectMeta(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
nodeTemplateNodeTemplate(Optional)

NodeTemplate contains subfields to track all node resources and other node info required to scale nodegroup from zero

credentialsSecretRefKubernetes core/v1.SecretReference

CredentialsSecretRef can optionally store the credentials (in this case the SecretRef does not need to store them). This might be useful if multiple machine classes with the same credentials but different user-datas are used.

providerSpeck8s.io/apimachinery/pkg/runtime.RawExtension

Provider-specific configuration to use during node creation.

providerstring

Provider is the combination of name and location of cloud-specific drivers.

secretRefKubernetes core/v1.SecretReference

SecretRef stores the necessary secrets such as credentials or userdata.


MachineSet

MachineSet TODO

FieldTypeDescription
apiVersionstringmachine.sapcloud.io.v1alpha1
kindstringMachineSet
metadataKubernetes meta/v1.ObjectMeta(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
specMachineSetSpec(Optional)

replicasint32(Optional)
selectorKubernetes meta/v1.LabelSelector(Optional)
machineClassClassSpec(Optional)
templateMachineTemplateSpec(Optional)
minReadySecondsint32(Optional)
statusMachineSetStatus(Optional)

PacketMachineClass

PacketMachineClass TODO

FieldTypeDescription
apiVersionstringmachine.sapcloud.io.v1alpha1
kindstringPacketMachineClass
metadataKubernetes meta/v1.ObjectMeta(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
specPacketMachineClassSpec(Optional)

facility[]string
machineTypestring
billingCyclestring
OSstring
projectIDstring
tags[]string
sshKeys[]string
userdatastring
secretRefKubernetes core/v1.SecretReference
credentialsSecretRefKubernetes core/v1.SecretReference

AWSBlockDeviceMappingSpec

(Appears on: AWSMachineClassSpec)

FieldTypeDescription
deviceNamestring

The device name exposed to the machine (for example, /dev/sdh or xvdh).

ebsAWSEbsBlockDeviceSpec

Parameters used to automatically set up EBS volumes when the machine is launched.

noDevicestring

Suppresses the specified device included in the block device mapping of the AMI.

virtualNamestring

The virtual device name (ephemeralN). Machine store volumes are numbered starting from 0. An machine type with 2 available machine store volumes can specify mappings for ephemeral0 and ephemeral1.The number of available machine store volumes depends on the machine type. After you connect to the machine, you must mount the volume.

Constraints: For M3 machines, you must specify machine store volumes in the block device mapping for the machine. When you launch an M3 machine, we ignore any machine store volumes specified in the block device mapping for the AMI.


AWSEbsBlockDeviceSpec

(Appears on: AWSBlockDeviceMappingSpec)

Describes a block device for an EBS volume. Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/EbsBlockDevice

FieldTypeDescription
deleteOnTermination*bool

Indicates whether the EBS volume is deleted on machine termination.

encryptedbool

Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS volumes may only be attached to machines that support Amazon EBS encryption.

iopsint64

The number of I/O operations per second (IOPS) that the volume supports. For io1, this represents the number of IOPS that are provisioned for the volume. For gp2, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. For more information about General Purpose SSD baseline performance, I/O credits, and bursting, see Amazon EBS Volume Types (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) in the Amazon Elastic Compute Cloud User Guide.

Constraint: Range is 100-20000 IOPS for io1 volumes and 100-10000 IOPS for gp2 volumes.

Condition: This parameter is required for requests to create io1 volumes; it is not used in requests to create gp2, st1, sc1, or standard volumes.

kmsKeyID*string

Identifier (key ID, key alias, ID ARN, or alias ARN) for a customer managed CMK under which the EBS volume is encrypted.

This parameter is only supported on BlockDeviceMapping objects called by RunInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html), RequestSpotFleet (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html), and RequestSpotInstances (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html).

snapshotID*string

The ID of the snapshot.

volumeSizeint64

The size of the volume, in GiB.

Constraints: 1-16384 for General Purpose SSD (gp2), 4-16384 for Provisioned IOPS SSD (io1), 500-16384 for Throughput Optimized HDD (st1), 500-16384 for Cold HDD (sc1), and 1-1024 for Magnetic (standard) volumes. If you specify a snapshot, the volume size must be equal to or larger than the snapshot size.

Default: If you’re creating the volume from a snapshot and don’t specify a volume size, the default is the snapshot size.

volumeTypestring

The volume type: gp2, io1, st1, sc1, or standard.

Default: standard


AWSIAMProfileSpec

(Appears on: AWSMachineClassSpec)

Describes an IAM machine profile.

FieldTypeDescription
arnstring

The Amazon Resource Name (ARN) of the machine profile.

namestring

The name of the machine profile.


AWSMachineClassSpec

(Appears on: AWSMachineClass)

AWSMachineClassSpec is the specification of a AWSMachineClass.

FieldTypeDescription
amistring
regionstring
blockDevices[]AWSBlockDeviceMappingSpec
ebsOptimizedbool
iamAWSIAMProfileSpec
machineTypestring
keyNamestring
monitoringbool
networkInterfaces[]AWSNetworkInterfaceSpec
tagsmap[string]string
spotPrice*string
secretRefKubernetes core/v1.SecretReference
credentialsSecretRefKubernetes core/v1.SecretReference

AWSNetworkInterfaceSpec

(Appears on: AWSMachineClassSpec)

Describes a network interface. Please also see https://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/MachineAWSNetworkInterfaceSpecification

FieldTypeDescription
associatePublicIPAddress*bool

Indicates whether to assign a public IPv4 address to an machine you launch in a VPC. The public IP address can only be assigned to a network interface for eth0, and can only be assigned to a new network interface, not an existing one. You cannot specify more than one network interface in the request. If launching into a default subnet, the default value is true.

deleteOnTermination*bool

If set to true, the interface is deleted when the machine is terminated. You can specify true only if creating a new network interface when launching an machine.

description*string

The description of the network interface. Applies only if creating a network interface when launching an machine.

securityGroupIDs[]string

The IDs of the security groups for the network interface. Applies only if creating a network interface when launching an machine.

subnetIDstring

The ID of the subnet associated with the network string. Applies only if creating a network interface when launching an machine.


AlicloudDataDisk

(Appears on: AlicloudMachineClassSpec)

FieldTypeDescription
namestring
categorystring
descriptionstring(Optional)
encryptedbool
deleteWithInstance*bool
sizeint

AlicloudMachineClassSpec

(Appears on: AlicloudMachineClass)

AlicloudMachineClassSpec is the specification of a AlicloudMachineClass.

FieldTypeDescription
imageIDstring
instanceTypestring
regionstring
zoneIDstring
securityGroupIDstring
vSwitchIDstring
privateIPAddressstring
systemDiskAlicloudSystemDisk
dataDisks[]AlicloudDataDisk
instanceChargeTypestring
internetChargeTypestring
internetMaxBandwidthIn*int
internetMaxBandwidthOut*int
spotStrategystring
IoOptimizedstring
tagsmap[string]string
keyPairNamestring
secretRefKubernetes core/v1.SecretReference
credentialsSecretRefKubernetes core/v1.SecretReference

AlicloudSystemDisk

(Appears on: AlicloudMachineClassSpec)

AlicloudSystemDisk describes SystemDisk for Alicloud.

FieldTypeDescription
categorystring
sizeint

AzureDataDisk

(Appears on: AzureStorageProfile)

FieldTypeDescription
namestring
lun*int32
cachingstring
storageAccountTypestring
diskSizeGBint32

AzureHardwareProfile

(Appears on: AzureVirtualMachineProperties)

AzureHardwareProfile is specifies the hardware settings for the virtual machine. Refer github.com/Azure/azure-sdk-for-go/arm/compute/models.go for VMSizes

FieldTypeDescription
vmSizestring

AzureImageReference

(Appears on: AzureStorageProfile)

AzureImageReference is specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations.

FieldTypeDescription
idstring
urn*string

Uniform Resource Name of the OS image to be used , it has the format ‘publisher:offer:sku:version’


AzureLinuxConfiguration

(Appears on: AzureOSProfile)

AzureLinuxConfiguration is specifies the Linux operating system settings on the virtual machine.

For a list of supported Linux distributions, see Endorsed Linux distributions on Azure Distributions

For running non-endorsed distributions, see Information for community supported and non-endorsed distributions.

FieldTypeDescription
disablePasswordAuthenticationbool
sshAzureSSHConfiguration

AzureMachineClassSpec

(Appears on: AzureMachineClass)

AzureMachineClassSpec is the specification of a AzureMachineClass.

FieldTypeDescription
locationstring
tagsmap[string]string
propertiesAzureVirtualMachineProperties
resourceGroupstring
subnetInfoAzureSubnetInfo
secretRefKubernetes core/v1.SecretReference
credentialsSecretRefKubernetes core/v1.SecretReference

AzureMachineSetConfig

(Appears on: AzureVirtualMachineProperties)

AzureMachineSetConfig contains the information about the machine set

FieldTypeDescription
idstring
kindstring

AzureManagedDiskParameters

(Appears on: AzureOSDisk)

AzureManagedDiskParameters is the parameters of a managed disk.

FieldTypeDescription
idstring
storageAccountTypestring

AzureNetworkInterfaceReference

(Appears on: AzureNetworkProfile)

AzureNetworkInterfaceReference is describes a network interface reference.

FieldTypeDescription
idstring
propertiesAzureNetworkInterfaceReferenceProperties

AzureNetworkInterfaceReferenceProperties

(Appears on: AzureNetworkInterfaceReference)

AzureNetworkInterfaceReferenceProperties is describes a network interface reference properties.

FieldTypeDescription
primarybool

AzureNetworkProfile

(Appears on: AzureVirtualMachineProperties)

AzureNetworkProfile is specifies the network interfaces of the virtual machine.

FieldTypeDescription
networkInterfacesAzureNetworkInterfaceReference
acceleratedNetworking*bool

AzureOSDisk

(Appears on: AzureStorageProfile)

AzureOSDisk specifies information about the operating system disk used by the virtual machine.

For more information about disks, see Introduction to Azure managed disks.

FieldTypeDescription
namestring
cachingstring
managedDiskAzureManagedDiskParameters
diskSizeGBint32
createOptionstring

AzureOSProfile

(Appears on: AzureVirtualMachineProperties)

AzureOSProfile is specifies the operating system settings for the virtual machine.

FieldTypeDescription
computerNamestring
adminUsernamestring
adminPasswordstring
customDatastring
linuxConfigurationAzureLinuxConfiguration

AzureSSHConfiguration

(Appears on: AzureLinuxConfiguration)

AzureSSHConfiguration is SSH configuration for Linux based VMs running on Azure

FieldTypeDescription
publicKeysAzureSSHPublicKey

AzureSSHPublicKey

(Appears on: AzureSSHConfiguration)

AzureSSHPublicKey is contains information about SSH certificate public key and the path on the Linux VM where the public key is placed.

FieldTypeDescription
pathstring
keyDatastring

AzureStorageProfile

(Appears on: AzureVirtualMachineProperties)

AzureStorageProfile is specifies the storage settings for the virtual machine disks.

FieldTypeDescription
imageReferenceAzureImageReference
osDiskAzureOSDisk
dataDisks[]AzureDataDisk

AzureSubResource

(Appears on: AzureVirtualMachineProperties)

AzureSubResource is the Sub Resource definition.

FieldTypeDescription
idstring

AzureSubnetInfo

(Appears on: AzureMachineClassSpec)

AzureSubnetInfo is the information containing the subnet details

FieldTypeDescription
vnetNamestring
vnetResourceGroup*string
subnetNamestring

AzureVirtualMachineProperties

(Appears on: AzureMachineClassSpec)

AzureVirtualMachineProperties is describes the properties of a Virtual Machine.

FieldTypeDescription
hardwareProfileAzureHardwareProfile
storageProfileAzureStorageProfile
osProfileAzureOSProfile
networkProfileAzureNetworkProfile
availabilitySetAzureSubResource
identityID*string
zone*int
machineSetAzureMachineSetConfig

ClassSpec

(Appears on: MachineSetSpec, MachineSpec)

ClassSpec is the class specification of machine

FieldTypeDescription
apiGroupstring

API group to which it belongs

kindstring

Kind for machine class

namestring

Name of machine class


ConditionStatus (string alias)

(Appears on: MachineDeploymentCondition, MachineSetCondition)


CurrentStatus

(Appears on: MachineStatus)

CurrentStatus contains information about the current status of Machine.

FieldTypeDescription
phaseMachinePhase
timeoutActivebool
lastUpdateTimeKubernetes meta/v1.Time

Last update time of current status


GCPDisk

GCPDisk describes disks for GCP.

FieldTypeDescription
autoDelete*bool
bootbool
sizeGbint64
typestring
interfacestring
imagestring
labelsmap[string]string

GCPMachineClassSpec

(Appears on: GCPMachineClass)

GCPMachineClassSpec is the specification of a GCPMachineClass.

FieldTypeDescription
canIpForwardbool
deletionProtectionbool
description*string
disks[]*github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.GCPDisk
labelsmap[string]string
machineTypestring
metadata[]*github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.GCPMetadata
networkInterfaces[]*github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.GCPNetworkInterface
schedulingGCPScheduling
secretRefKubernetes core/v1.SecretReference
credentialsSecretRefKubernetes core/v1.SecretReference
serviceAccounts[]GCPServiceAccount
tags[]string
regionstring
zonestring

GCPMetadata

GCPMetadata describes metadata for GCP.

FieldTypeDescription
keystring
value*string

GCPNetworkInterface

GCPNetworkInterface describes network interfaces for GCP

FieldTypeDescription
disableExternalIPbool
networkstring
subnetworkstring

GCPScheduling

(Appears on: GCPMachineClassSpec)

GCPScheduling describes scheduling configuration for GCP.

FieldTypeDescription
automaticRestartbool
onHostMaintenancestring
preemptiblebool

GCPServiceAccount

(Appears on: GCPMachineClassSpec)

GCPServiceAccount describes service accounts for GCP.

FieldTypeDescription
emailstring
scopes[]string

LastOperation

(Appears on: MachineSetStatus, MachineStatus, MachineSummary)

LastOperation suggests the last operation performed on the object

FieldTypeDescription
descriptionstring

Description of the current operation

lastUpdateTimeKubernetes meta/v1.Time

Last update time of current operation

stateMachineState

State of operation

typeMachineOperationType

Type of operation


MachineConfiguration

(Appears on: MachineSpec)

MachineConfiguration describes the configurations useful for the machine-controller.

FieldTypeDescription
drainTimeoutKubernetes meta/v1.Duration(Optional)

MachineDraintimeout is the timeout after which machine is forcefully deleted.

healthTimeoutKubernetes meta/v1.Duration(Optional)

MachineHealthTimeout is the timeout after which machine is declared unhealhty/failed.

creationTimeoutKubernetes meta/v1.Duration(Optional)

MachineCreationTimeout is the timeout after which machinie creation is declared failed.

maxEvictRetries*int32(Optional)

MaxEvictRetries is the number of retries that will be attempted while draining the node.

nodeConditions*string(Optional)

NodeConditions are the set of conditions if set to true for MachineHealthTimeOut, machine will be declared failed.


MachineDeployment

Deployment enables declarative updates for machines and MachineSets.

FieldTypeDescription
metadataKubernetes meta/v1.ObjectMeta(Optional)

Standard object metadata.

Refer to the Kubernetes API documentation for the fields of the metadata field.
specMachineDeploymentSpec(Optional)

Specification of the desired behavior of the MachineDeployment.



replicasint32(Optional)

Number of desired machines. This is a pointer to distinguish between explicit zero and not specified. Defaults to 0.

selectorKubernetes meta/v1.LabelSelector(Optional)

Label selector for machines. Existing MachineSets whose machines are selected by this will be the ones affected by this MachineDeployment.

templateMachineTemplateSpec

Template describes the machines that will be created.

strategyMachineDeploymentStrategy(Optional)

The MachineDeployment strategy to use to replace existing machines with new ones.

minReadySecondsint32(Optional)

Minimum number of seconds for which a newly created machine should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (machine will be considered available as soon as it is ready)

revisionHistoryLimit*int32(Optional)

The number of old MachineSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified.

pausedbool(Optional)

Indicates that the MachineDeployment is paused and will not be processed by the MachineDeployment controller.

rollbackToRollbackConfig(Optional)

DEPRECATED. The config this MachineDeployment is rolling back to. Will be cleared after rollback is done.

progressDeadlineSeconds*int32(Optional)

The maximum time in seconds for a MachineDeployment to make progress before it is considered to be failed. The MachineDeployment controller will continue to process failed MachineDeployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the MachineDeployment status. Note that progress will not be estimated during the time a MachineDeployment is paused. This is not set by default.

statusMachineDeploymentStatus(Optional)

Most recently observed status of the MachineDeployment.


MachineDeploymentCondition

(Appears on: MachineDeploymentStatus)

MachineDeploymentCondition describes the state of a MachineDeployment at a certain point.

FieldTypeDescription
typeMachineDeploymentConditionType

Type of MachineDeployment condition.

statusConditionStatus

Status of the condition, one of True, False, Unknown.

lastUpdateTimeKubernetes meta/v1.Time

The last time this condition was updated.

lastTransitionTimeKubernetes meta/v1.Time

Last time the condition transitioned from one status to another.

reasonstring

The reason for the condition’s last transition.

messagestring

A human readable message indicating details about the transition.


MachineDeploymentConditionType (string alias)

(Appears on: MachineDeploymentCondition)


MachineDeploymentSpec

(Appears on: MachineDeployment)

MachineDeploymentSpec is the specification of the desired behavior of the MachineDeployment.

FieldTypeDescription
replicasint32(Optional)

Number of desired machines. This is a pointer to distinguish between explicit zero and not specified. Defaults to 0.

selectorKubernetes meta/v1.LabelSelector(Optional)

Label selector for machines. Existing MachineSets whose machines are selected by this will be the ones affected by this MachineDeployment.

templateMachineTemplateSpec

Template describes the machines that will be created.

strategyMachineDeploymentStrategy(Optional)

The MachineDeployment strategy to use to replace existing machines with new ones.

minReadySecondsint32(Optional)

Minimum number of seconds for which a newly created machine should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (machine will be considered available as soon as it is ready)

revisionHistoryLimit*int32(Optional)

The number of old MachineSets to retain to allow rollback. This is a pointer to distinguish between explicit zero and not specified.

pausedbool(Optional)

Indicates that the MachineDeployment is paused and will not be processed by the MachineDeployment controller.

rollbackToRollbackConfig(Optional)

DEPRECATED. The config this MachineDeployment is rolling back to. Will be cleared after rollback is done.

progressDeadlineSeconds*int32(Optional)

The maximum time in seconds for a MachineDeployment to make progress before it is considered to be failed. The MachineDeployment controller will continue to process failed MachineDeployments and a condition with a ProgressDeadlineExceeded reason will be surfaced in the MachineDeployment status. Note that progress will not be estimated during the time a MachineDeployment is paused. This is not set by default.


MachineDeploymentStatus

(Appears on: MachineDeployment)

MachineDeploymentStatus is the most recently observed status of the MachineDeployment.

FieldTypeDescription
observedGenerationint64(Optional)

The generation observed by the MachineDeployment controller.

replicasint32(Optional)

Total number of non-terminated machines targeted by this MachineDeployment (their labels match the selector).

updatedReplicasint32(Optional)

Total number of non-terminated machines targeted by this MachineDeployment that have the desired template spec.

readyReplicasint32(Optional)

Total number of ready machines targeted by this MachineDeployment.

availableReplicasint32(Optional)

Total number of available machines (ready for at least minReadySeconds) targeted by this MachineDeployment.

unavailableReplicasint32(Optional)

Total number of unavailable machines targeted by this MachineDeployment. This is the total number of machines that are still required for the MachineDeployment to have 100% available capacity. They may either be machines that are running but not yet available or machines that still have not been created.

conditions[]MachineDeploymentCondition

Represents the latest available observations of a MachineDeployment’s current state.

collisionCount*int32(Optional)

Count of hash collisions for the MachineDeployment. The MachineDeployment controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest MachineSet.

failedMachines[]*github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.MachineSummary(Optional)

FailedMachines has summary of machines on which lastOperation Failed


MachineDeploymentStrategy

(Appears on: MachineDeploymentSpec)

MachineDeploymentStrategy describes how to replace existing machines with new ones.

FieldTypeDescription
typeMachineDeploymentStrategyType(Optional)

Type of MachineDeployment. Can be “Recreate” or “RollingUpdate”. Default is RollingUpdate.

rollingUpdateRollingUpdateMachineDeployment(Optional)

Rolling update config params. Present only if MachineDeploymentStrategyType =

RollingUpdate.

TODO: Update this to follow our convention for oneOf, whatever we decide it to be.


MachineDeploymentStrategyType (string alias)

(Appears on: MachineDeploymentStrategy)


MachineOperationType (string alias)

(Appears on: LastOperation)

MachineOperationType is a label for the operation performed on a machine object.


MachinePhase (string alias)

(Appears on: CurrentStatus)

MachinePhase is a label for the condition of a machines at the current time.


MachineSetCondition

(Appears on: MachineSetStatus)

MachineSetCondition describes the state of a machine set at a certain point.

FieldTypeDescription
typeMachineSetConditionType

Type of machine set condition.

statusConditionStatus

Status of the condition, one of True, False, Unknown.

lastTransitionTimeKubernetes meta/v1.Time(Optional)

The last time the condition transitioned from one status to another.

reasonstring(Optional)

The reason for the condition’s last transition.

messagestring(Optional)

A human readable message indicating details about the transition.


MachineSetConditionType (string alias)

(Appears on: MachineSetCondition)

MachineSetConditionType is the condition on machineset object


MachineSetSpec

(Appears on: MachineSet)

MachineSetSpec is the specification of a MachineSet.

FieldTypeDescription
replicasint32(Optional)
selectorKubernetes meta/v1.LabelSelector(Optional)
machineClassClassSpec(Optional)
templateMachineTemplateSpec(Optional)
minReadySecondsint32(Optional)

MachineSetStatus

(Appears on: MachineSet)

MachineSetStatus holds the most recently observed status of MachineSet.

FieldTypeDescription
replicasint32

Replicas is the number of actual replicas.

fullyLabeledReplicasint32(Optional)

The number of pods that have labels matching the labels of the pod template of the replicaset.

readyReplicasint32(Optional)

The number of ready replicas for this replica set.

availableReplicasint32(Optional)

The number of available replicas (ready for at least minReadySeconds) for this replica set.

observedGenerationint64(Optional)

ObservedGeneration is the most recent generation observed by the controller.

machineSetCondition[]MachineSetCondition(Optional)

Represents the latest available observations of a replica set’s current state.

lastOperationLastOperation

LastOperation performed

failedMachines[]github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.MachineSummary(Optional)

FailedMachines has summary of machines on which lastOperation Failed


MachineSpec

(Appears on: Machine, MachineTemplateSpec)

MachineSpec is the specification of a Machine.

FieldTypeDescription
classClassSpec(Optional)

Class contains the machineclass attributes of a machine

providerIDstring(Optional)

ProviderID represents the provider’s unique ID given to a machine

nodeTemplateNodeTemplateSpec(Optional)

NodeTemplateSpec describes the data a node should have when created from a template

MachineConfigurationMachineConfiguration

(Members of MachineConfiguration are embedded into this type.)

(Optional)

Configuration for the machine-controller.


MachineState (string alias)

(Appears on: LastOperation)

MachineState is a current state of the machine.


MachineStatus

(Appears on: Machine)

MachineStatus holds the most recently observed status of Machine.

FieldTypeDescription
nodestring

Node string

conditions[]Kubernetes core/v1.NodeCondition

Conditions of this machine, same as node

lastOperationLastOperation

Last operation refers to the status of the last operation performed

currentStatusCurrentStatus

Current status of the machine object

lastKnownStatestring(Optional)

LastKnownState can store details of the last known state of the VM by the plugins. It can be used by future operation calls to determine current infrastucture state


MachineSummary

MachineSummary store the summary of machine.

FieldTypeDescription
namestring

Name of the machine object

providerIDstring

ProviderID represents the provider’s unique ID given to a machine

lastOperationLastOperation

Last operation refers to the status of the last operation performed

ownerRefstring

OwnerRef


MachineTemplateSpec

(Appears on: MachineDeploymentSpec, MachineSetSpec)

MachineTemplateSpec describes the data a machine should have when created from a template

FieldTypeDescription
metadataKubernetes meta/v1.ObjectMeta(Optional)

Standard object’s metadata. More info: API Conventions - Metadata

Refer to the Kubernetes API documentation for the fields of the metadata field.
specMachineSpec(Optional)

Specification of the desired behavior of the machine. More info: API Conventions - Spec and Status



classClassSpec(Optional)

Class contains the machineclass attributes of a machine

providerIDstring(Optional)

ProviderID represents the provider’s unique ID given to a machine

nodeTemplateNodeTemplateSpec(Optional)

NodeTemplateSpec describes the data a node should have when created from a template

MachineConfigurationMachineConfiguration

(Members of MachineConfiguration are embedded into this type.)

(Optional)

Configuration for the machine-controller.


NodeTemplate

(Appears on: MachineClass)

NodeTemplate contains subfields to track all node resources and other node info required to scale nodegroup from zero

FieldTypeDescription
capacityKubernetes core/v1.ResourceList

Capacity contains subfields to track all node resources required to scale nodegroup from zero

instanceTypestring

Instance type of the node belonging to nodeGroup

regionstring

Region of the expected node belonging to nodeGroup

zonestring

Zone of the expected node belonging to nodeGroup


NodeTemplateSpec

(Appears on: MachineSpec)

NodeTemplateSpec describes the data a node should have when created from a template

FieldTypeDescription
metadataKubernetes meta/v1.ObjectMeta(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
specKubernetes core/v1.NodeSpec(Optional)

NodeSpec describes the attributes that a node is created with.



podCIDRstring(Optional)

PodCIDR represents the pod IP range assigned to the node.

podCIDRs[]string(Optional)

podCIDRs represents the IP ranges assigned to the node for usage by Pods on that node. If this field is specified, the 0th entry must match the podCIDR field. It may contain at most 1 value for each of IPv4 and IPv6.

providerIDstring(Optional)

ID of the node assigned by the cloud provider in the format: ://

unschedulablebool(Optional)

Unschedulable controls node schedulability of new pods. By default, node is schedulable. More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration

taints[]Kubernetes core/v1.Taint(Optional)

If specified, the node’s taints.

configSourceKubernetes core/v1.NodeConfigSource(Optional)

Deprecated. If specified, the source of the node’s configuration. The DynamicKubeletConfig feature gate must be enabled for the Kubelet to use this field. This field is deprecated as of 1.22: https://git.k8s.io/enhancements/keps/sig-node/281-dynamic-kubelet-configuration

externalIDstring(Optional)

Deprecated. Not all kubelets will set this field. Remove field after 1.13. see: https://issues.k8s.io/61966


OpenStackMachineClass

OpenStackMachineClass TODO

FieldTypeDescription
metadataKubernetes meta/v1.ObjectMeta(Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
specOpenStackMachineClassSpec(Optional)

imageIDstring
imageNamestring
regionstring
availabilityZonestring
flavorNamestring
keyNamestring
securityGroups[]string
tagsmap[string]string
networkIDstring
networks[]OpenStackNetwork
subnetID*string
secretRefKubernetes core/v1.SecretReference
credentialsSecretRefKubernetes core/v1.SecretReference
podNetworkCidrstring
rootDiskSizeint
useConfigDrive*bool

in GB

serverGroupID*string

OpenStackMachineClassSpec

(Appears on: OpenStackMachineClass)

OpenStackMachineClassSpec is the specification of a OpenStackMachineClass.

FieldTypeDescription
imageIDstring
imageNamestring
regionstring
availabilityZonestring
flavorNamestring
keyNamestring
securityGroups[]string
tagsmap[string]string
networkIDstring
networks[]OpenStackNetwork
subnetID*string
secretRefKubernetes core/v1.SecretReference
credentialsSecretRefKubernetes core/v1.SecretReference
podNetworkCidrstring
rootDiskSizeint
useConfigDrive*bool

in GB

serverGroupID*string

OpenStackNetwork

(Appears on: OpenStackMachineClassSpec)

FieldTypeDescription
idstring
namestring

takes priority before name

podNetworkbool

PacketMachineClassSpec

(Appears on: PacketMachineClass)

PacketMachineClassSpec is the specification of a PacketMachineClass.

FieldTypeDescription
facility[]string
machineTypestring
billingCyclestring
OSstring
projectIDstring
tags[]string
sshKeys[]string
userdatastring
secretRefKubernetes core/v1.SecretReference
credentialsSecretRefKubernetes core/v1.SecretReference

RollbackConfig

(Appears on: MachineDeploymentSpec)

FieldTypeDescription
revisionint64(Optional)

The revision to rollback to. If set to 0, rollback to the last revision.


RollingUpdateMachineDeployment

(Appears on: MachineDeploymentStrategy)

Spec to control the desired behavior of rolling update.

FieldTypeDescription
maxUnavailablek8s.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. By default, a fixed value of 1 is used. Example: when this is set to 30%, the old MC can be scaled down to 70% of desired machines immediately when the rolling update starts. Once new machines are ready, old MC can be scaled down further, followed by scaling up the new MC, ensuring that the total number of machines available at all times during the update is at least 70% of desired machines.

maxSurgek8s.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. By default, a value of 1 is used. Example: when this is set to 30%, the new MC 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 MC can be scaled up further, ensuring that total number of machines running at any time during the update is atmost 130% of desired machines.


Generated with gen-crd-api-reference-docs