Rancher v2.x on RancherOS (via cloud-config.yml)

While there is an excellent guide for using Rancher v1.x with RancherOS
I have not been able to find similar on Rancher v2. The RancherOS homepage even has a link to

Launch Rancher or add hosts to Rancher using RancherOS.
LEARN HOW

I have;

  • provisioned RancherOS hosts, and
  • installed Rancher v2.3 via cloud-config
  • created a Cluster

However the Agent command, to be cut/pasted differs from the v1 command, and it is not clear how to craft the cloud-config.yml

sudo docker run -d 
--privileged 
--restart=unless-stopped 
--net=host 
-v /etc/kubernetes:/etc/kubernetes 
-v /var/run:/var/run 

rancher/rancher-agent:v2.3.2 
--server https://172.20.160.108 
--token xk9hgct8l4dxqhwsl6wggghjnn888z24hsqj68lqrltc59dp9rp52k 
--ca-checksum f816c562146ad0d7a5c3965027396d539d7da328a0627a4c2a4bde6a77a6acbc 
--etcd 
--controlplane 
--worker

UPDATE: Now I have a bunch of RancherOS VMs, connecting to the Rancher 2.0 server, however only one instance registers for the cluster. I suspect it is due to the way I am configuring host-networking with cloud-config.yml.
Any help would be much appreciated.

#cloud-config
hostname: rancheros
manage_etc_hosts: true
ssh_authorized_keys:
  - ssh-ed25519 AAAAC3NzaC1lZDI1...
  - ssh-rsa AAAAB3NzaC1yc2E...
chpasswd:
  expire: False
users:
  - default
package_upgrade: true
rancher:
  network:
    interfaces:
      eth0:
        dhcp: true
  services:
    rancher-agent1:
      image: rancher/rancher-agent:v2.3.5
      privileged: true
      restart: unless-stopped
      volumes:
        - /etc/kubernetes:/etc/kubernetes
        - /var/run:/var/run
      net: host
      networks:
      hostnet: {}
      external: true
      name: host
      environment:
      - CATTLE_SERVER=https://rancher.do...
      - CATTLE_TOKEN=x54dfvcf7bhjl5bmzrg867bm5r7nn76gwbhmcnt8zttmdz9fqqqjls
      - ETCD=false
      - CONTROL=true
      - WORKER=false

Every node in a cluster needs a unique hostname.

Awesome. Thanks Vincent