Installation and Deployment
Deploying NestOS on VMware
This guide describes how to configure latest NestOS in VMware.
Currently, NestOS supports only the x86_64 architecture.
Before You Start
Before deploying NestOS, make the following preparations:
- Downloading the NestOS ISO
- Preparing the config.bu File
- Configuring the Butane Tool (on Linux or Windows 10)
- A host machine with VMware installed
Initial Installation and Startup
Starting NestOS
When NestOS is started for the first time, Ignition is not installed. You can use the nestos-installer component to install Ignition as prompted.
Producing an Ignition File
Obtaining Butane
You can use Butane to convert a .bu file into an Ignition file. Ignition configurations were designed to be human readable, but difficult to write, to discourage users from attempting to write configs by hand. Butane supports multiple environments. You can use Butane in a Linux or Windows host machines or in container environments.
docker pull quay.io/coreos/butane:release
Generating a Login Password
Run the following command on the host machine and enter the password:
$ openssl passwd -1 -salt yoursalt
Password:
$1$yoursalt$1QskegeyhtMG2tdh0ldQN0
Generating an SSH Key Pair
Run the following command on the host machine to obtain the public key and private key for SSH login:
$ ssh-keygen -N '' -f ./id_rsa
Generating public/private rsa key pair.
Your identification has been saved in ./id_rsa
Your public key has been saved in ./id_rsa.pub
The key fingerprint is:
SHA256:4fFpDDyGHOYEd2fPaprKvvqst3T1xBQuk3mbdon+0Xs root@host-12-0-0-141
The key's randomart image is:
+---[RSA 3072]----+
| ..= . o . |
| * = o * . |
| + B = * |
| o B O + . |
| S O B o |
| * = . . |
| . +o . . |
| +.o . .E |
| o*Oo ... |
+----[SHA256]-----+
You can view the id_rsa.pub public key in the current directory.
$ cat id_rsa.pub
ssh-rsa
AAAAB3NzaC1yc2...
Compiling a .bu File
Perform a simple initial configuration. For more details, see the description of Ignition. A simple config.bu file is as follows:
variant: fcos
version: 1.1.0
passwd:
users:
- name: nest
password_hash: "$1$yoursalt$1QskegeyhtMG2tdh0ldQN0"
ssh_authorized_keys:
- "ssh-rsa
AAAAB3NzaC1yc2EAAA..."
Generating an Ignition File
Use the Butane tool to convert the config.bu file to a config.ign file in the container environment.
$ docker run --interactive --rm quay.io/coreos/butane:release \
--pretty --strict < your_config.bu > transpiled_config.ign
Installing NestOS
Use SCP to copy the config.ign file generated by the host machine to NestOS that is initially started, which is not installed to the disk and runs in the memory.
sudo -i
scp root@your_ipAddress:/root/config.ign /root
Run the following command and complete the installation as prompted:
nestos-installer install /dev/sda --ignition-file config.ign
After the installation is complete, restart NestOS.
systemctl reboot
Complete.