kubectlconfigget-contexts# list contextskubectlconfigcurrent-context
kubectlconfiguse-context<context>
kubectlconfigset-context--current--namespace=<ns># set default namespacekubectlgetnamespaces
kubectlgetpod<pod>-oyaml# full YAML speckubectlgetpod<pod>-ojson
kubectlgetpods-ojsonpath='{.items[*].metadata.name}'kubectlgetpods-ocustom-columns=NAME:.metadata.name,STATUS:.status.phase
# Shell into a running podkubectlexec-it<pod>--bash
kubectlexec-it<pod>-c<container>--sh
# Run a one-off debug podkubectlrundebug--rm-it--image=alpine--sh
kubectlrundebug--rm-it--image=nicolaka/netshoot--bash
# Port-forward to local machinekubectlport-forwardpod/<pod>8080:80
kubectlport-forwardsvc/<service>8080:80
kubectlport-forwarddeployment/<name>8080:80
# Copy fileskubectlcp<pod>:/path/to/file./local
kubectlcp./local<pod>:/path/to/file
kubectlapply-fmanifest.yaml
kubectlapply-f./dir/# apply all files in directorykubectldelete-fmanifest.yaml
kubectlscaledeployment<name>--replicas=3kubectlsetimagedeployment/<name><container>=<image>:<tag>
# Rolloutkubectlrolloutstatusdeployment/<name>
kubectlrollouthistorydeployment/<name>
kubectlrolloutundodeployment/<name>
kubectlrolloutrestartdeployment/<name># rolling restart (e.g. to reload ConfigMap)kubectlpatchdeployment<name>-p'{"spec":{"replicas":2}}'
# Read a secret (base64 decoded)kubectlgetsecret<name>-ojsonpath='{.data.<key>}'|base64-d
# Create a secret from literalskubectlcreatesecretgeneric<name>--from-literal=key=value
# Create from filekubectlcreatesecretgeneric<name>--from-file=config.yaml
# Create a ConfigMapkubectlcreateconfigmap<name>--from-literal=ENV=prod
kubectlcreateconfigmap<name>--from-file=app.conf
k9s
k9s is a terminal UI for Kubernetes — the fastest way to browse and debug a cluster.