Skip to main content
Skip table of contents

Pre-provisioned Prerequisite Configuration

In order to fulfill all the prerequisites for a successful implementation on a Pre-provisioned environment, there will be infrastructure requirements as well as machine requirements. Please read all the sections on this page to ensure you have met all prerequisites.

Prerequisites for 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.

  • A Container engine/runtime installed is required to install DKP:

    • Version DockerĀ® container engine version 18.09.2 or higher installed for Linux or MacOS - On macOS, Docker runs in a virtual machine which needs configured with at least 8 GB of memory.

    • Version 4.0 of Podman or higher for Linux. Host requirements found here: Host Requirements

  • To use a local registry whether air-gapped or non-air-gapped environment, download and extract the bundle. Download the Complete DKP Air-gapped Bundle for this release (i.e. dkp-air-gapped-bundle_v2.7.1_linux_amd64.tar.gz) to load registry.

  • For an air-gapped environment, create a working registry:

  • Resource requirements

  • Pre-provisioned Override Files

When in an air-gapped environment, you must follow the steps described in the Air-gapped Define Environment and Docker Registry also as a prerequisite.

DKP uses localvolumeprovisioner as the default storage provider. However, localvolumeprovisioner is not suitable for production use. You should use a Kubernetes CSI compatible storage that is suitable for production.

You can choose from any of the storage options available for Kubernetes. To disable the default that Konvoy deploys, set the default StorageClasslocalvolumeprovisioner as non-default. Then set your newly created StorageClass to be the default by following the commands in the Kubernetes documentation called Changing the Default Storage Class.

Machine Specifications

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 commands systemctl stop firewalld then systemctl disable firewalld, so that firewalld remains disabled after the machine restarts.

  • For a Pre-provisioned environment using Ubuntu 20.04, ensure the machine has the /run directory mounted with exec permissions.

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 commands systemctl stop firewalld then systemctl disable firewalld, so that firewalld remains disabled after the machine restarts.

  • For a Pre-provisioned environment using Ubuntu 20.04, ensure the machine has the /run directory mounted with exec permissions.

Swap is disabled. The kubelet does not have generally-available support for swap. Due to variable commands, refer to your operating system documentation.

Next Step

Pre-provisioned Set Infrastructure

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.