Alex's Slip-box

These are my org-mode notes in sort of Zettelkasten style

Kubectl

:ID: BC7E2058-A3F6-4149-9CA3-902B6BDE5D1F

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

For some of these commands, use the -n flag to specify the namespace if the namespace wasn’t already set with set-context

Description Command
Get namespaces kubectl get ns
Set namespace kubectl config set-context –current –namespace=foo
Show config kubectl config view
Show current namespaces kubectl config view (then grep namespace)
Show current context kubectl config current-context
Set current context kubectl config use-context foo
Remove context kubectl config unset contexts.foo
Get all pods kubectl get pods
Exec kubectl exec -it mypod – bash
Get deployment info kubectl get deployments foo -o yaml
Nuke everything in a namespace kubectl delete all –all -n foospace

# Recipes

# forward a port

kubectl port-forward --namespace foospace $(kubectl get pods --namespace foospace --selector "app=mssql" --output=name) 1433:1433

This executes an inner command to get the pod name from a selector.

# Get container ID

Example: get the container ID for the web container

kubectl get po --template '{{range.items}}{{.metadata.name}}{{end}}' -n foospace --selector=component=web

# Copy remote file to local

kubectl cp hubble/$(kubectl get po --template '{{range.items}}{{.metadata.name}}{{end}}' -n foospace --selector=component=web):/path/to/remote/file /path/to/local

Search Results