Kubernetes-Zero-to-Hero
Creating this repo with an intent to make Kubernetes easy for begineers. This is a work-in-progress repo.
Kubernetes Installation Using KOPS on EC2
Create an EC2 instance or use your personal laptop.
Dependencies required
- Python3
- AWS CLI
- kubectl
Install dependencies
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 python3-pip apt-transport-https kubectl
pip3 install awscli --upgrade
export PATH="$PATH:/home/ubuntu/.local/bin/"
Install KOPS (our hero for today)
curl -LO https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '"' -f 4)/kops-linux-amd64
chmod +x kops-linux-amd64
sudo mv kops-linux-amd64 /usr/local/bin/kops
Provide the below permissions to your IAM user. If you are using the admin user, the below permissions are available by default
- AmazonEC2FullAccess
- AmazonS3FullAccess
- IAMFullAccess
- AmazonVPCFullAccess
Set up AWS CLI configuration on your EC2 Instance or Laptop.
Run aws configure
Kubernetes Cluster Installation
Please follow the steps carefully and read each command before executing.
Create S3 bucket for storing the KOPS objects.
aws s3api create-bucket --bucket kops-abhi-storage --region us-east-1
Create the cluster
kops create cluster --name=demok8scluster.k8s.local --state=s3://kops-abhi-storage --zones=us-east-1a --node-count=1 --node-size=t2.micro --master-size=t2.micro --master-volume-size=8 --node-volume-size=8
Important: Edit the configuration as there are multiple resources created which won't fall into the free tier.
kops edit cluster myfirstcluster.k8s.local
Step 12: Build the cluster
kops update cluster demok8scluster.k8s.local --yes --state=s3://kops-abhi-storage
This will take a few minutes to create............
After a few mins, run the below command to verify the cluster installation.
kops validate cluster demok8scluster.k8s.local