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.
Imperative commands quick reference
Do not forget that --dry-run=client
can be usefull
Create a simple pod
kubectl run nginx --image=nginx
Create a deployement
kubectl create deployment --image=nginx nginx
Gotcha, deployement do not have a --replicas
option, you need to use kubctl scale
after deployement creation
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