5.8 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 v{{< skew currentVersion >}} client can communicate with v{{< skew currentVersionAddMinor -1 >}}, v{{< skew currentVersionAddMinor 0 >}}, and v{{< skew currentVersionAddMinor 1 >}} control planes. Using the latest compatible 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
-
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.exe -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.exe -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)
-
-
Append or prepend the
kubectl
binary folder to yourPATH
environment variable. -
Test to ensure the version of
kubectl
is the same as downloaded:kubectl version --client
Or use this for detailed view of version:
kubectl version --client --output=yaml
{{< 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 on Windows using Chocolatey, Scoop, or winget
-
To install kubectl on Windows you can use either Chocolatey package manager, Scoop command-line installer, or winget package manager.
{{< tabs name="kubectl_win_install" >}} {{% tab name="choco" %}}
choco install kubernetes-cli
{{% /tab %}} {{% tab name="scoop" %}}
scoop install kubectl
{{% /tab %}} {{% tab name="winget" %}}
winget install -e --id Kubernetes.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 >}}
Verify kubectl configuration
{{< include "included/verify-kubectl.md" >}}
Optional kubectl configurations and plugins
Enable shell autocompletion
kubectl provides autocompletion support for Bash, Zsh, Fish, and PowerShell, which can save you a lot of typing.
Below are the procedures to set up autocompletion for PowerShell.
{{< include "included/optional-kubectl-configs-pwsh.md" >}}
Install kubectl convert
plugin
{{< include "included/kubectl-convert-overview.md" >}}
-
Download the latest release with the command:
curl.exe -LO "https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/windows/amd64/kubectl-convert.exe"
-
Validate the binary (optional).
Download the
kubectl-convert
checksum file:curl.exe -LO "https://dl.k8s.io/{{< param "fullversion" >}}/bin/windows/amd64/kubectl-convert.exe.sha256"
Validate the
kubectl-convert
binary against the checksum file:-
Using Command Prompt to manually compare
CertUtil
's output to the checksum file downloaded:CertUtil -hashfile kubectl-convert.exe SHA256 type kubectl-convert.exe.sha256
-
Using PowerShell to automate the verification using the
-eq
operator to get aTrue
orFalse
result:$($(CertUtil -hashfile .\kubectl-convert.exe SHA256)[1] -replace " ", "") -eq $(type .\kubectl-convert.exe.sha256)
-
-
Append or prepend the
kubectl-convert
binary folder to yourPATH
environment variable. -
Verify the plugin is successfully installed.
kubectl convert --help
If you do not see an error, it means the plugin is successfully installed.
{{% heading "whatsnext" %}}
{{< include "included/kubectl-whats-next.md" >}}