5.1 KiB
reviewers | title | content_type | weight | card | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Install and Set Up kubectl on Windows | task | 10 |
|
{{% heading "prerequisites" %}}
You must use a kubectl version that is within one minor version difference of your cluster. For example, a v1.2 client should work with v1.1, v1.2, and v1.3 master. Using the latest version of kubectl helps avoid unforeseen issues.
Install kubectl on Windows
The following methods exist for installing kubectl on Windows:
- Install kubectl binary with curl on Windows
- Install with PowerShell from PSGallery
- Install on Windows using Chocolatey or Scoop
- Install on Windows as part of the Google Cloud SDK
Install kubectl binary with curl on Windows
-
Download the [latest release {{< param "fullversion" >}}](https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe).
Or if you have
curl
installed, use this command:curl -LO https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe
{{< note >}} To find out the latest stable version (for example, for scripting), take a look at https://dl.k8s.io/release/stable.txt. {{< /note >}}
-
Validate the binary (optional)
Download the kubectl checksum file:
curl -LO https://dl.k8s.io/{{< param "fullversion" >}}/bin/windows/amd64/kubectl.exe.sha256
Validate the kubectl binary against the checksum file:
-
Using Command Prompt to manually compare
CertUtil
's output to the checksum file downloaded:CertUtil -hashfile kubectl.exe SHA256 type kubectl.exe.sha256
-
Using PowerShell to automate the verification using the
-eq
operator to get aTrue
orFalse
result:$($(CertUtil -hashfile .\kubectl.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl.exe.sha256)
-
-
Add the binary in to your
PATH
. -
Test to ensure the version of
kubectl
is the same as downloaded:kubectl version --client
{{< note >}}
Docker Desktop for Windows adds its own version of kubectl
to PATH
.
If you have installed Docker Desktop before, you may need to place your PATH
entry before the one added by the Docker Desktop installer or remove the Docker Desktop's kubectl
.
{{< /note >}}
Install with PowerShell from PSGallery
If you are on Windows and using the PowerShell Gallery package manager, you can install and update kubectl with PowerShell.
-
Run the installation commands (making sure to specify a
DownloadLocation
):Install-Script -Name 'install-kubectl' -Scope CurrentUser -Force install-kubectl.ps1 [-DownloadLocation <path>]
{{< note >}} If you do not specify a
DownloadLocation
,kubectl
will be installed in the user'stemp
Directory. {{< /note >}}The installer creates
$HOME/.kube
and instructs it to create a config file. -
Test to ensure the version you installed is up-to-date:
kubectl version --client
{{< note >}} Updating the installation is performed by rerunning the two commands listed in step 1. {{< /note >}}
Install on Windows using Chocolatey or Scoop
-
To install kubectl on Windows you can use either Chocolatey package manager or Scoop command-line installer.
{{< tabs name="kubectl_win_install" >}} {{% tab name="choco" %}}
choco install kubernetes-cli
{{% /tab %}} {{% tab name="scoop" %}}
scoop install kubectl
{{% /tab %}} {{< /tabs >}}
-
Test to ensure the version you installed is up-to-date:
kubectl version --client
-
Navigate to your home directory:
# If you're using cmd.exe, run: cd %USERPROFILE% cd ~
-
Create the
.kube
directory:mkdir .kube
-
Change to the
.kube
directory you just created:cd .kube
-
Configure kubectl to use a remote Kubernetes cluster:
New-Item config -type file
{{< note >}} Edit the config file with a text editor of your choice, such as Notepad. {{< /note >}}
Install on Windows as part of the Google Cloud SDK
{{< include "included/install-kubectl-gcloud.md" >}}
Verify kubectl configuration
{{< include "included/verify-kubectl.md" >}}
Optional kubectl configurations
Enable shell autocompletion
kubectl provides autocompletion support for Bash and Zsh, which can save you a lot of typing.
Below are the procedures to set up autocompletion for Zsh, if you are running that on Windows.
{{< include "included/optional-kubectl-configs-zsh.md" >}}
{{% heading "whatsnext" %}}
{{< include "included/kubectl-whats-next.md" >}}