Kubernetes, Konvoy

How to Deploy a Kubernetes Cluster on AWS

Mar 15, 2021

Alex Hisaka

D2iQ

If your organization is planning to use AWS for deploying new releases, the deployment process can be tricky for teams outside of operations to learn and use, especially for those who don’t have expertise in the tooling to automate deployment. And, because there are several ways to deploy Kubernetes on AWS, including Amazon’s own EKS, understanding the different deployment options can be tough to navigate.

 

D2iQ Konvoy removes deployment complexities on AWS by providing best-of-breed, open-source components needed for Day 2 operations, such as Prometheus, Grafana, and more. No extra steps or custom automation.

 

In this tutorial, we’ll show you how to deploy Kubernetes on AWS using a single command in a matter of minutes.

 

Before we get started, let’s talk about a few prerequisites you’ll need:

  • Azure CLI installed on your workstation
  • Docker installed on your workstation
  • Kubectl CLI installed on your workstation
  • Proper AWS credentials
     

Step 1: Authenticate D2iQ Konvoy to AWS

Start by downloading the D2iQ Konvoy installer and authenticating it to your AWS account. 

 

Step 2: Initialize Your Cluster Configuration File

Once your account is authenticated, initialize your cluster configuration file using the D2iQ Konvoy$ konvoy init command.
 

Step 3: Specify the AWS provisioner

To prepare the deployment to aWS, specify the AWS provisioner. The resulting cluster.yaml file declaratively describes the cluster specification so that you can repeatedly and consistently deploy standardized clusters. 
 

You can see that the configuration is extensible and provides a significant amount of flexibility in the completed Kuebernetes cluster configuration. This includes the cloud infrastructure, like region vpc, availability zone, and the configuration of cluster machines or nodes.
 

It also describes the versions of Kubernetes and the components needed for a production-grade cluster. These are described as cluster add-ons that can be turned “on” or “off” based on your project requirements. 
 

Step 4: Deploy Your Cluster

Next, start the deployment by running the D2iQ Konvoy$ konvoy up command. Answer the question “yes”, or D2iQ Konvoy$ konvoy up --yes, so you’re not prompted when it tells you it’s going to take 15 minutes to deploy.
 

Step 5: Set-up Your Kube Config File

Now that your cluster is complete, run the D2iQ Konvoy$ konvoy apply kubeconfig command to set up your cube config file. This will allow you to run regular Kube cuddle commands against your newly created Konvoy cluster. 
 

Step 6: Access the D2iQ Konvoy Dashboard

After you set-up your Kube config file, you’ll be presented with a link to the D2iQ Konvoy landing page. Once logged in using the credentials provided, you will have access to the Kubernetes dashboard, as well as the other add-ons that make your cluster production-grade, including all your monitoring, alerting, and other enabled add-ons. 
 

And that’s it! In less than five minutes, you were able to get a Kubernetes cluster up and running in AWS.
 

Want to see more Kubernetes tutorials like this? Subscribe to the D2iQ YouTube channel, or sign-up for one of our upcoming Kubernetes workshops.

Ready to get started?