By default the Kubernetes worker node is set to use a DHCP address for its networking, this can be altered by providing a CloudInit customisation specification which will run as part of the deployment of the worker node.
Note:
Note that the default worker node is based on VMware Photon and therefore the CloudInit Script is specific to configuring the network information, if you customize the default worker node to your own linux distribution, the changes below will need to refect the CloudInit data for your operating system.
To enable a static IP for your worker node you can provide a worker node yaml manifest in your git repository, an example is provided below and also available in the ECSExample git repository.
apiVersion: vmoperator.vmware.com/v1alpha1 kind: VirtualMachineClass metadata: name: best-effort-ec-small spec: controllerName: vmoperator.vmware.com/ecworker hardware: cpus: 2 memory: 8Gi --- apiVersion: v1 kind: Namespace metadata: name: ec-system --- apiVersion: vmoperator.vmware.com/v1alpha1 kind: VirtualMachine metadata: name: ec-worker namespace: ec-system spec: className: best-effort-ec-small imageName: ec-wrkr.ova powerState: poweredOff vmMetadata: transport: CloudInit configMapName: worker-config --- apiVersion: v1 kind: ConfigMap metadata: name: worker-config namespace: ec-system data: networkconfig: | version: 2 ethernets: eth0: dhcp: "false" addresses: - 10.211.34.144/22 nameservers: addresses: - 10.211.56.141 - 10.211.81.141 routes: - to: 0.0.0.0/0 via: 10.211.32.1