Deploying CoreOS OVA on VMware

Deploy the vmware ova

Download the OVA image from Core OS website, and deploy it to VMware using vsphere client, etc.

When you boot the VM, you won’t be able to login, unless you provide coreos.autologin=tty1 as a kernel parameter to grub. If you do so, then you’ll be auto logged in as user core. Type sudo bash to get the root prompt necessary for the initial setup.

Read more at http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2109161

Configure networking

Create /etc/systemd/network/static.network, add the following, and finally reboot:


[Network]
Address=192.168.1.2
Gateway=192.168.1.1
DNS=192.168.1.100 192.168.1.101

Read more at https://www.brianchristner.io/how-to-install-and-configure-coreos-inside-vmware/

Setup ssh acccess

Edit /usr/share/oem/cloud-config.yml, and add your ssh public key, eg.


ssh_authorized_keys:
- ssh-dss AAAAB3NzaC1kc3MAAAEBAOm5s8yJIl1ZnaqQU93f.....

Then validate the settings:


coreos-cloudinit --validate --from-file /usr/share/oem/cloud-config.yml

If everything goes right, then apply settings:


coreos-cloudinit --from-file /usr/share/oem/cloud-config.yml

Now you may ssh to the host using your private ssh key as user core, eg.


ssh -i /path/to/ssh.key -l core 192.168.1.2

You may want to setup etcd (version 2)


etcd2:
# generate a new token for each unique cluster from https://discovery.etcd.io/new?size=3
# specify the initial size of your cluster with ?size=X
discovery: https://discovery.etcd.io/THE_VALUE_OF_THE_GENERATED_TOKEN

# multi-region and multi-cloud deployments need to use $public_ipv4
advertise-client-urls: http://0.0.0.0:2379
initial-advertise-peer-urls: http://0.0.0.0:2380
# listen on both the official ports and the legacy ports
# legacy ports can be omitted if your application doesn't depend on them
listen-client-urls: http://0.0.0.0:2379
listen-peer-urls: http://0.0.0.0:2380

Recommended reading:

Cloud config docs
Using CoreOS

Leave a Reply

Your email address will not be published. Required fields are marked *