AWS and Kubernetes can be intimidating at times, and setting up K8s clusters manually can lead to headaches if not properly configured. Luckily, eksctl allows you to create your own EKS cluster in a matter of minutes without headache or hassle. In this guide, we will install the necessary command line tools and create a Kubernetes cluster on AWS
What is Kubernetes?
Kubernetes is open-source software that allows you to manage and deploy any number of containers. For a simple explanation of containers and Kubernetes clusters, see the Illustrated Children's Guide to Kubernetes.
Installing AWS CLI
First, we need to install Amazon's command-line tool that allows us to set up and configure AWS services from the command line. These install directions come from AWS Documentation.
Installing on Linux
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "aws.zip"
unzip aws.zip
sudo ./aws/install
Installing on Windows
Download and run the .msi installer for AWS CLI here
Installing on Mac
Download and run the .pkg installer for AWS CLI here
Configuring AWS CLI
Once you have aws
installed, you will need to configure it to communicate with your aws account. In order to do that, you will need to log into your aws management console, and under IAM settings you will need to get an access key and secret key.
Once you have that, run the command
aws configure
and respond to each of the the prompts appropriately.
Installing kubectl
kubectl
is Kubernetes' command-line tool that allows you to manage your Kubernetes clusters. Kubernetes documentation has a pretty good overview of the things that you can do using kubectl here. For more options for installing kubectl, refer to the documentation here
Installing on Debian-based linux
sudo apt-get update && sudo apt-get install -y apt-transport-https gnupg2 curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
Installing with Centos/Redhat/Fedora
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
yum install -y kubectl
Installing with choco on Windows
To install kubectl using the chocolatey package manager:
choco install kubernetes-cli
Installing using homebrew on Mac
To install kubectl using the homebrew package manager
brew install kubectl
Installing eksctl
eksctl
is a CLI for creating and managing Amazon EKS clusters.
Installing eksctl on Linux
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
Installing with choco on Windows
To install eksctl using the chocolatey package manager:
choco install eksctl
Installing using homebrew on Mac
To install eksctl using the homebrew package manager
brew tap weaveworks/tap
brew install weaveworks/tap/eksctl
At this point, we are ready to spin up our AWS Cluster
eksctl create cluster
Will create a brand new cluster with a random name and two m5.large worker nodes.
Congratulations! You have created your first EKS cluster. From here, you might want to read more on the eksctl documentation or look into AWS's recommended next steps
Top comments (0)