Nodes

A set of machine which are responsible for carrying out the work in a kube cluster

in AWS one can create a empty cluster and add nodes later. For Azure, there must be one default/system pool should be created along with the cluster. This is required for azure to run some Refer azure doc

System pool requirement

  • System node pools require a VM SKU of at least 2 vCPUs and 4GB memory

  • Must be Linux.

  • must contain at least one node.

add node using cli

spawner nodepool add clustername --request request.json

request.json is a node specification file with the following field. refer example

You can add nodes to cluster using the following node specification

FieldTypeDescriptionDefault

provider*

string

provder where the cluster is located. one of aws, azure

region*

string

region where the cluster is hosted

accountName

string

Netbook connect account name. Optional in local run

nodeSpec.diskSize*

number

Disk size which is attached to node. azure requires min 30GB of disk size

nodeSpec.name*

string

nodename, refer provider guideline to name instances.

nodeSpec.instance

string

nodeSpec.machineType

string

This is a shirt size types for choosing instances. You can use this and ignore the instance field. If instance field is specified, the priority is given to it. Ex: s, m, l etc. For machine type refer table below

nodeSpec.count

number

Number of nodes in a pool

1

nodeSpec.labels

map

set of pair of key values. The node will be tagged with this ex: { created_at: sometime, by: bob}

{}

nodeSpec.gpuEnabled

bool

creates the aws node pool with gpu AMI, In azure, choosing gpou instance will suffice to create GPU node.

false

nodeSpec.migProfile

enum/string

azure mig profile to be used along with GPU instance. Refer https://docs.microsoft.com/en-us/azure/aks/gpu-multi-instance Values can be one of { MIG1g = 1, MIG2g = 2, MIG3g = 3 , MIG4g = 4, MIG7g = 5 }

MIG1g

nodeSpec.capacityType

enum/string

capacity type as per provider offer. one of ON_DEMAND or SPOT

ON_DEMAND

nodeSpec.spotInstances

list

when the capacityType is set SPOT, need to pass multiple instances to create a spot request.

[]

MachineType

Use generic machine type to pick instance from different provder, spawner provides the following t shirt size and its spec.

TypeMinimum CPU coresMinimum RAMGPU

s

1

1 GB

-

m

8

16 GB

-

l

32

64 GB

-

xl

64

128 GB

-

m+t4

4

16 GB

1 NVIDIA Tesla T4

m+k80

4

53 GB

1 NVIDIA Tesla K80

l+k80

12

112 GB

2 NVIDIA Tesla K80

xl+k80

24

212 GB

4 NVIDIA Tesla K80

m+v100

4

61 GB

1 NVIDIA Tesla V100

l+v100

12

224 GB

2 NVIDIA Tesla V100

xl+v100

24

448 GB

4 NVIDIA Tesla V100

instances picked for provider as per above machine type

Type

s

t2.micro

Standard_B1s

g1-small

cpu: 1 memory: 1G

m

m5.2xlarge

Standard_F8s_v2

e2-custom-8-32768

cpu: 8 memory: 32G

l

m5.8xlarge

Standard_F32s_v2

e2-custom-32-131072

cpu: 32 memory: 128G

xl

m5.16xlarge

Standard_F64s_v2

n2-custom-64-262144

cpu: 64 memory: 256G

m+t4

g4dn.xlarge

Standard_NC4as_T4_v3

n1-standard-4

cpu: 4 memory: 16G 1 nvidia-tesla-t4

m+k80

p2.xlarge

Standard_NC6

custom-8-53248

cpu: 4 memory: 64G 1 nvidia-tesla-k80

l+k80

p2.8xlarge

Standard_NC12

custom-32-131072

cpu: 32 memory: 512G 8 nvidia-tesla-k80

xl+k80

p2.16xlarge

Standard_NC24

custom-64-212992-ext

cpu: 64 memory: 768G 16 nvidia-tesla-k80

m+v100

p3.xlarge

Standard_NC6s_v3

custom-8-65536-ext

cpu: 8 memory: 64G 1 nvidia-tesla-v100

l+v100

p3.8xlarge

Standard_NC12s_v3

custom-32-262144-ext

cpu: 32 memory: 256G 4 nvidia-tesla-v100

xl+v100

p3.16xlarge

Standard_NC24s_v3

custom-64-524288-ext

cpu: 64 memory: 512G 8 nvidia-tesla-v100

Last updated