diff --git a/README.md b/README.md index 8323aa8..1740ebd 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,93 @@ # 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 + +1. Python3 +2. AWS CLI +3. 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 + +1. AmazonEC2FullAccess +2. AmazonS3FullAccess +3. IAMFullAccess +4. 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 +``` + +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 +``` +