Skip to content

Latest commit

 

History

History
7080 lines (7078 loc) · 92.5 KB

File metadata and controls

7080 lines (7078 loc) · 92.5 KB
title
APIs

Specification

ProviderSpec Schema


AWSMachineClass

AWSMachineClass TODO

Field Type Description
apiVersion string machine.sapcloud.io.v1alpha1
kind string AWSMachineClass
metadata Kubernetes meta/v1.ObjectMeta (Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
spec AWSMachineClassSpec (Optional)

ami string
region string
blockDevices []AWSBlockDeviceMappingSpec
ebsOptimized bool
iam AWSIAMProfileSpec
machineType string
keyName string
monitoring bool
networkInterfaces []AWSNetworkInterfaceSpec
tags map[string]string
spotPrice *string
secretRef Kubernetes core/v1.SecretReference
credentialsSecretRef Kubernetes core/v1.SecretReference

AlicloudMachineClass

AlicloudMachineClass TODO

Field Type Description
apiVersion string machine.sapcloud.io.v1alpha1
kind string AlicloudMachineClass
metadata Kubernetes meta/v1.ObjectMeta (Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
spec AlicloudMachineClassSpec (Optional)

imageID string
instanceType string
region string
zoneID string
securityGroupID string
vSwitchID string
privateIPAddress string
systemDisk AlicloudSystemDisk
dataDisks []AlicloudDataDisk
instanceChargeType string
internetChargeType string
internetMaxBandwidthIn *int
internetMaxBandwidthOut *int
spotStrategy string
IoOptimized string
tags map[string]string
keyPairName string
secretRef Kubernetes core/v1.SecretReference
credentialsSecretRef Kubernetes core/v1.SecretReference

AzureMachineClass

AzureMachineClass TODO

Field Type Description
apiVersion string machine.sapcloud.io.v1alpha1
kind string AzureMachineClass
metadata Kubernetes meta/v1.ObjectMeta (Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
spec AzureMachineClassSpec (Optional)

location string
tags map[string]string
properties AzureVirtualMachineProperties
resourceGroup string
subnetInfo AzureSubnetInfo
secretRef Kubernetes core/v1.SecretReference
credentialsSecretRef Kubernetes core/v1.SecretReference

GCPMachineClass

GCPMachineClass TODO

Field Type Description
apiVersion string machine.sapcloud.io.v1alpha1
kind string GCPMachineClass
metadata Kubernetes meta/v1.ObjectMeta (Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
spec GCPMachineClassSpec (Optional)

canIpForward bool
deletionProtection bool
description *string
disks []*github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.GCPDisk
labels map[string]string
machineType string
metadata []*github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.GCPMetadata
networkInterfaces []*github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.GCPNetworkInterface
scheduling GCPScheduling
secretRef Kubernetes core/v1.SecretReference
credentialsSecretRef Kubernetes core/v1.SecretReference
serviceAccounts []GCPServiceAccount
tags []string
region string
zone string

Machine

Machine is the representation of a physical or virtual machine.

Field Type Description
apiVersion string machine.sapcloud.io.v1alpha1
kind string Machine
metadata Kubernetes meta/v1.ObjectMeta

ObjectMeta for machine object

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

Spec contains the specification of the machine



class ClassSpec (Optional)

Class contains the machineclass attributes of a machine

providerID string (Optional)

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

nodeTemplate NodeTemplateSpec (Optional)

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

MachineConfiguration MachineConfiguration

(Members of MachineConfiguration are embedded into this type.)

(Optional)

Configuration for the machine-controller.

status MachineStatus

Status contains fields depicting the status


MachineClass

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

Field Type Description
apiVersion string machine.sapcloud.io.v1alpha1
kind string MachineClass
metadata Kubernetes meta/v1.ObjectMeta (Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
nodeTemplate NodeTemplate (Optional)

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

credentialsSecretRef Kubernetes 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.

providerSpec k8s.io/apimachinery/pkg/runtime.RawExtension

Provider-specific configuration to use during node creation.

provider string

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

secretRef Kubernetes core/v1.SecretReference

SecretRef stores the necessary secrets such as credentials or userdata.


MachineSet

MachineSet TODO

Field Type Description
apiVersion string machine.sapcloud.io.v1alpha1
kind string MachineSet
metadata Kubernetes meta/v1.ObjectMeta (Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
spec MachineSetSpec (Optional)

replicas int32 (Optional)
selector Kubernetes meta/v1.LabelSelector (Optional)
machineClass ClassSpec (Optional)
template MachineTemplateSpec (Optional)
minReadySeconds int32 (Optional)
status MachineSetStatus (Optional)

PacketMachineClass

PacketMachineClass TODO

Field Type Description
apiVersion string machine.sapcloud.io.v1alpha1
kind string PacketMachineClass
metadata Kubernetes meta/v1.ObjectMeta (Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
spec PacketMachineClassSpec (Optional)

facility []string
machineType string
billingCycle string
OS string
projectID string
tags []string
sshKeys []string
userdata string
secretRef Kubernetes core/v1.SecretReference
credentialsSecretRef Kubernetes core/v1.SecretReference

AWSBlockDeviceMappingSpec

(Appears on: AWSMachineClassSpec)

Field Type Description
deviceName string

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

ebs AWSEbsBlockDeviceSpec

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

noDevice string

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

virtualName string

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

Field Type Description
deleteOnTermination *bool

Indicates whether the EBS volume is deleted on machine termination.

encrypted bool

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

iops int64

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.

volumeSize int64

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.

volumeType string

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

Default: standard


AWSIAMProfileSpec

(Appears on: AWSMachineClassSpec)

Describes an IAM machine profile.

Field Type Description
arn string

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

name string

The name of the machine profile.


AWSMachineClassSpec

(Appears on: AWSMachineClass)

AWSMachineClassSpec is the specification of a AWSMachineClass.

Field Type Description
ami string
region string
blockDevices []AWSBlockDeviceMappingSpec
ebsOptimized bool
iam AWSIAMProfileSpec
machineType string
keyName string
monitoring bool
networkInterfaces []AWSNetworkInterfaceSpec
tags map[string]string
spotPrice *string
secretRef Kubernetes core/v1.SecretReference
credentialsSecretRef Kubernetes 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

Field Type Description
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.

subnetID string

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)

Field Type Description
name string
category string
description string (Optional)
encrypted bool
deleteWithInstance *bool
size int

AlicloudMachineClassSpec

(Appears on: AlicloudMachineClass)

AlicloudMachineClassSpec is the specification of a AlicloudMachineClass.

Field Type Description
imageID string
instanceType string
region string
zoneID string
securityGroupID string
vSwitchID string
privateIPAddress string
systemDisk AlicloudSystemDisk
dataDisks []AlicloudDataDisk
instanceChargeType string
internetChargeType string
internetMaxBandwidthIn *int
internetMaxBandwidthOut *int
spotStrategy string
IoOptimized string
tags map[string]string
keyPairName string
secretRef Kubernetes core/v1.SecretReference
credentialsSecretRef Kubernetes core/v1.SecretReference

AlicloudSystemDisk

(Appears on: AlicloudMachineClassSpec)

AlicloudSystemDisk describes SystemDisk for Alicloud.

Field Type Description
category string
size int

AzureDataDisk

(Appears on: AzureStorageProfile)

Field Type Description
name string
lun *int32
caching string
storageAccountType string
diskSizeGB int32

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

Field Type Description
vmSize string

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.

Field Type Description
id string
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.

Field Type Description
disablePasswordAuthentication bool
ssh AzureSSHConfiguration

AzureMachineClassSpec

(Appears on: AzureMachineClass)

AzureMachineClassSpec is the specification of a AzureMachineClass.

Field Type Description
location string
tags map[string]string
properties AzureVirtualMachineProperties
resourceGroup string
subnetInfo AzureSubnetInfo
secretRef Kubernetes core/v1.SecretReference
credentialsSecretRef Kubernetes core/v1.SecretReference

AzureMachineSetConfig

(Appears on: AzureVirtualMachineProperties)

AzureMachineSetConfig contains the information about the machine set

Field Type Description
id string
kind string

AzureManagedDiskParameters

(Appears on: AzureOSDisk)

AzureManagedDiskParameters is the parameters of a managed disk.

Field Type Description
id string
storageAccountType string

AzureNetworkInterfaceReference

(Appears on: AzureNetworkProfile)

AzureNetworkInterfaceReference is describes a network interface reference.

Field Type Description
id string
properties AzureNetworkInterfaceReferenceProperties

AzureNetworkInterfaceReferenceProperties

(Appears on: AzureNetworkInterfaceReference)

AzureNetworkInterfaceReferenceProperties is describes a network interface reference properties.

Field Type Description
primary bool

AzureNetworkProfile

(Appears on: AzureVirtualMachineProperties)

AzureNetworkProfile is specifies the network interfaces of the virtual machine.

Field Type Description
networkInterfaces AzureNetworkInterfaceReference
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.

Field Type Description
name string
caching string
managedDisk AzureManagedDiskParameters
diskSizeGB int32
createOption string

AzureOSProfile

(Appears on: AzureVirtualMachineProperties)

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

Field Type Description
computerName string
adminUsername string
adminPassword string
customData string
linuxConfiguration AzureLinuxConfiguration

AzureSSHConfiguration

(Appears on: AzureLinuxConfiguration)

AzureSSHConfiguration is SSH configuration for Linux based VMs running on Azure

Field Type Description
publicKeys AzureSSHPublicKey

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.

Field Type Description
path string
keyData string

AzureStorageProfile

(Appears on: AzureVirtualMachineProperties)

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

Field Type Description
imageReference AzureImageReference
osDisk AzureOSDisk
dataDisks []AzureDataDisk

AzureSubResource

(Appears on: AzureVirtualMachineProperties)

AzureSubResource is the Sub Resource definition.

Field Type Description
id string

AzureSubnetInfo

(Appears on: AzureMachineClassSpec)

AzureSubnetInfo is the information containing the subnet details

Field Type Description
vnetName string
vnetResourceGroup *string
subnetName string

AzureVirtualMachineProperties

(Appears on: AzureMachineClassSpec)

AzureVirtualMachineProperties is describes the properties of a Virtual Machine.

Field Type Description
hardwareProfile AzureHardwareProfile
storageProfile AzureStorageProfile
osProfile AzureOSProfile
networkProfile AzureNetworkProfile
availabilitySet AzureSubResource
identityID *string
zone *int
machineSet AzureMachineSetConfig

ClassSpec

(Appears on: MachineSetSpec, MachineSpec)

ClassSpec is the class specification of machine

Field Type Description
apiGroup string

API group to which it belongs

kind string

Kind for machine class

name string

Name of machine class


ConditionStatus (string alias)

(Appears on: MachineDeploymentCondition, MachineSetCondition)


CurrentStatus

(Appears on: MachineStatus)

CurrentStatus contains information about the current status of Machine.

Field Type Description
phase MachinePhase
timeoutActive bool
lastUpdateTime Kubernetes meta/v1.Time

Last update time of current status


GCPDisk

GCPDisk describes disks for GCP.

Field Type Description
autoDelete *bool
boot bool
sizeGb int64
type string
interface string
image string
labels map[string]string

GCPMachineClassSpec

(Appears on: GCPMachineClass)

GCPMachineClassSpec is the specification of a GCPMachineClass.

Field Type Description
canIpForward bool
deletionProtection bool
description *string
disks []*github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.GCPDisk
labels map[string]string
machineType string
metadata []*github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.GCPMetadata
networkInterfaces []*github.com/gardener/machine-controller-manager/pkg/apis/machine/v1alpha1.GCPNetworkInterface
scheduling GCPScheduling
secretRef Kubernetes core/v1.SecretReference
credentialsSecretRef Kubernetes core/v1.SecretReference
serviceAccounts []GCPServiceAccount
tags []string
region string
zone string

GCPMetadata

GCPMetadata describes metadata for GCP.

Field Type Description
key string
value *string

GCPNetworkInterface

GCPNetworkInterface describes network interfaces for GCP

Field Type Description
disableExternalIP bool
network string
subnetwork string

GCPScheduling

(Appears on: GCPMachineClassSpec)

GCPScheduling describes scheduling configuration for GCP.

Field Type Description
automaticRestart bool
onHostMaintenance string
preemptible bool

GCPServiceAccount

(Appears on: GCPMachineClassSpec)

GCPServiceAccount describes service accounts for GCP.

Field Type Description
email string
scopes []string

LastOperation

(Appears on: MachineSetStatus, MachineStatus, MachineSummary)

LastOperation suggests the last operation performed on the object

Field Type Description
description string

Description of the current operation

lastUpdateTime Kubernetes meta/v1.Time

Last update time of current operation

state MachineState

State of operation

type MachineOperationType

Type of operation


MachineConfiguration

(Appears on: MachineSpec)

MachineConfiguration describes the configurations useful for the machine-controller.

Field Type Description
drainTimeout Kubernetes meta/v1.Duration (Optional)

MachineDraintimeout is the timeout after which machine is forcefully deleted.

healthTimeout Kubernetes meta/v1.Duration (Optional)

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

creationTimeout Kubernetes 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.

Field Type Description
metadata Kubernetes meta/v1.ObjectMeta (Optional)

Standard object metadata.

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

Specification of the desired behavior of the MachineDeployment.



replicas int32 (Optional)

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

selector Kubernetes meta/v1.LabelSelector (Optional)

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

template MachineTemplateSpec

Template describes the machines that will be created.

strategy MachineDeploymentStrategy (Optional)

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

minReadySeconds int32 (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.

paused bool (Optional)

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

rollbackTo RollbackConfig (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.

status MachineDeploymentStatus (Optional)

Most recently observed status of the MachineDeployment.


MachineDeploymentCondition

(Appears on: MachineDeploymentStatus)

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

Field Type Description
type MachineDeploymentConditionType

Type of MachineDeployment condition.

status ConditionStatus

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

lastUpdateTime Kubernetes meta/v1.Time

The last time this condition was updated.

lastTransitionTime Kubernetes meta/v1.Time

Last time the condition transitioned from one status to another.

reason string

The reason for the condition’s last transition.

message string

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.

Field Type Description
replicas int32 (Optional)

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

selector Kubernetes meta/v1.LabelSelector (Optional)

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

template MachineTemplateSpec

Template describes the machines that will be created.

strategy MachineDeploymentStrategy (Optional)

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

minReadySeconds int32 (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.

paused bool (Optional)

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

rollbackTo RollbackConfig (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.

Field Type Description
observedGeneration int64 (Optional)

The generation observed by the MachineDeployment controller.

replicas int32 (Optional)

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

updatedReplicas int32 (Optional)

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

readyReplicas int32 (Optional)

Total number of ready machines targeted by this MachineDeployment.

availableReplicas int32 (Optional)

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

unavailableReplicas int32 (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.

Field Type Description
type MachineDeploymentStrategyType (Optional)

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

rollingUpdate RollingUpdateMachineDeployment (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.

Field Type Description
type MachineSetConditionType

Type of machine set condition.

status ConditionStatus

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

lastTransitionTime Kubernetes meta/v1.Time (Optional)

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

reason string (Optional)

The reason for the condition’s last transition.

message string (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.

Field Type Description
replicas int32 (Optional)
selector Kubernetes meta/v1.LabelSelector (Optional)
machineClass ClassSpec (Optional)
template MachineTemplateSpec (Optional)
minReadySeconds int32 (Optional)

MachineSetStatus

(Appears on: MachineSet)

MachineSetStatus holds the most recently observed status of MachineSet.

Field Type Description
replicas int32

Replicas is the number of actual replicas.

fullyLabeledReplicas int32 (Optional)

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

readyReplicas int32 (Optional)

The number of ready replicas for this replica set.

availableReplicas int32 (Optional)

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

observedGeneration int64 (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.

lastOperation LastOperation

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.

Field Type Description
class ClassSpec (Optional)

Class contains the machineclass attributes of a machine

providerID string (Optional)

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

nodeTemplate NodeTemplateSpec (Optional)

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

MachineConfiguration MachineConfiguration

(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.

Field Type Description
node string

Node string

conditions []Kubernetes core/v1.NodeCondition

Conditions of this machine, same as node

lastOperation LastOperation

Last operation refers to the status of the last operation performed

currentStatus CurrentStatus

Current status of the machine object

lastKnownState string (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.

Field Type Description
name string

Name of the machine object

providerID string

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

lastOperation LastOperation

Last operation refers to the status of the last operation performed

ownerRef string

OwnerRef


MachineTemplateSpec

(Appears on: MachineDeploymentSpec, MachineSetSpec)

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

Field Type Description
metadata Kubernetes 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.
spec MachineSpec (Optional)

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



class ClassSpec (Optional)

Class contains the machineclass attributes of a machine

providerID string (Optional)

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

nodeTemplate NodeTemplateSpec (Optional)

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

MachineConfiguration MachineConfiguration

(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

Field Type Description
capacity Kubernetes core/v1.ResourceList

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

instanceType string

Instance type of the node belonging to nodeGroup

region string

Region of the expected node belonging to nodeGroup

zone string

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

Field Type Description
metadata Kubernetes meta/v1.ObjectMeta (Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
spec Kubernetes core/v1.NodeSpec (Optional)

NodeSpec describes the attributes that a node is created with.



podCIDR string (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.

providerID string (Optional)

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

unschedulable bool (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.

configSource Kubernetes 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

externalID string (Optional)

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


OpenStackMachineClass

OpenStackMachineClass TODO

Field Type Description
metadata Kubernetes meta/v1.ObjectMeta (Optional) Refer to the Kubernetes API documentation for the fields of the metadata field.
spec OpenStackMachineClassSpec (Optional)

imageID string
imageName string
region string
availabilityZone string
flavorName string
keyName string
securityGroups []string
tags map[string]string
networkID string
networks []OpenStackNetwork
subnetID *string
secretRef Kubernetes core/v1.SecretReference
credentialsSecretRef Kubernetes core/v1.SecretReference
podNetworkCidr string
rootDiskSize int
useConfigDrive *bool

in GB

serverGroupID *string

OpenStackMachineClassSpec

(Appears on: OpenStackMachineClass)

OpenStackMachineClassSpec is the specification of a OpenStackMachineClass.

Field Type Description
imageID string
imageName string
region string
availabilityZone string
flavorName string
keyName string
securityGroups []string
tags map[string]string
networkID string
networks []OpenStackNetwork
subnetID *string
secretRef Kubernetes core/v1.SecretReference
credentialsSecretRef Kubernetes core/v1.SecretReference
podNetworkCidr string
rootDiskSize int
useConfigDrive *bool

in GB

serverGroupID *string

OpenStackNetwork

(Appears on: OpenStackMachineClassSpec)

Field Type Description
id string
name string

takes priority before name

podNetwork bool

PacketMachineClassSpec

(Appears on: PacketMachineClass)

PacketMachineClassSpec is the specification of a PacketMachineClass.

Field Type Description
facility []string
machineType string
billingCycle string
OS string
projectID string
tags []string
sshKeys []string
userdata string
secretRef Kubernetes core/v1.SecretReference
credentialsSecretRef Kubernetes core/v1.SecretReference

RollbackConfig

(Appears on: MachineDeploymentSpec)

Field Type Description
revision int64 (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.

Field Type 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. 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.

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. 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