Kubernetes Aws basic

- Create Ubuntu EC2 instance
apt-get install update
- install AWS CLI
apt install awscli
apt-get install python
- Install kubectl
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
- Create an IAM user/role with Route53, EC2, IAM and S3 full access
- Attach IAM role to ubuntu server
IAM user permission
The IAM user to create the Kubernetes cluster must have the following permissions:
AmazonEC2FullAccess
AmazonRoute53FullAccess
AmazonS3FullAccess
IAMFullAccess
AmazonVPCFullAccess
Note: If you create IAM user with programmatic access then provide Access keys.
aws configure
- Install kops on Ubuntu instance:
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
- Create a Route53 private hosted zone (you can create Public hosted zone if you have a domain)
- create an S3 bucket
aws s3 mb s3://dev.af.alvis.in
- Expose the environment variable:
export KOPS_STATE_STORE=s3://dev.af.alvis.in
- Create ssh keys before creating a cluster
ssh-keygen
- Create Kubernetes cluster definitions on S3 bucket
kops create cluster — cloud=aws — zones=us-east-1e — name=dev.af.alvis.in — dns-zone=alvis.in — dns private
- Create a Kubernetes cluster
kops update cluster dev.af.alvis.in — yes
- Validate your cluster
kops validate cluster
- To list nodes
kubectl get nodes