A yaml configuration file can be used as part of your desired state repository to configure the resources made available to the default worker node used for Kubernetes workloads, currently only memory and CPU resources can be adjusted for the worker node VM. If there's no worker VM desired state available in the repository, default sizes are used.If there is no worker VM desired state expressed in GitOps, it is merged or it overrides the default sizes. Currently once worker VM is created & boots up, changes to desired state are not applied to it till next ESXi reboot.

Example Default Worker Node Manifest File

In the below example, we change the number of CPUs to 4 and the Memory to 8Gi:

apiVersion: vmoperator.vmware.com/v1alpha1
kind: VirtualMachineClass
metadata:
  name: best-effort-keswick-small
  # No resource requests/reservations.
  # Memory overcommit possible.
spec:
  # VM operator controller name for VirtualMachine class
  # is different so addition of controllerName attr with invalid
  # value makes vm operator ignore this VM CRD instance.
  # This is majorly done because vm operator doesn't have all the
  # needed capabilities to deploy VMware Edge Cloud Orchestrator worker vm.
  controllerName: vmoperator.vmware.com/keswickworker
  hardware:
    cpus: 4
    memory: 8Gi
---
apiVersion: v1
kind: Namespace
metadata:
  name: keswick-system
---
apiVersion: vmoperator.vmware.com/v1alpha1
kind: VirtualMachine
metadata:
  name: keswick-worker
  namespace: keswick-system
spec:
  className: best-effort-keswick-small
  imageName: keswick-wrkr.ova
  powerState: poweredOff
  vmMetadata:
    transport: CloudInit

Replacing the Default Photon Worker Node

A default Photon image has been provided which includes multiple device drivers to enable use cases which require USB pass-through of devices attached to the edge hosts. Custom worker node images can be created and used to replace the existing keswick-wrkr.ova file provided.

To customize your worker node image follow the steps outlined in this example blog post and replace the keswick-wrkr.ova file on the root of the USB/Customized ISO with exactly the same filename.