Skip to content

Instantly share code, notes, and snippets.

@hizo
Last active March 13, 2019 22:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hizo/6d84f88e6040468efd0d581aad3cdbce to your computer and use it in GitHub Desktop.
Save hizo/6d84f88e6040468efd0d581aad3cdbce to your computer and use it in GitHub Desktop.
Kubernetes useful commands

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

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

Start Kubernetes

minikube version

minikube start

Now we have kubectl available

  • save pod name: export POD_NAME=$(kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}')
  • kubectl proxy
  • curl http://localhost:8001/api/v1/namespaces/default/pods/$POD_NAME/proxy/
  • kubectl exec -it $POD_NAME bash

Deployments

Deploy app: kubectl run kubernetes-bootcamp --image=gcr.io/google-samples/kubernetes-bootcamp:v1 --port=8080

kubectl get deployments

Services

kubectl expose deployment tomcat-deployment --type=LoadBalancer --port=8080 --target-port=8080 --name=tomcat-load-balancer

kubectl expose deployment/kubernetes-bootcamp --type="NodePort" --port 8080

curl $(minikube ip):$NODE_PORT

curl $(minikube service <servicename> --url)

Create an environment variable called NODE_PORT that has the value of the Node port assigned: export NODE_PORT=$(kubectl get services/kubernetes-bootcamp -o go-template='{{(index .spec.ports 0).nodePort}}')

Get by label: kubectl get pods -l <label>

Apply new label: kubectl label pod $POD_NAME app=v1

kubectl delete service -l run=kubernetes-bootcamp

Scaling

kubectl scale deployments/kubernetes-bootcamp --replicas=4

kubectl get pods -o wide

kubectl set image deployments/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2

kubectl rollout status deployments/kubernetes-bootcamp

kubectl rollout undo deployments/kubernetes-bootcamp

kubectl rollout history

Commands For Cut & Paste

  • kubectl get pods
  • kubectl get pods [pod name]
  • kubectl expose <type name> <identifier/name> [—port=external port] [—target-port=container-port [—type=service-type]
  • kubectl port-forward <pod name> [LOCAL_PORT:]REMOTE_PORT]
  • kubectl attach <pod name> -c <container>
  • kubectl exec [-it] <pod name> [-c CONTAINER] — COMMAND [args…]
  • kubectl label [—overwrite] <type> KEY_1=VAL_1 ….
  • kubectl run <name> —image=image
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment