Installing Container Linux on VMware

I have a VMware vCenter configuration at home. Two R710 servers connected as a cluster (VMUG subscription).

I was having a little trouble with installing CoreOS (aka Container Linux) and in general have issues due to most tutorials using Vagrant, Virtual Box, AWS, GCS, or even VMware Wrokstation. None of them are a problem honestly but I do have a bit more of an involved local setup and there doesn’t seem to be much in the way of how to’s if you don’t have a VMware configuration.

Anyway, setting up CoreOS took a couple of tries but I got it done. It’s not all that hard honestly.

1. Download the CoreOS iso at https://coreos.com/releases
2. In vCenter, Create a new virtual machine.
3. Configure with 2 CPUs, 2 Gigs of RAM, and 40 Gigs of disk. It only needs 8 apparently but updates are by snapshot to new partitions so it’s nice to have space.
4. Under the virtual machine settings, VM Options, Boot Options, click the ‘Force BIOS setup’ checkbox.
5. Open a console.
6. Boot the VM.
7. You’ll be at a BIOS screen, under the VMRC menu, select the downloaded coreos iso.
8. Under boot, make sure you’re booting to CD
9. Save and boot.
10. Once it’s up and at a core@localhost prompt, you’ll need to create a password.

sudo openssl passwd -1 > cloud-config-file

11. Edit the cloud-config-file like so. The interpreter must find the first line as it is or it’ll fail:

#cloud-config
users:
  - name: 'login-name'
    passwd: 'openssl generated passwd'
    groups:
      - sudo
      - docker
hostname: hostname.domain.name

12. Install coreos by running this command:

sudo coreos-install -d /dev/sda -C stable -c cloud-config-file

13. Under VMRC, unmount the iso.
14. Reboot
15. Log in.
16. The system starts in DHCP mode if you didn’t configure it in the cloud config file. To give it a static ip, in ”’/etc/systemd/network”’, create a file called 00-ens192.network. It can be any file name but starting with numbers will order the startup if you configure other bits of the system.

[Match]
Name=[interfacename]

[Network]
DNS=[dns]
Address=[ipaddress]
Gateway=[gatewayaddress]

And done

This entry was posted in Computers. Bookmark the permalink.

Leave a Reply

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