Pre-provisioned Prerequisites
Fulfill the prerequisites for using a pre-provisioned infrastructure
Before you begin using DKP, you must have:
An x86_64-based Linux or macOS machine.
The
dkpbinary for Linux, or macOS.kubectl for interacting with the running cluster.
Pre-provisioned hosts with SSH access enabled.
An unencrypted SSH private key, whose public key is configured on the above hosts.
Resource requirements
When air-gapped, you must follow the steps described in the Air-gapped Prerequisites page, otherwise you may begin creating the bootstrap cluster.
Control plane machines
You should have at least three control plane machines.
Each control plane machine must have:
4 cores
16 GiB memory
Approximately 80 GiB of free space for the volume used for
/var/lib/kubeletand/var/lib/containerd.15% free space on the root file system.
Multiple ports open, as described in DKP Ports.
firewalldsystemd service disabled. If it exists and is enabled, use the commandssystemctl stop firewalldthensystemctl disable firewalld, so thatfirewalldremains disabled after the machine restarts.
Swap is disabled. The kubelet does not have generally-available support for swap. Due to variable commands, refer to your operating system documentation.
Worker machines
You should have at least four worker machines. The specific number of worker machines required for your environment can vary depending on the cluster workload and size of the machines.
Each worker machine must have:
8 cores
32 GiB memory
Around 80 GiB of free space for the volume used for
/var/lib/kubeletand/var/lib/containerd.15% free space on the root file system
If you plan to use local volume provisioning to provide persistent volumes for your workloads, you must mount at least four volumes to the
/mnt/disks/mount point on each machine. Each volume must have at least 55 GiB of capacity.Ensure your disk meets the resource requirements for Rook Ceph in
Blockmode for ObjectStorageDaemons as specified in the requirements table.Multiple ports open, as described in DKP Ports.
firewalldsystemd service disabled. If it exists and is enabled, use the commandssystemctl stop firewalldthensystemctl disable firewalld, so thatfirewalldremains disabled after the machine restarts.
Swap is disabled. The kubelet does not have generally-available support for swap. Due to variable commands, refer to your operating system documentation.