-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
dda9e7d
commit 4bfb7b5
Showing
1 changed file
with
91 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
``` | ||
|