Sometimes its useful to be able to run some ephemeral containers on kubernetes cluster in order to perform some debugging (i.e. dns resolution, pinging nodes, etc).
Sadly, most of the times, it can be tricky to remember all overrides so here is a small list
Run an ephemeral shell on a random node
Run a container with specific service account
1kubectl run -ti --restart=Never --rm debug --image=alekcander/network-diag --overrides='{ "spec": { "serviceAccount": "terraform-runner" } }' -- sh
shell
Run on a specific node
1kubectl run -ti --restart=Never --rm debug --image=alekcander/network-diag --overrides='{"spec": { "nodeName": "alekc-worker-01"}}' -- sh
shell
Run based on specific selector (ie. amd64)
1kubectl run -ti --restart=Never --rm debug --image=alekcander/network-diag --overrides='{"apiVersion": "v1","spec": { "nodeSelector": {"kubernetes.io/arch": "amd64"}}}' -- sh
shell
Comments