quickstart5 min read

Create a Kubernetes Cluster on AWS, GCP or Azure in 20 Minutes

SFEIR Institute

Key Takeaways

  • 5 CLI commands are enough to create an EKS, GKE or AKS cluster
  • EKS holds 30% market share with 2M customers, AKS 20% with 1.5M (Atmosly 2025)
TL;DR: Creating a Kubernetes cluster on the cloud takes 5 CLI commands. This guide covers EKS (AWS), GKE (GCP), and AKS (Azure) with copy-paste examples. You'll deploy your first application in under 20 minutes.

To master complete Kubernetes cluster administration in production, discover the LFS458 Kubernetes Administration training.

Why Deploy Kubernetes on Managed Cloud?

Managed Kubernetes is the standard solution for production teams. According to the CNCF Annual Survey 2025, 82% of container users run Kubernetes in production. Managed services like EKS, GKE, and AKS eliminate control plane management.

Creating a Kubernetes cluster on AWS, GCP, or Azure allows infrastructure engineers and Cloud operations engineers to focus on workloads rather than underlying infrastructure. EKS holds 30% market share with 2 million customers, while AKS represents 20% with 1.5 million customers (Atmosly).

Key takeaway: Managed cloud handles control plane updates, high availability, and security patches automatically.

What Are the Technical Prerequisites?

Before creating your Kubernetes cloud cluster, verify these elements:

ElementAWS (EKS)GCP (GKE)Azure (AKS)
Required CLIaws + eksctlgcloudaz
Configured accountAWS CLI with credentialsgcloud auth loginaz login
Quota verifiedEC2 + VPCCompute EngineVM quota
kubectlv1.29+v1.29+v1.29+

Install kubectl if not already done:

# macOS
brew install kubectl

# Linux
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl && sudo mv kubectl /usr/local/bin/

For a local first approach before cloud, check our guide Install Kubernetes locally with Minikube, Kind and K3d.

How to Create an EKS Cluster on AWS?

Amazon EKS is the most widely used managed Kubernetes service. With eksctl, you create a production-ready cluster in one command.

Step 1: Install eksctl

# macOS
brew tap weaveworks/tap
brew install weaveworks/tap/eksctl

# 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

Step 2: Create the EKS Cluster

eksctl create cluster \
--name my-prod-cluster \
--region eu-west-3 \
--nodegroup-name workers \
--node-type t3.medium \
--nodes 2 \
--nodes-min 1 \
--nodes-max 4 \
--managed

This command provisions a VPC, subnets, an EKS cluster, and a node group in about 15 minutes. The --managed flag enables AWS-managed node groups.

Key takeaway: Use --node-type t3.medium for development environments and m5.large or higher for production.

Step 3: Verify Connection

kubectl get nodes
# NAME                                           STATUS   ROLES    AGE   VERSION
# ip-192-168-xx-xx.eu-west-3.compute.internal   Ready    <none>   2m    v1.29.x

To deepen your cluster management skills, explore our Kubernetes tutorials and practical guides.

How to Create a GKE Cluster on GCP?

Google Kubernetes Engine benefits from Google's expertise as Kubernetes creator. GKE offers autopilot mode that automatically manages nodes.

Step 1: Configure GCP Project

# Authentication
gcloud auth login

# Select project
gcloud config set project MY_PROJECT_ID

# Enable Kubernetes Engine API
gcloud services enable container.googleapis.com

Step 2: Create GKE Cluster

gcloud container clusters create my-gke-cluster \
--zone europe-west1-b \
--num-nodes 2 \
--machine-type e2-medium \
--enable-autoscaling \
--min-nodes 1 \
--max-nodes 5

GKE automatically creates VPC networks and configures horizontal autoscaling. The cluster is operational in 5 to 8 minutes.

Step 3: Retrieve Credentials

gcloud container clusters get-credentials my-gke-cluster --zone europe-west1-b

kubectl cluster-info
# Kubernetes control plane is running at https://xxx.xxx.xxx.xxx

The LFS458 Kubernetes Administration training covers multi-cloud management and deployment strategies in detail.

How to Create an AKS Cluster on Azure?

Azure Kubernetes Service integrates natively with the Microsoft ecosystem. AKS does not charge for the control plane.

Step 1: Create a Resource Group

az login

az group create \
--name rg-kubernetes-prod \
--location westeurope

Step 2: Create AKS Cluster

az aks create \
--resource-group rg-kubernetes-prod \
--name my-aks-cluster \
--node-count 2 \
--node-vm-size Standard_B2s \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 5 \
--generate-ssh-keys

AKS provisions the cluster in 8 to 12 minutes. The --generate-ssh-keys flag automatically creates necessary SSH keys.

Step 3: Configure kubectl

az aks get-credentials \
--resource-group rg-kubernetes-prod \
--name my-aks-cluster

kubectl get nodes
Key takeaway: AKS includes Azure Monitor and Azure Policy for free. Enable them for compliance and observability.

How to Deploy Your First Application?

Once the cluster is created, deploy a test application to validate functionality:

# nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-demo
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.25
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
type: LoadBalancer
selector:
app: nginx
ports:
- port: 80
targetPort: 80

Apply the manifest:

kubectl apply -f nginx-deployment.yaml

# Verify deployment
kubectl get pods -w

# Get external IP
kubectl get svc nginx-service

The LoadBalancer automatically exposes your application via a public IP. To go further, check Deploy your first Kubernetes pod in 15 minutes.

What Are Initial Security Best Practices?

Secure your cluster from creation. Configure Network Policies immediately:

# deny-all-ingress.yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-all-ingress
spec:
podSelector: {}
policyTypes:
- Ingress

This policy blocks all incoming traffic by default. Then add explicit exceptions. Our NetworkPolicies quick reference details all possible configurations.

For a comprehensive approach to Kubernetes security, see Securing your Kubernetes workloads: essential best practices guide.

Key takeaway: Enable RBAC, limit pod privileges, and scan your images with tools like Trivy before deployment.

What's the Next Step?

You now have an operational Kubernetes cluster on the cloud. Here's how to progress:

  1. Deploy Helm to manage your applications: Getting started with Helm
  2. Prepare for production with our guide Kubernetes deployment and production
  3. Deepen your skills via the Complete Kubernetes Training Guide

According to Spectro Cloud State of Kubernetes 2025, 80% of organizations manage an average of 20+ clusters. A CKA certification validates your skills for this multi-cluster reality.


Take Action: Train with SFEIR

To transform these first steps into certified expertise, SFEIR Institute offers official Linux Foundation trainings:

These trainings are delivered by practitioners who deploy Kubernetes in production. Contact our advisors to organize a training adapted to your team.