Table of Contents generated with DocToc

Docker

View images

docker images

Build image from dockerfile

docker build -t anuragkapur/node-docker-hello-world .

Remove image

docker rmi anuragkapur/node-web-app

Run an image

# Default run commad
docker run 678422363581.dkr.ecr.eu-west-2.amazonaws.com/zzish-api:1.7.0

# Run image and map conatiner port to a port on the host machine
# Map conatiner port 3000 to 8080 on host machine
docker run -p 8080:3000 anuragkapur/node-docker-hello-world

Stop a container

docker stop <containerId>

List containers

docker container ls

Docker system cleanup

docker system prune

Login and pull image from AWS ECR

aws ecr get-login --region eu-west-2 --no-include-email
# Run the command returned in the output of the command above
docker pull 678422363581.dkr.ecr.eu-west-2.amazonaws.com/api:v1.7.1

Push image to container registry

docker push anuragkapur/node-docker-hello-world

Copy file from container to localhost

docker cp <containerId>:/file/path/within/container /host/path/targets

SSH into container

docker exec -it <containerId> /bin/bash

Kubernetes

https://kubernetes.io/docs/reference/kubectl/cheatsheet/

Get pods and node info

kubectl get pods -o wide

Ger pods filtered by a label

kb get nodes --show-labels --selector=kubernetes.io/lifecycle=spot

Watch pod status

watch -n 1 -x kubectl get pods -n prod

Delete pod

kb delete pods quizplayer-556bd5d7f8-gxczl

Get resource utilisation

kubectl top pod
kubectl top node

View Node port

kubectl describe service --all-namespaces | grep -i nodeport

View logs

kb logs stag-spitafields-99b8bf696-ffn76 -n stag -f
kb logs -l app=spitafields -n prod -f --max-log-requests=10

Deployments

kb get deployments
kb get deployments -n prod
kb edit deployment quizalize

Port forward into a poc

kb port-forward carmel-9d8d57f75-9qx58 -n stag 3100:3100

Config maps

kubectl create config stag-spitafields-25apr19v1 --from-env-file=tech-stuff/workspace/zzish/kubernetes/test-environment/spitafields/spitafields.stag.env -n stag
kubectl get configmap stag-spitafields-24august -n stag -o yaml
kubectl get pods -n prod | grep Evicted | awk '{print $1}' | xargs kubectl delete pod -n prod

SSH into a pod

kb exec -it stag-spitafields-6f755588dc-vrldn sh

Get service info (including FQDN)

kubectl get service ecsdemo-frontend -o wide

Working with horizontal pod auto-scaler

Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/

Get config

kubectl get hpa

Edit config

kubectl edit hpa

EKS

Create cluster

eksctl create cluster --name ak-eks-playground --version 1.13 --nodegroup-name standard-workers --node-type t3.medium --nodes 3 --nodes-min 1 --nodes-max 4 --node-ami auto --region eu-central-1

Get clusters

eksctl get clusters

Delete cluster

eksctl delete cluster --name ak-eks-playground --region eu-west-1

Get nodegroup of a cluster

eksctl get nodegroup --cluster ak-eks-playground --region eu-central-1