@@ -39,12 +39,18 @@ availabilityZone: "eu-central-1a"
3939vpcId : " vpc-819f62e9"
4040# subnet id for the instance
4141subnetId : " subnet-2bff4f43"
42+ # enable public IP assignment, default is true
43+ assignPublicIP : true
4244# instance type
4345instanceType : " t2.micro"
4446# size of the root disk in gb
4547diskSize : 50
4648# root disk type (gp2, io1, st1, sc1, or standard)
4749diskType : " gp2"
50+ # IOPS for EBS volumes, required with diskType: io1
51+ diskIops : 500
52+ # enable EBS volume encryption
53+ ebsVolumeEncrypted : false
4854# optional! the ami id to use. Needs to fit to the specified operating system
4955ami : " "
5056# optional! The security group ids for the instance.
@@ -60,7 +66,6 @@ instanceProfile : ""
6066tags :
6167 " KubernetesCluster " : " my-cluster"
6268` ` `
63-
6469## Openstack
6570
6671### machine.spec.providerConfig.cloudProviderSpec
@@ -93,6 +98,15 @@ availabilityZone: ""
9398region : " "
9499# the name of the network to use
95100network : " "
101+ # set trust-device-path flag for kubelet
102+ trustDevicePath : false
103+ # set root disk size
104+ rootDiskSizeGB : 50
105+ # set node-volume-attach-limit flag for cloud-config
106+ nodeVolumeAttachLimit : 20
107+ # the list of tags you would like to attach to the instance
108+ tags :
109+ tagKey : tagValue
96110` ` `
97111
98112## Google Cloud Platform
@@ -105,22 +119,38 @@ serviceAccount: "<< GOOGLE_SERVICE_ACCOUNT >>"
105119zone : " europe-west3-a"
106120# See https://cloud.google.com/compute/docs/machine-types
107121machineType : " n1-standard-2"
122+ # See https://cloud.google.com/compute/docs/instances/preemptible
123+ preemptible : false
108124# In GB
109125diskSize : 25
110126# Can be 'pd-standard' or 'pd-ssd'
111127diskType : " pd-standard"
128+ # The name or self_link of the network and subnetwork to attach this interface to;
129+ # either of both can be provided, otherwise default network will taken
130+ # in case if both empty — default network will be used
131+ network : " my-cool-network"
132+ subnetwork : " my-cool-subnetwork"
133+ # assign a public IP Address. Required for Internet access
134+ assignPublicIPAddress : true
135+ # set node labels
112136labels :
113- " kubernetesCluster " : " my-cluster"
137+ " kubernetesCluster " : " my-cluster"
114138` ` `
115139
116140## Hetzner cloud
117141
118142### machine.spec.providerConfig.cloudProviderSpec
119143` ` ` yaml
120- token : " << HETZNER_API_TOKEN >>"
121- serverType : " cx11"
122- datacenter : " "
123- location : " fsn1"
144+ token : " << HETZNER_API_TOKEN >>"
145+ serverType : " cx11"
146+ datacenter : " "
147+ location : " fsn1"
148+ # Optional: network IDs or names
149+ networks :
150+ - " << YOUR_NETWORK >>"
151+ # set node labels
152+ labels :
153+ " kubernetesCluster " : " my-cluster"
124154` ` `
125155
126156## Linode
@@ -129,9 +159,9 @@ labels:
129159` ` ` yaml
130160# your linode token
131161token : " << YOUR_LINODE_TOKEN >>"
132- # droplet region
162+ # linode region
133163region : " eu-west"
134- # droplet size
164+ # linode size
135165type : " g6-standard-2"
136166# enable backups for the linode
137167backups : false
@@ -142,3 +172,138 @@ tags:
142172- " machine-controller"
143173` ` `
144174
175+ ## Alibaba
176+
177+ ### machine.spec.providerConfig.cloudProviderSpec
178+ ` ` ` yaml
179+ # If empty, can be set via ALIBABA_ACCESS_KEY_ID env var
180+ accessKeyID : " << YOUR ACCESS ID >>"
181+ accessKeySecret : " << YOUR ACCESS SECRET >>"
182+ # instance type
183+ instanceType : " ecs.t1.xsmall"
184+ # instance name
185+ instanceName : " alibaba-instance"
186+ # region
187+ regionID : eu-central-1
188+ # image id
189+ imageID : " aliyun_2_1903_64_20G_alibase_20190829.vhd"
190+ # disk type
191+ diskType : " cloud_efficiency"
192+ # disk size in GB
193+ diskSize : " 40"
194+ # set an existing vSwitch ID to use, VPC default is used if not set.
195+ vSwitchID :
196+ labels :
197+ " kubernetesCluster " : " my-cluster"
198+ ` ` `
199+
200+
201+ ## Azure
202+
203+ ### machine.spec.providerConfig.cloudProviderSpec
204+ ` ` ` yaml
205+ # Can also be set via the env var 'AZURE_TENANT_ID' on the machine-controller
206+ tenantID : " << AZURE_TENANT_ID >>"
207+ # Can also be set via the env var 'AZURE_CLIENT_ID' on the machine-controller
208+ clientID : " << AZURE_CLIENT_ID >>"
209+ # Can also be set via the env var 'AZURE_CLIENT_SECRET' on the machine-controller
210+ clientSecret : " << AZURE_CLIENT_SECRET >>"
211+ # Can also be set via the env var 'AZURE_SUBSCRIPTION_ID' on the machine-controller
212+ subscriptionID : " << AZURE_SUBSCRIPTION_ID >>"
213+ # Azure location
214+ location : " westeurope"
215+ # Azure resource group
216+ resourceGroup : " << YOUR_RESOURCE_GROUP >>"
217+ # Azure availability set
218+ availabilitySet : " << YOUR AVAILABILITY SET >>"
219+ # VM size
220+ vmSize : " Standard_B1ms"
221+ # optional OS and Data disk size values in GB. If not set, the defaults for the vmSize will be used.
222+ osDiskSize : 30
223+ dataDiskSize : 30
224+ # network name
225+ vnetName : " << VNET_NAME >>"
226+ # subnet name
227+ subnetName : " << SUBNET_NAME >>"
228+ # route able name
229+ routeTableName : " << ROUTE_TABLE_NAME >>"
230+ # assign public IP addresses for nodes, required for Internet access
231+ assignPublicIP : true
232+ # security group
233+ securityGroupName : my-security-group
234+ # node tags
235+ tags :
236+ " kubernetesCluster " : " my-cluster"
237+ ` ` `
238+
239+ ## KubeVirt
240+
241+ ### machine.spec.providerConfig.cloudProviderSpec
242+ ` ` ` yaml
243+ # kubeconfig to access KubeVirt cluster
244+ kubeconfig : ' << KUBECONFIG >>'
245+ # KubeVirt namespace
246+ namespace : kube-system
247+ # kubernetes storage class
248+ storageClassName : kubermatic-fast
249+ # storage PVC size
250+ pvcSize : " 10Gi"
251+ # OS Image URL
252+ sourceURL : http://10.109.79.210/<< OS_NAME >>.img
253+ # instance resources
254+ cpus : " 1"
255+ memory : " 2048M"
256+ ` ` `
257+
258+ ## Packet
259+
260+ ### machine.spec.providerConfig.cloudProviderSpec
261+ ` ` ` yaml
262+ # If empty, can be set via PACKET_API_KEY env var
263+ apiKey : " << PACKET_API_KEY >>"
264+ # instance type
265+ instanceType : " t1.small.x86"
266+ # packet project ID
267+ projectID : " << PROJECT_ID >>"
268+ # packet facilities
269+ facilities :
270+ - " ewr1"
271+ # packet billingCycle
272+ billingCycle : " "
273+ # node tags
274+ tags :
275+ " kubernetesCluster " : " my-cluster"
276+ ` ` `
277+
278+ ## vSphere
279+
280+ ### machine.spec.providerConfig.cloudProviderSpec
281+ ` ` ` yaml
282+ # Can also be set via the env var 'VSPHERE_USERNAME' on the machine-controller
283+ username : ' << VSPHERE_USERNAME >>'
284+ # Can also be set via the env var 'VSPHERE_ADDRESS' on the machine-controller
285+ # example: 'https://your-vcenter:8443'. '/sdk' gets appended automatically
286+ vsphereURL : ' << VSPHERE_ADDRESS >>'
287+ # Can also be set via the env var 'VSPHERE_PASSWORD' on the machine-controller
288+ password : " << VSPHERE_PASSWORD >>"
289+ # datacenter name
290+ datacenter : datacenter1
291+ # VM template name
292+ templateVMName : ubuntu-template
293+ # Optional. Sets the networks on the VM. If no network is specified, the template default will be used.
294+ vmNetName : network1
295+ # Optional
296+ folder : folder1
297+ cluster : cluster1
298+ # either datastore or datastoreCluster have to be provided.
299+ datastore : datastore1
300+ datastoreCluster : datastore-cluster1
301+ # Can also be set via the env var 'VSPHERE_ALLOW_INSECURE' on the machine-controller
302+ allowInsecure : true
303+ # instance resources
304+ cpus : 2
305+ memoryMB : 2048
306+ # Optional: Resize the root disk to this size. Must be bigger than the existing size
307+ # Default is to leave the disk at the same size as the template
308+ diskSizeGB : 10
309+ ` ` `
0 commit comments