If the cluster control plane is hosted on a virtual machines or bare-metal servers, the cloud provider uses the settings from the cloud-provider-dynamix module in the Deckhouse configuration. If the cluster control plane is hosted in a cloud, the cloud provider uses the DynamixClusterConfiguration structure for configuration.
DynamixClusterConfiguration
Version: deckhouse.io/v1
Describes the configuration of a cloud cluster in Dynamix.
Used by the cloud provider if a cluster’s control plane is hosted in the cloud.
Run the following command to change the configuration in a running cluster:
d8 system edit provider-cluster-configuration
After updating the node parameters, you need to run the
dhctl convergecommand for the changes to take effect. For more information about changing the cluster configuration, see Adding and managing cloud nodes.
Example:
apiVersion: deckhouse.io/v1
kind: DynamixClusterConfiguration
layout: StandardWithInternalNetwork
sshPublicKey: ssh-rsa AAAA
location: dynamix
account: acc_user
nodeNetworkCIDR: 10.241.32.0/24
nameservers:
- 10.0.0.10
provider:
controllerUrl: "<controller url>"
oAuth2Url: "<oAuth2 url>"
appId: "<app id>"
appSecret: "<app secret>"
insecure: true
masterNodeGroup:
replicas: 1
instanceClass:
numCPUs: 6
memory: 16384
rootDiskSizeGb: 50
imageName: "<image name>"
storageEndpoint: "<storage endpoint>"
pool: "<pool>"
externalNetwork: "<external network>"
nodeGroups:
- name: worker
replicas: 1
instanceClass:
numCPUs: 6
memory: 16384
rootDiskSizeGb: 50
imageName: "<image name>"
externalNetwork: "<external network>"
- stringaccount
Required value
Account name.
- stringapiVersion
Required value
Allowed values:
deckhouse.io/v1 - stringkind
Required value
Allowed values:
DynamixClusterConfiguration - stringlayout
Required value
The way resources are located in the cloud.
Read more about possible provider layouts.
- stringlocation
Required value
The name of the location to install the cluster.
- objectmasterNodeGroup
Required value
The definition of the master’s NodeGroup.
For the changes to take effect, run
dhctl convergeafter modifying the parameters of themasterNodeGroupsection.- objectmasterNodeGroup.instanceClass
Required value
Partial contents of the fields of the DynamixInstanceClass.
- integermasterNodeGroup.instanceClass.etcdDiskSizeGb
Etcd disk size in GiB.
Default:
15Example:
etcdDiskSizeGb: 15 - stringmasterNodeGroup.instanceClass.externalNetwork
Required value
External network name.
Example:
externalNetwork: extnet_vlan_1700 - stringmasterNodeGroup.instanceClass.imageName
Required value
OS image name to use for VM deployment.
Example:
imageName: '1' - integermasterNodeGroup.instanceClass.memory
Required value
Memory in MiB to allocate to the VM.
Allowed values:
1 <= XExample:
memory: 8192 - integermasterNodeGroup.instanceClass.numCPUs
Required value
Number of vCPUs to allocate to the VM.
Allowed values:
1 <= XExample:
numCPUs: 2 - stringmasterNodeGroup.instanceClass.pool
Required value
Storage pool name.
Example:
pool: pool_a - integermasterNodeGroup.instanceClass.rootDiskSizeGb
Root disk size in GiB to use in Dynamix VirtualMachines.
Default:
50Example:
rootDiskSizeGb: 50 - stringmasterNodeGroup.instanceClass.storageEndpoint
Required value
Storage name.
Example:
storageEndpoint: SharedTatlin_G1_SEP
- integermasterNodeGroup.replicas
Required value
The number of master nodes to create. It is important to have an odd number of masters to ensure a quorum.
Allowed values:
1 <= X
- array of stringsnameservers
A list of IP addresses of the DNS servers.
Default:
[] - array of objectsnodeGroups
An array of additional NodeGroups for creating static nodes (e.g., for dedicated front nodes or gateways).
- objectnodeGroups.instanceClass
Required value
Partial contents of the fields of the.
- integernodeGroups.instanceClass.etcdDiskSizeGb
Etcd disk size in GiB.
Default:
15Example:
etcdDiskSizeGb: 15 - stringnodeGroups.instanceClass.externalNetwork
Required value
External network name.
Example:
externalNetwork: extnet_vlan_1700 - stringnodeGroups.instanceClass.imageName
Required value
OS image name to use for VM deployment.
Example:
imageName: '1' - integernodeGroups.instanceClass.memory
Required value
Memory in MiB to allocate to the VM.
Allowed values:
1 <= XExample:
memory: 8192 - integernodeGroups.instanceClass.numCPUs
Required value
Number of vCPUs to allocate to the VM.
Allowed values:
1 <= XExample:
numCPUs: 2 - stringnodeGroups.instanceClass.pool
Storage pool name.
Example:
pool: pool_a - integernodeGroups.instanceClass.rootDiskSizeGb
Root disk size in GiB to use in Dynamix VirtualMachines.
Default:
50Example:
rootDiskSizeGb: 50 - stringnodeGroups.instanceClass.storageEndpoint
Storage name.
Example:
storageEndpoint: SharedTatlin_G1_SEP
- stringnodeGroups.name
Required value
The name of the NodeGroup to use for generating node names.
- nodeGroups.nodeTemplate
Parameters of Node objects in Kubernetes to add after registering the node.
- objectnodeGroups.nodeTemplate.annotations
The same as the
metadata.annotationsstandard field.Example:
annotations: ai.fleet.com/discombobulate: 'true' - objectnodeGroups.nodeTemplate.labels
A list of labels to attach to cluster resources.
The same as the
metadata.labelsstandard field.Example:
labels: environment: production app: warp-drive-ai - array of objectsnodeGroups.nodeTemplate.taints
The same as the
.spec.taintsfield of the Node object.Available fields:
effect,key, andvalues.Example:
taints: - effect: NoExecute key: ship-class value: frigate- stringnodeGroups.nodeTemplate.taints.effect
Allowed values:
NoSchedule,PreferNoSchedule,NoExecute - stringnodeGroups.nodeTemplate.taints.key
- stringnodeGroups.nodeTemplate.taints.value
- integernodeGroups.replicas
Required value
The number of nodes to create.
- stringnodeNetworkCIDR
IP CIDR to be assigned to the internal segment of this ViNS.
- objectprovider
Required value
Parameters for connecting to the Dynamix.
- stringprovider.appId
Required value
App ID.
- stringprovider.appSecret
Required value
App Secret.
- stringprovider.controllerUrl
Required value
The URL to the Dynamix API endpoint.
- booleanprovider.insecure
Set to
trueif Dynamix has a self-signed certificate.Default:
false - stringprovider.oAuth2Url
Required value
The URL to the SSO Dynamix API endpoint.
- stringsshPublicKey
Required value
A public key for accessing nodes.