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
dkp
binary 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/kubelet
and/var/lib/containerd
.15% free space on the root file system.
Multiple ports open, as described in DKP Ports.
firewalld
systemd service disabled. If it exists and is enabled, use the commandssystemctl stop firewalld
thensystemctl disable firewalld
, so thatfirewalld
remains 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/kubelet
and/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
Block
mode for ObjectStorageDaemons as specified in the requirements table.Multiple ports open, as described in DKP Ports.
firewalld
systemd service disabled. If it exists and is enabled, use the commandssystemctl stop firewalld
thensystemctl disable firewalld
, so thatfirewalld
remains 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.