brain/src/ops/k8s/kubectl.md

1003 B

kubectl

kubectl is the main command line tool for k8s. See reference

Raw commands

Sometimes it's handy to just run a container without all the yaml mess.

Running a container

kubectl run --image=IMAGE name

apply is not always the answer

Even if you see kubectl apply everywhere sometimes it's handy to use dedicated commands

For example, kubectl create is used to create a ressource and will throw an error if a ressource already exists.

Generating a manifests, blazzing fast way

kubectl run app --image=app --dry-run=client -o yaml
kubectl create deployment --image=redis redis --dry-run=client -o yaml

Of course, if you need to write it into a file

kubectl create deployment --image=redis redis --dry-run=client -o yaml > deploy-manifest.yml

Switching namespaces contexts

kubectl config set-config $(kubectl config current-context) --namespace=target