Last generated May 26, 2020

AWSMachineDeployment

AWSMachineDeployment is the infrastructure provider referenced in Kubernetes Cluster API MachineDeployment resources. It contains provider-specific specification and status for a node pool. In use on AWS since Giant Swarm release v10.x.x and reconciled by aws-operator.

Full name:
awsmachinedeployments.infrastructure.giantswarm.io
Group:
infrastructure.giantswarm.io
Singular name:
awsmachinedeployment
Plural name:
awsmachinedeployments
Scope:
Namespaced
Versions:
v1alpha2

Version v1alpha2

Example CR


apiVersion: infrastructure.giantswarm.io/v1alpha2
kind: AWSMachineDeployment
metadata:
  annotations:
    giantswarm.io/docs: https://docs.giantswarm.io/reference/cp-k8s-api/awsclusters.infrastructure.giantswarm.io/
  creationTimestamp: null
  name: general-purpose-node-pool
spec:
  nodePool:
    description: General purpose worker nodes
    machine:
      dockerVolumeSizeGB: 30
      kubeletVolumeSizeGB: 100
    scaling:
      max: 50
      min: 2
  provider:
    availabilityZones:
    - eu-central-1b
    - eu-central-1c
    instanceDistribution:
      onDemandBaseCapacity: 0
      onDemandPercentageAboveBaseCapacity: 0
    worker:
      instanceType: m5.4xlarge
      useAlikeInstanceTypes: true

Properties

.apiVersion

string

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

.kind

string

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

.metadata

object

.spec

object Required

Contains the specification.

.spec.nodePool

object Required

Specifies details of node pool and the worker nodes it should contain.

.spec.nodePool.description

string Required

User-friendly name or description of the purpose of the node pool.

.spec.nodePool.machine

object Required

Specification of the worker node machine.

.spec.nodePool.machine.dockerVolumeSizeGB

integer Required

Size of the volume reserved for Docker images and overlay file systems of Docker containers. Unit: 1 GB = 1,000,000,000 Bytes.

.spec.nodePool.machine.kubeletVolumeSizeGB

integer Required

Size of the volume reserved for the kubelet, which can be used by Pods via volumes of type EmptyDir. Unit: 1 GB = 1,000,000,000 Bytes.

.spec.nodePool.scaling

object Required

Scaling settings for the node pool, configuring the cluster-autoscaler determining the number of nodes to have in this node pool.

.spec.nodePool.scaling.max

integer Required

Maximum number of worker nodes in this node pool.

.spec.nodePool.scaling.min

integer Required

Minimum number of worker nodes in this node pool.

.spec.provider

object Required

Contains AWS specific details.

.spec.provider.availabilityZones

array Required

Name(s) of the availability zone(s) to use for worker nodes. Using multiple availability zones results in higher resilience but can also result in higher cost due to network traffic between availability zones.

.spec.provider.availabilityZones[*]

string

.spec.provider.instanceDistribution

object

Settings defining the distribution of on-demand and spot instances in the node pool.

.spec.provider.instanceDistribution.onDemandBaseCapacity

integer Required

Base capacity of on-demand instances to use for worker nodes in this pool. When this larger than 0, this value defines a number of worker nodes that will be created using on-demand EC2 instances, regardless of the value configured as onDemandPercentageAboveBaseCapacity.

.spec.provider.instanceDistribution.onDemandPercentageAboveBaseCapacity

integer Required

Percentage of on-demand EC2 instances to use for worker nodes, instead of spot instances, for instances exceeding onDemandBaseCapacity. For example, to have half of the worker nodes use spot instances and half use on-demand, set this value to 50.

.spec.provider.worker

object Required

Specification of worker nodes.

.spec.provider.worker.instanceType

string Required

AWS EC2 instance type name to use for the worker nodes in this node pool.

.spec.provider.worker.useAlikeInstanceTypes

boolean Required

If true, certain instance types with specs similar to instanceType will be used.

.status

object

Holds status information.

.status.provider

object

Status specific to AWS.

.status.provider.worker

object

Status of worker nodes.

.status.provider.worker.instanceTypes

array

AWS EC2 instance types used for the worker nodes in this node pool.

.status.provider.worker.instanceTypes[*]

string

.status.provider.worker.spotInstances

integer

Number of EC2 spot instances used in this node pool.


This documentation page shows information based on apiextensions v0.4.0.