Azure Prerequisites
Prepare your machine and environment to run DKP
DKP Prerequisites
Before you begin using DKP you must have:
An x86_64-based Linux or macOS machine.
Download the
dkp
binary for Linux, or macOS. To check which version of DKP you installed for compatibility reasons, run thedkp version -h
command (dkp version).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
kubectl for interacting with the running cluster.
A valid Azure account with credentials configured.
Create a custom Azure image using KIB.
On macOS, Docker runs in a virtual machine. Configure this virtual machine with at least 8GB of memory.
Control plane nodes
You should have at least three control plane nodes. Each control plane node should have at least:
4 cores
16 GiB memory
Approximately 80 GiB of free space for the volume used for
/var/lib/kubelet
and/var/lib/containerd
.Disk usage must be below 85% on the root volume.
DKP on Azure defaults to deploying a Standard_D4s_v3
virtual machine with an 128 GiB volume for the OS and an 80GiB volume for etcd storage, which meets the above requirements.
Worker nodes
You should have at least four worker nodes. The specific number of worker nodes required for your environment can vary depending on the cluster workload and size of the nodes. Each worker node should have at least:
8 cores
32 GiB memory
Around 80 GiB of free space for the volume used for
/var/lib/kubelet
and/var/lib/containerd
.Disk usage must be below 85% on the root volume.
DKP on Azure defaults to deploying a Standard_D8s_v3
virtual machine with an 80 GiB volume for the OS, which meets the above requirements.
If you use these instructions to create a cluster on Azure using the DKP default settings without any edits to configuration files or additional flags, your cluster is deployed on an Ubuntu 20.04 operating system image with 3 control plane nodes, and 4 worker nodes which match the requirements above.
Azure Prerequisites
In Azure, application registration, application objects, and service principals in Azure Active Directory (Azure AD) are used for access. To delegate identity and access management functions to Azure AD, an application must be registered with an Azure AD tenant. An Azure AD application is defined by its one and only application object, which resides in the Azure AD. To access resources that are secured by an Azure AD tenant, the entity that requires access must be represented by a security principal. This requirement is true for both users (user principal) and applications (service principal). Therefore, a service principal is a prerequisite and the next step explains it.