-o wide | Adds node IP, Pod IP, OS image on nodes, etc. |
-o yaml | Full object; stable for kubectl apply -f |
-o json | Machine parse; pair with jq |
-o jsonpath='{.path}' | Template extract; use {range} for loops |
-o jsonpath-file=tmpl | Long templates from disk |
-o name | resource/name tuples for xargs |
-o custom-columns=... | Ad hoc tabular columns from paths |
-o go-template=... | Go text/template (advanced) |
-o templatefile=... | Template from file |
--show-labels | Append LABELS column |
--show-managed-fields | Include managedFields in yaml/json |
-l k=v | Equality label selector |
-l 'k in (a,b)' | Set-based inclusion |
-l '!k' | Require absence of label key |
--field-selector= | Filter on object fields |
--chunk-size | Server-side list pagination size |
--sort-by=.path | Lexicographic / numeric sort by JSONPath |
--no-headers | Omit table header row |
-w / --watch | Stream after initial list |
--watch-only | Skip initial list (events) |
-A / --all-namespaces | List across namespaces |
--namespace / -n | Explicit namespace scope |
--context | Override kubeconfig context |
--kubeconfig | Alternate config file path |
--request-timeout | Client-side wait for API |
--server-print=false | Disable server-side printing (rare) |
--ignore-not-found | Exit 0 when object missing on delete/get |
--validate=true | Schema validation on apply/create |
--dry-run=client | Local-only validation / render |
--dry-run=server | Admission + quota without persist |
--force | Recreate on apply conflicts (careful) |
--grace-period | Seconds before SIGKILL on delete |
--now | Force immediate delete (shorthand) |
--cascade=foreground | Delete owners after dependents |
--cascade=orphan | Leave dependents when deleting owner |
--selector alias -l | Same as label selector |
--pod-running-timeout | Wait for Pod running in run/exec |
--rm (kubectl run) | Auto-delete interactive debug Pod |
--restart=Never | Pod instead of Deployment for kubectl run |
--replicas (create deployment) | Initial replica count |
--record (deprecated) | Avoid; use annotations for change-cause |
--output-watch-events | Include event types in watch stream |
--allow-missing-template-keys | Tolerate missing template keys |
--export (removed) | Historically stripped cluster fields; gone in modern kubectl |
--raw | HTTP GET to API path; bypasses kubectl resource layer |
--subresource | status/scale/etc. for patch|get |
--as | Impersonate user for auth can-i / API calls |
--as-group | Group impersonation flag |
--token | Bearer token instead of kubeconfig user |
--certificate-authority | Trust custom CA bundle |
--insecure-skip-tls-verify | Insecure — lab only |
--user | Override kubeconfig user for this invocation |
--cluster | Override cluster within kubeconfig |
--username / --password | Basic auth to API — rare outside tests |
--impersonate | Older alias of --as in some docs |
--v=0..9 | klog verbosity for client transport |
--log-flush-frequency | Client log flush interval |
--vmodule | Per-file verbosity (advanced) |
--add-dir-header | Prefix log lines with directory |
--skip-log-headers | Suppress log header lines |
--alsologtostderr | Mirror logs to stderr |
--use-openapi-fetch | Prefer OpenAPI fetch path (debug) |
--tls-server-name | Override SNI for TLS to API |
--proxy-url | HTTP proxy for API traffic |
--append-server-path | Append path segment to server URL |
--disable-compression | Turn off gzip on API responses |
--cache-dir | Override discovery/docs cache location |
--limit=... | Deprecated list limit; prefer --chunk-size |
--continue | Continue token for paging large lists |
--show-kind | Prefix resource kind in name column |
--label-columns | Add columns from label keys |
--sort-by metadata.uid | Deterministic order for fuzzing/tests |
--timeout (kubectl wait) | Max time to wait for condition |
--for=delete | kubectl wait until object removed |
--for=create | Wait helper patterns vary by version |
--local | Operate on manifest without contacting API |
--edit-cache-dir | Cache for kubectl edit |
--windows-line-endings | CRLF when editing on Windows |
--unix-line-endings | LF endings for edited buffers |
--openapi-patch | Experimental OpenAPI patch merge (rare) |
--validate=false | Skip schema validation on apply |
--prune-allowlist | Restrict kinds kubectl apply --prune may delete |
--prune | Delete objects missing from apply set (dangerous) |
--overwrite | Replace existing field on annotate/label |
--resource-version | Optimistic concurrency on replace |
--save-config | Store last-applied annotation on create commands |
--template | Alias of -o go-template in some contexts |
--containers | Regex filter for multi-container logs |
--prefix | Prefix log lines with pod/container name |
--timestamps | Prefix each log line with timestamp |
--since-time | RFC3339 lower bound for logs |
--all-containers | Aggregate logs from every container |
--previous | Prior terminated container instance logs |
--follow | Stream new log lines (-f) |
--pod-running-timeout | How long run waits for Pod Running |
--termination-grace-period | Override Pod deletion grace |
--recursive (-R) | Apply to directories of manifests |
--filename (-f) | Manifest path, URL, or stdin (-) |
--selector (-l) | Synonym for label selector on many commands |
--all | Select all resources of a type in namespace |
--field-manager | Set SSA field manager name on apply |
--force-conflicts | Take ownership on server-side apply conflicts |
--server-side | Use server-side apply merge |
kubectl alpha / kubectl beta | Hidden subcommands — vary by version; prefer stable paths |
--timeout (rollout status) | How long to wait for rollout completion |
--revision | Target specific ReplicaSet generation in rollout history |
--to-revision | Undo to explicit revision number |
--max-unavailable | Rollout flag on kubectl set (where supported) |
--max-surge | Rollout surge percent on set (where supported) |
--history | Include rollout history in describe (deployment) |
--output (alias -o) | Same as -o |
--labels | Set labels on kubectl create |
--annotations | Set annotations on kubectl create |
--generator (removed) | Legacy run generators — prefer create/run explicit |
--schedule | Cron expression on kubectl create cronjob |
--from-literal | Key=value data for secrets/configmaps |
--from-file | File path for secrets/configmaps |
--from-env-file | .env style file for configmap |
--docker-registry | Credential helper scope for secrets |
--dry-run (alias) | Maps to --dry-run=client in newer help text |
--short | Abbreviated human output for version |
--image | Container image for kubectl run/create workload |
--port | Container port mapping for expose/run helpers |
--env | KEY=value for kubectl run (imperative) |
--command | Override container entrypoint on kubectl run |
--serviceaccount | Attach SA on kubectl run (where supported) |
--overrides | JSON override of generated object fields |
--requests | Resource requests on kubectl set resources |
--limits | Resource limits on kubectl set resources |
--cascade | foreground/orphan on delete (owner refs) |
--ignore-not-found on delete | Exit 0 if object absent |
--wait | Block until delete completes (where supported) |
--timeout on delete | Max wait for object removal |
--ignore-dependencies | Skip waiting for dependents on delete |
--local (diff) | Compare against manifest without server fetch side |
--server-side (diff) | Include server fields in diff (default shifts by version) |
--strip-trailing-whitespace | Normalize whitespace in diff output |
--subresource=scale | Patch or fetch horizontal scale subresource |
--subresource=status | Status-only patch for supported types |
--raw on patch | Not typical — prefer resource-aware patch |
--type=strategic | Explicit default merge type for supported resources |
--patch-file | Read patch body from file instead of -p |
--stdin -f - | Pipe manifest: kubectl apply -f - |
kubectl completion SHELL | Emit shell completion script |
kubectl config view | Dump merged kubeconfig |
kubectl config use-context | Switch active context |
kubectl config set-cluster | Add or update cluster stanza |
kubectl config set-credentials | Embed certs or token |
kubectl config unset | Remove a kubeconfig key path |
kubectl version --client | CLI-only version (no server call) |
kubectl version -o yaml | Structured client+server versions |
kubectl plugin list | Discover kubectl-* binaries on PATH |
kubectl krew (plugin) | Popular plugin manager — third-party |
kubectl config get-users | Names in kubeconfig users stanza |
kubectl config get-clusters | Server URLs stored locally |
kubectl config current-context | Show active context string |
kubectl config delete-user | Remove stale credential blocks |
kubectl config delete-cluster | Remove cluster stanza |
kubectl config set-context NAME | Bind cluster+user+namespace |
kubectl diff --prune | Include prune in diff (use with care) |
kubectl apply --server-side --force-conflicts | Take field ownership during SSA |
kubectl get events --types=Warning | Filter event type column |
kubectl get events --types=Normal | Only non-warning events |
kubectl logs --since=5m | Relative log window |
kubectl logs --tail=-1 | Entire log buffer (heavy) |