Skip to main content
Skip table of contents

AWS Prerequisites and Permissions

Prepare your environment to run DKP with AWS

Fulfilling the prerequisites involves completing these two areas:

  1. DKP prerequisites

  2. 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.

    • An AWS Air-Gapped Machine Image 

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:

  • Create AWS Minimal Permissions and Role to Create Clusters

  • Create AWS Cluster IAM Policies, Roles, and Artifacts

  • 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:

    CODE
    export AWS_REGION=us-west-2
  • Export the AWS profile with the credentials you want to use to create the Kubernetes cluster:

    CODE
    export AWS_PROFILE=<profile>

Next Step

AWS Using Konvoy Image Builder

JavaScript errors detected

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

If this problem persists, please contact our support.