K8S

AWS CLI

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

EKSCTL

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
eksctl version

KUBECTL

Download latest version from here.

sudo curl --silent --location -o /usr/local/bin/kubectl https://s3.us-west-2.amazonaws.com/amazon-eks/1.30.0/2024-05-12/bin/linux/amd64/kubectl
sudo chmod +x /usr/local/bin/kubectl
kubectl version --client

Create EKS Cluster

eksctl create cluster --name=my-eks \
                      --region=us-east-1 \
                      --zones=us-east-1a,us-east-1b \
                      --version=1.30 \
                      --without-nodegroup
eksctl utils associate-iam-oidc-provider \
    --region us-east-1 \
    --cluster my-eks \
    --approve

Replace ssh-public-key with your actual key-pair name

eksctl create nodegroup --cluster=my-eks \
                       --region=us-east-1 \
                       --name=node2 \
                       --node-type=t3.medium \
                       --nodes=3 \
                       --nodes-min=2 \
                       --nodes-max=4 \
                       --node-volume-size=20 \
                       --ssh-access \
                       --ssh-public-key=Key \
                       --managed \
                       --asg-access \
                       --external-dns-access \
                       --full-ecr-access \
                       --appmesh-access \
                       --alb-ingress-access

Steps

1. Clone the repo

git clone https://github.com/Pramod858/K8S.git

2.Change the dir and give permission

cd K8S
chmod +x *

or

cd K8S
find . -type f -not -name 'README.md' -exec chmod +x {} +

3. Create Name Space

kubectl create ns webapps

4. Create Service Account

kubectl apply -f service_account.yaml

5. Create Role

kubectl apply -f create_role.yaml

6. Bind Role to Service Account

kubectl apply -f bind_role_to_service.yaml

7. Create Secret (Ref.)

kubectl apply -f create_secret.yaml -n webapps

8. Describe Secrete

kubectl describe secret mysecretname -n webapps