Change:
1. Download the latest release with the command: <del> ``` curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl" ``` </del> <ins> ```bash curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" ``` </ins> <del> 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. </del> <ins> {{< note >}} To download a specific version, replace the `$(curl -L -s https://dl.k8s.io/release/stable.txt)` portion of the command with the specific version. </ins> <del> For example, to download version {{< param "fullversion" >}} on Linux, type: ``` curl -LO https://storage.googleapis.com/kubernetes-release/release/{{< param "fullversion" >}}/bin/linux/amd64/kubectl ``` </del> <ins> For example, to download version {{< param "fullversion" >}} on Linux, type: </ins> <del> 2. Make the kubectl binary executable. </del> <ins> ```bash curl -LO https://dl.k8s.io/release/{{< param "fullversion" >}}/bin/linux/amd64/kubectl ``` {{< /note >}} </ins> <del> ``` chmod +x ./kubectl ``` </del> <ins> 1. Validate the binary (optional) </ins> <del> 3. Move the binary in to your PATH. </del> <ins> Download the kubectl checksum file: </ins> <del> ``` sudo mv ./kubectl /usr/local/bin/kubectl ``` 4. Test to ensure the version you installed is up-to-date: </del> <ins> ```bash curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256" ``` </ins> <del> ``` kubectl version --client ``` </del> <ins> Validate the kubectl binary against the checksum file: ```bash echo "$(<kubectl.sha256) kubectl" | sha256sum --check ``` If valid, the output is: ```bash kubectl: OK ``` If the check fails, `sha256` exits with nonzero status and prints output similar to: ```bash kubectl: FAILED sha256sum: WARNING: 1 computed checksum did NOT match ``` {{< note >}} Download the same version of the binary and checksum. {{< /note >}} 1. Install kubectl ```bash sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl ``` {{< note >}} If you do not have root access on the target system, you can still install kubectl to the `~/.local/bin` directory: ```bash mkdir -p ~/.local/bin/kubectl mv ./kubectl ~/.local/bin/kubectl # and then add ~/.local/bin/kubectl to $PATH ``` {{< /note >}} 1. Test to ensure the version you installed is up-to-date: ```bash kubectl version --client ``` </ins> ### Install using native package management

Discussion:
There are no details or instructions on how to validate the binary downloaded from this page via some form of checksum, sha256 or otherwise. For automation purposes, eg. ansible playbook, being able to validate any binary downloads is a requirement of project stakeholders.
The site doesn't allow browsing, but the file is there as kubectl.sha256 afterall. Might be worth mentioning this in the document?
/retitle Document how to validate kubectl binary against checksum / signature /language en /kind feature /triage accepted The page in question is
To fix this: update to use download links from for example also explain to readers that checksum files are available that they can use to compare binaries obtained from elsewhere for example The and shortcodes are useful for automatically filling in the current Kubernetes version. /help /sig cli
This request has been marked as needing help from a contributor. Please ensure the request meets the requirements listed . If this request no longer meets these requirements, the label can be removed by commenting with the command. <detailsIn response to : To fix this: update to use download links from explain to readers that checksum files are available that they can use to compare binaries obtained from elsewhere /sig cli Instructions for interacting with me using PR comments are available . If you have questions or suggestions related to my behavior, please file an issue against the repository. </details
I may be able to help with this /assign