AWS Prerequisites and Permissions
Prepare your environment to run DKP with AWS
Fulfilling the prerequisites involves completing these two areas:
DKP prerequisites
AWS prerequisites
1. DKP Prerequisites
Before you begin using Konvoy, you must have:
An x86_64-based Linux or macOS machine.
The
dkp
binary for Linux, or macOS.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 AWS account with credentials configured.
For 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.0_linux_amd64.tar.gz
) to load registry.For air-gapped environment ONLY:
Linux machine (bastion) that has access to the existing VPC.
The
dkp
binary on the bastion.kubectl for interacting with the running cluster on the bastion.
An existing local registry.
Ability to download artifacts from the internet and then copy those onto your bootstrap machine.
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 AWS defaults to deploying an m5.xlarge
instance with an 80GiB root volume for control plane nodes, 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 AWS defaults to deploying am5.2xlarge
instance with an 80GiB root volume for worker nodes, which meets the above requirements.
If you use these instructions to create a cluster on AWS 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.
Using these default images work, but due to missing optimizations, the created cluster will have certain limits. We suggest using Konvoy Image Builder to create a custom AMI to take advantage of enhanced cluster operations.
2. AWS Prerequisites
Before you begin using Konvoy with AWS, you must:
For multi-tenancy, every tenant should be in a different AWS account to ensure they are truly independent of other tenants in order to enforce security.
Export the AWS region where you want to deploy the cluster:
CODEexport AWS_REGION=us-west-2
Export the AWS profile with the credentials you want to use to create the Kubernetes cluster:
CODEexport AWS_PROFILE=<profile>