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.

shell
docker pull quay.io/coreos/butane:release

Generating a Login Password

Run the following command on the host machine and enter the password:

shell
# 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:

shell
# 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
text
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.

shell
# 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:

text
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.

shell
# 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.

shell
sudo -i
scp root@your_ipAddress:/root/config.ign /root

Run the following command and complete the installation as prompted:

shell
nestos-installer install /dev/sda --ignition-file config.ign

After the installation is complete, restart NestOS.

shell
systemctl reboot

Complete.