⎈ k8s knowledge compiler

kubectl Quick Reference [page]deterministic

reference

This page contains a list of commonly used `kubectl` commands and flags.

> Note: These instructions are for Kubernetes v. To check the version, use the `kubectl version` command.

## Kubectl autocomplete

### BASH

```bash source <(kubectl completion bash) # set up autocomplete in bash into the current shell, bash-completion package should be installed first. echo "source <(kubectl completion bash)" >> ~/.bashrc # add autocomplete permanently to your bash shell. ```

You can also use a shorthand alias for `kubectl` that also works with completion:

```bash alias k=kubectl complete -o default -F __start_kubectl k ```

### ZSH

```bash source <(kubectl completion zsh) # set up autocomplete in zsh into the current shell echo '[[ $commands[kubectl] ]] && source <(kubectl completion zsh)' >> ~/.zshrc # add autocomplete permanently to your zsh shell ```

### FISH

> Note: Requires kubectl version 1.23 or above.

```bash echo 'kubectl completion fish | source' > ~/.config/fish/completions/kubectl.fish && source ~/.config/fish/completions/kubectl.fish ```

### A note on `--all-namespaces`

Appending `--all-namespaces` happens frequently enough that you should be aware of the shorthand for `--all-namespaces`:

```kubectl -A```

## Kubectl context and configuration

Set which Kubernetes cluster `kubectl` communicates with and modifies configuration information. See [Authenticating Across Clusters with kubeconfig](/docs/tasks/access-application-cluster/configure-access-multiple-clusters/) documentation for detailed config file information.

```bash kubectl config view # Show Merged kubeconfig settings.

# use multiple kubeconfig files at the same time and view merged config KUBECONFIG=~/.kube/config:~/.kube/kubconfig2

kubectl config view

# Show merged kubeconfig settings and raw certificate data and exposed secrets kubectl config view --raw

# get the password for the e2e user kubectl config view -o jsonpath='{.users[?(@.name == "e2e")].user.password}'

# get the certificate for the e2e user kubectl config view --raw -o jsonpath='{.users[?(.name == "e2e")].user.client-certificate-data}' | base64 -d

kubectl config view -o jsonpath='{.users[].name}' # display the first user kubectl config view -o jsonpath='{.users[*].name}' # get a list of users kubectl config get-contexts # display list of contexts kubectl config get-contexts -o name # get all context names kubectl config current-context # display the current-context kubectl config use-context my-cluster-name # set the default context to my-cluster-name

kubectl config set-cluster my-cluster-name # set a cluster entry in the kubeconfig

# configure the URL to a proxy server to use for requests made by this client in the kubeconfig kubectl config set-cluster my-cluster-name --proxy-url=my-proxy-url

# add a new user to your kubeconf that supports basic auth kubectl config set-credentials kubeuser/foo.kubernetes.com --username=kubeuser --password=kubepassword

# permanently save the namespace for all subsequent kubectl commands in that context. kubectl config set-context --current --namespace=ggckad-s2

# set a context utilizing a specific username and namespace. kubectl config set-context gce --user=cluster-admin --namespace=foo \ && kubectl config use-context gce

kubectl config unset users.foo # delete user foo

# short alias to set/show context/namespace (only works for bash and bash-compatible shells, current context to be set before using kn to set namespace) alias kx='f() { [ "$1" ] && kubectl config use-context $1 || kubectl config current-context ; } ; f' alias kn='f() { [ "$1" ] && kubectl config set-context --current --namespace $1 || kubectl config view --minify | grep namespace | cut -d" " -f6 ; } ; f' ```

## Kubectl apply

`apply` manages applications through files defining Kubernetes resources. It creates and updates resources in a cluster thro …(trimmed)

Sources

reference/kubectl/quick-reference.md · dockubectl Quick Reference

Related (22)

part_of Kubectl autocompletedescribes conf=1
part_of Kubectl context and configurationdescribes conf=1
part_of kubectl applydescribes conf=1
part_of Creating objectsdescribes conf=1
part_of Viewing and finding resourcesdescribes conf=1
part_of Updating resourcesdescribes conf=1
part_of Patching resourcesdescribes conf=1
part_of Editing resourcesdescribes conf=1
part_of Scaling resourcesdescribes conf=1
part_of Deleting resourcesdescribes conf=1
part_of Interacting with running Podsdescribes conf=1
part_of Interacting with Deployments and Servicesdescribes conf=1
part_of Interacting with Nodes and clusterdescribes conf=1
part_of {{% heading "whatsnext" %}}describes conf=1
part_of BASHdescribes conf=1
part_of ZSHdescribes conf=1
part_of FISHdescribes conf=1
part_of A note on `--all-namespaces`describes conf=1
part_of Resource typesdescribes conf=1
part_of Formatting outputdescribes conf=1
part_of Kubectl output verbosity and debuggingdescribes conf=1

← all Docs