OnPremises Provider
The OnPremises provider will automate the creation of a kubeadm Kubernetes cluster using pre-existing infrastructure (bare-metal or VMs) and it will install SD modules on top of it.
This document provides a through guidance abount every aspect of the configuration file. You can find the reference schema for this provider here.
Prerequisites
The VMs or bare-metal machines will need to:
- Have a working Linux OS with
systemd(supported OSes: RHEL and derivatives, Debian and derivatives) - Have an SSH server installed and enabled
- Have a user with an SSH public key to allow passwordless authentication. This user must also be able to
sudowithout password.
The same user must be configured on all the VMs. This is needed by the Provisioner's Ansible automations. See the annex to have some guidance about creating such users.
The environment from which you run furyctl also needs to be allowed to reach your VMs via SSH.
If you want to install SD on bare-metal nodes, the Install SD on Bare-Metal Nodes document contains more specific guidance. After setting your environment, come back here to complete the configuration.
Note on security
The OnPremises provider will turn off swap on all the machines and put SELinux in permissive mode for RHEL and derivatives. See more about the kubeadm requirements here.
Sometimes, security software causes slow downs, timeouts, and performance issues. In that case, we need to disable the security software to see if the issue is related to it.
In general, it's recommended to use security software that is container aware and designed to run on top of Kubernetes, typically using DaemonSet deployments, such as Sysdig.
Legacy host level security software installations (SSH access, running as root-like users, and/or installed by the package manager), may not work well in Kubernetes environments.
PKI
The cluster will need a Public Key Infrastructure (PKI) to create certificates for both the ETCD database and the Control Plane.
To create a PKI with self-signed certificates, run:
furyctl create pki
This will create a folder named pki in your current working directory.