CoreOS is a lightweight OS with docker. Here is how to install it on qemu-kvm, aka Virtual Machine Manager.
Download the CoreOS iso, create a new VM at least 2G ram, boot the VM.
Reset the password for core user, ssh to the machine, create a install.yaml file
#cloud-config ssh_authorized_keys: - ssh-ed25519 AAAA…
Install coreos to disk with the following command:
sudo coreos-install -d /dev/sda -C stable -c /home/core/install.yaml
Poweoff the vm. Remove the iso image and update the boot order. Boot the VM, ssh to it with your ssh key. DockerCE is pre-installed in the stable channel.
▶ ssh [email protected] Warning: Permanently added '192.168.86.200' (ECDSA) to the list of known hosts. Container Linux by CoreOS stable (2303.3.0) [email protected] ~ $ docker --version Docker version 18.06.3-ce, build d7080c1
By default, coreos gets IP from DHCP. To setup static IP, ssh to the machine and create the following file
# /etc/systemd/network/static.network [Match] Name=ens3 [Network] Address=192.168.2.22/24 Gateway=192.168.2.1 DNS=192.168.2.53
Then run systemctl restart systemd-networkd to restart networking.
Now let’s deploy our first container on coreos. My favorite image is etherpad. The following will get etherpad up and running in less than a minute.
coretest ~ # docker pull etherpad/etherpad coretest ~ # docker run --name etherpad -e ADMIN_PASSWORD='this-is-a-test' -p80:9001 -d --restart=always etherpad/etherpad
Next step will be to read this step-by-step guide for setting up kubernetes on coreos. Did you know Rackspace cloud offers CoreOS? Couple of catchas with their image
The password provided to you during provisioning is meant for the core user, not root.
Their image is outdated. Not to worry, it can be easily updated with the following commands
systemctl unmask update-engine systemctl start update-engine update_engine_client -update reboot