
This guide shows how to create an Ignition configuration to deploy a Fedora CoreOS (FCOS) cloud server instance at Vultr. Ignition files are JSON formatted provisioning instructions that configure storage, file systems, systemd units, networks, users, and other items during the first boot of the system. You must supply an Ignition file in the Vultr Console when you deploy an FCOS server. The preferred way to create an Ignition file is by transpiling a Fedora CoreOS Configuration (FCC) file with the Fedora CoreOS Config Transpiler, fcct.
The fcct utility is available for Linux, macOS, and Windows. Windows users may need to install Gpg4win to verify the file signature.
Download the Fedora signing keys.
Import the keys to gpg.
Download the latest version of fcct for your architecture. This example uses fcct-x86_64-unknown-linux-gnu.
Download the corresponding detached signature. This example uses fcct-x86_64-unknown-linux-gnu.asc.
Verify the download.
Make the file executable.
Fedora CoreOS Configuration (FCC) files are in YAML format. See the full FCC YAML language specification for more information, and advanced users may prefer the specification summary.
On your local system, create an example FCC file.
This is a minimal, working FCC file. The public SSH key is truncated for clarity.
This will provision an FCOS instance with an SSH key for the core user, and will make the core user a member of the sudo and docker groups. With this minimal configuration, the core user can log in with the private key, but has no password.
Add a password_hash if you need a password for the core user. The password is accepted for local authentication at the console, but FCOS will not allow password authentication via SSH. Use a YAML stanza as shown. The password hash is truncated for clarity.
Here is the completed FCC file example.
You can set the hostname via Ignition through one of two methods:
Include a YAML stanza in your .fcc file like this example. Replace example-hostname with your server hostname.
Include a YAML stanza in your .fcc file like this example. Replace example-hostname with your server hostname.
Here's an FCC example with the hostname configured, as described before in Option 1.
Ignition can also configure the server for a Virtual Private Cloud (VPC). Before proceeding, make sure you understand how to use a Vultr VPC.
To configure a VPC, include a YAML stanza that writes your network information. Replace the example IP address with your address.
Here's a full FCC example file that includes all the sections described before.
The deployed cloud server has two adapters:
The example will:
The FCC file must be transpiled to Ignition format before use.
Deploy a new server in your Vultr Console.
Select Fedora CoreOS as the server type from the Operating System list.
Paste the contents of your example.ign file to the Ignition field.
Select your deployment options and click Deploy Now.
Find more information about Ignition and FCC at the Fedora CoreOS site.
0 Comments
Be the first to comment and share your perspective with the community.