gcloud auth login gcloud projects list gcloud config set project gcloud compute instances list
gcloud compute instances create cks-master --zone=europe-west3-c
--machine-type=e2-medium
--image=ubuntu-1804-bionic-v20201014
--image-project=ubuntu-os-cloud
--boot-disk-size=50GB
gcloud compute instances create cks-worker --zone=europe-west3-c
--machine-type=e2-medium
--image=ubuntu-1804-bionic-v20201014
--image-project=ubuntu-os-cloud
--boot-disk-size=50GB
gcloud compute ssh cks-master gcloud compute ssh cks-worker
To build a docker image:- docker build -t . For e.g. - docker build -t myapp .
To tag an image:- docker tag : : For e.g. - docker tag myapp:latest vinod827/myapp:1.0.0
To push a docker image:- docker push : For e.g. - docker push vinod827/myapp:1.0.0
To pull an image from container registry (here docker hub as an example):- docker pull For e.g. - docker pull nginx docker pull vinod827/myapp:1.0.0
Please note that if you are pushing or pulling from a private docker registry then you need to sign-in first using the docker login command
To run a conatiner on terminal:- docker run <detached mode flag -d> <port binding flag -p> <container name is optional --name> For e.g. docker run -d -p 3000:8080 --name myapp1 vinod827/demo:3.0 docker run -d -p 8080:80 --name mynginx nginx
To see all docker containers:- docker ps
To exec into a running container:- docker inspect
To stop a container:- docker stop
To create a pod:- kubectl run --image For e.g. - kubectl run mynginx --image nginx
To describe a pod:- kubectl describe pod For e.g. - kubectl describe pod mynginx
To get or see all pods:- kubectl get pods
To delete a pod:- kubectl delete pod
To create a deployment:- kubectl create deployment --image kubectl create deployment mynginxdeployment --image nginx
To get all deployment:- kubectl get deployment
To describe a deployment:- kubectl describe deployment
To delete a deployment:- kubectl delete deployment kubectl expose pod mydocker --name mydocker-svc --port 8080 --type NodePort
To edit a deployment:- kubectl edit deployment
To create a secret to pull image from Private Docker Container Registry:-
kubectl create secret docker-registry mydocker-registry --docker-server=
--docker-username= --docker-password=
--docker-email=
For e.g. - kubectl create secret docker-registry mydocker-registry --docker-server=https://index.docker.io/v2/
--docker-username=vinod827 --docker-password=XYZ
--docker-email=vinod827@gmail.com
To login to AWS Kubernetes account from terminal:- aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 754178572197.dkr.ecr.us-east-1.amazonaws.com
To create a Kubernetes cluster on AWS EKS:-
eksctl create cluster --name --region
For e.g. -
eksctl create cluster
--name my-cluster
--region us-west-2 \
To work with Kubernetes context:- kubectl config get-contexts kubectl config current-context
To check current namespace:- kubectl config view --minify | grep namespace:
To change a namespace:- kubectl config set-context --current --namespace= <>
To create a configmap:- kubectl create configmap my-app-config --from-literal=key1=config1 --from-literal=key2=config2
To create a secret:- kubectl create secret generic mysecret --from-literal=key1=config1 --from-literal=key2=config2