4.9 KiB
assignees | title | redirect_from | ||||||
---|---|---|---|---|---|---|---|---|
|
Installing and Setting Up kubectl |
|
{% capture overview %} Use the Kubernetes command-line tool, kubectl, to deploy and manage applications on Kubernetes. Using kubectl, you can inspect cluster resources; create, delete, and update components; and look at your new cluster and bring up example apps. {% endcapture %}
{% capture prerequisites %} Use a version of kubectl that is the same version as your server or later. Using an older kubectl with a newer server might produce validation errors. {% endcapture %}
Here are a few methods to install kubectl. {% capture steps %}
Install kubectl binary via curl
- Download the latest release with the command:
# OS X
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/darwin/amd64/kubectl
# Linux
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
# Windows
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/windows/amd64/kubectl.exe
To download a specific version, replace the $(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)
portion of the command with the specific version. For example, to download version 1.4.6 on MacOS, type:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.4.6/bin/darwin/amd64/kubectl
- Make the kubectl binary executable.
chmod +x ./kubectl
- Move the binary in to your PATH.
sudo mv ./kubectl /usr/local/bin/kubectl
Download as part of the Google Cloud SDK
kubectl can be installed as part of the Google Cloud SDK.
- Install the Google Cloud SDK.
- Run the following command to install
kubectl
:
gcloud components install kubectl
- Run
kubectl version
to verify that the verison you've installed is sufficiently up-to-date.
Install with Homebrew on macOS
- If you are on macOS and using Homebrew package manager, you can install with:
brew install kubectl
- Run
kubectl version
to verify that the verison you've installed is sufficiently up-to-date.
Configuring kubectl
In order for kubectl to find and access a Kubernetes cluster, it needs a kubeconfig file, which is created automatically when you create a cluster using kube-up.sh or successfully deploy a Minikube cluster. See the getting started guides for more about creating clusters. If you need access to a cluster you didn't create, see the Sharing Cluster Access document.
By default, kubectl configuration is located at ~/.kube/config
.
Check the kubectl configuration
Check that kubectl is properly configured by getting the cluster state:
$ kubectl cluster-info
If you see a URL response, kubectl is correctly configured to access your cluster.
If you see a message similar to the following, kubectl is not correctly configured:
The connection to the server <server-name:port> was refused - did you specify the right host or port?
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. For more details, consult kubectl completion -h
.
On Linux, using bash
To add kubectl autocompletion to your current shell, run source <(kubectl completion bash)
.
To add kubectl autocompletion to your profile, so it is automatically loaded in future shells run:
echo "source <(kubectl completion bash)" >> ~/.bashrc
On macOS, using bash
On macOS, autocompletion works if you install using brew install kubectl
,
and not if you downloaded kubectl directly.
Install the bash-completion support:
brew install bash-completion
To add kubectl autocompletion to your current shell, run:
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):
echo "source $(brew --prefix)/etc/bash_completion" >> ~/.bash_profile
echo "source <(kubectl completion bash)" >> ~/.bash_profile
{% endcapture %} {% capture whatsnext %} Learn how to launch and expose your application. {% endcapture %} {% include templates/task.md %}