110 lines
2.9 KiB
Markdown
110 lines
2.9 KiB
Markdown
---
|
|
---
|
|
|
|
<style>
|
|
li>.highlighter-rouge {position:relative; top:3px;}
|
|
</style>
|
|
|
|
## Overview
|
|
|
|
kubectl is the command line tool you use to interact with Kubernetes clusters.
|
|
|
|
You should use a version of kubectl that is at least as new as your server.
|
|
`kubectl version` will print the server and client versions. Using the same version of kubectl
|
|
as your server naturally works; using a newer kubectl than your server also works; but if you use
|
|
an older kubectl with a newer server you may see odd validation errors .
|
|
|
|
## Download a release
|
|
|
|
Download kubectl from the [official Kubernetes releases](https://console.cloud.google.com/storage/browser/kubernetes-release/release/):
|
|
|
|
On MacOS:
|
|
|
|
```shell
|
|
wget https://storage.googleapis.com/kubernetes-release/release/v1.4.4/bin/darwin/amd64/kubectl
|
|
chmod +x kubectl
|
|
mv kubectl /usr/local/bin/kubectl
|
|
```
|
|
|
|
On Linux:
|
|
|
|
```shell
|
|
wget https://storage.googleapis.com/kubernetes-release/release/v1.4.4/bin/linux/amd64/kubectl
|
|
chmod +x kubectl
|
|
mv kubectl /usr/local/bin/kubectl
|
|
```
|
|
|
|
|
|
You may need to `sudo` the `mv`; you can put it anywhere in your `PATH` - some people prefer to install to `~/bin`.
|
|
|
|
|
|
## Alternatives
|
|
|
|
### Download as part of the Google Cloud SDK
|
|
|
|
kubectl can be installed as part of the Google Cloud SDK:
|
|
|
|
First install the [Google Cloud SDK](https://cloud.google.com/sdk/).
|
|
|
|
After Google Cloud SDK installs, run the following command to install `kubectl`:
|
|
|
|
```shell
|
|
gcloud components install kubectl
|
|
```
|
|
|
|
Do check that the version is sufficiently up-to-date using `kubectl version`.
|
|
|
|
### Install with brew
|
|
|
|
If you are on MacOS and using brew, you can install with:
|
|
|
|
```shell
|
|
brew install kubectl
|
|
```
|
|
|
|
The homebrew project is independent from kubernetes, so do check that the version is
|
|
sufficiently up-to-date using `kubectl version`.
|
|
|
|
|
|
# Enabling shell autocompletion
|
|
|
|
kubectl includes autocompletion support, which can save a lot of typing!
|
|
|
|
The completion script itself is generated by kubectl, so you typically just need to invoke it from your profile.
|
|
|
|
Common examples are provided here, but for more details please consult `kubectl completion -h`
|
|
|
|
## On Linux, using bash
|
|
|
|
To add it to your current shell: `source <(kubectl completion bash)`
|
|
|
|
To add kubectl autocompletion to your profile (so it is automatically loaded in future shells):
|
|
|
|
```shell
|
|
echo "source <(kubectl completion bash)" >> ~/.bashrc
|
|
```
|
|
|
|
## On MacOS, using bash
|
|
|
|
On MacOS, you will need to install the bash-completion support first:
|
|
|
|
```shell
|
|
brew install bash-completion
|
|
```
|
|
|
|
To add it to your current shell:
|
|
|
|
```shell
|
|
source $(brew --prefix)/etc/bash_completion
|
|
source <(kubectl completion bash)
|
|
```
|
|
|
|
To add kubectl autocompletion to your profile (so it is automatically loaded in future shells):
|
|
|
|
```shell
|
|
echo "source $(brew --prefix)/etc/bash_completion" >> ~/.bash_profile
|
|
echo "source <(kubectl completion bash)" >> ~/.bash_profile
|
|
```
|
|
|
|
Please note that this only appears to work currently if you install using `brew install kubectl`,
|
|
and not if you downloaded kubectl directly. |