Skip to content

Instantly share code, notes, and snippets.

@constantlycoding
Last active July 5, 2019 17:00
Show Gist options
  • Save constantlycoding/89edf4d9fdbaa4a14566cb1b969c300e to your computer and use it in GitHub Desktop.
Save constantlycoding/89edf4d9fdbaa4a14566cb1b969c300e to your computer and use it in GitHub Desktop.
My Kubernetes bootcamp

Aliases

alias ka='kubectl api-resources'
alias kap='kubectl apply'
alias kc='kubectl cluster-info'
alias kd='kubectl describe'
alias kdl='kubectl delete'
alias ke='kubectl exec'
alias kex='kubectl explain'
alias kep='kubectl expose'
alias kg='kubectl get'
alias klg='kubectl logs'
alias klb='kubectl label'
alias kp='kubectl proxy'
alias kr='kubectl run'
alias kro='kubectl rollout'
alias ks='kubectl scale'
alias kst='kubectl set'
alias kv='kubectl version'

Help

kubectl <command> -h
kex <resource>

Environment variables

DEPLOY_NAME=kubernetes-bootcamp
SVC_NAME=kubernetes-bootcamp
CONTAINER=kubernetes-bootcamp
IMAGE=gcr.io/google-samples/kubernetes-bootcamp:v1
NEW_IMAGE=jocatalin/kubernetes-bootcamp:v2
MASTER_IP=$(minikube ip)

Create deployment

kr $DEPLOY_NAME --image=$IMAGE --port=8080
export POD_NAME=$(kg po -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')
export POD_NAME=$(kg po -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}')
ke -ti $POD_NAME curl localhost:8080

Proxy

kp
curl http://localhost:8001/version
curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME/proxy/

Create service

kep deploy $DEPLOY_NAME --type=LoadBalancer --port=80 --target-port=8080
export NODE_PORT=$(kg svc $SVC_NAME -o go-template='{{(index .spec.ports 0).nodePort}}')
curl $MASTER_IP:$NODE_PORT

Scale

ks deploy $DEPLOY_NAME --replicas=4

Update

kst image deploy $DEPLOY_NAME $CONTAINER=$NEW_IMAGE

Status

kro status deploy $DEPLOY_NAME

Revert

kro undo deploy $DEPLOY_NAME
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment