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. |