You can useopensslto verify the OVA file you downloaded against a signature
file (SIG). ReplaceVERSIONwith the file's version:
1. Copy the following public key to a file:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
-----END PUBLIC KEY-----
Verify thegkectlbinary against the public key usingopenssl, whereVERSIONis the file's version:
1. Copy the following public key to a file:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ
wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==
-----END PUBLIC KEY-----
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eThis page provides commands to download \u003ccode\u003egkectl\u003c/code\u003e, \u003ccode\u003egkeadm\u003c/code\u003e, the Google Distributed Cloud upgrade bundle, and the Admin workstation Open Virtual Appliance (OVA).\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003egkeadm\u003c/code\u003e and the OVA file are downloaded from your personal laptop or workstation, while \u003ccode\u003egkectl\u003c/code\u003e and the upgrade bundle are downloaded from the admin workstation.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003egcloud\u003c/code\u003e command is used for downloading all files, and \u003ccode\u003echmod +x\u003c/code\u003e is necessary to make the \u003ccode\u003egkeadm\u003c/code\u003e and \u003ccode\u003egkectl\u003c/code\u003e executables.\u003c/p\u003e\n"],["\u003cp\u003eThe files downloaded here can be verified using \u003ccode\u003eopenssl\u003c/code\u003e to ensure they are valid, and the version must be specified.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003egcloud auth login\u003c/code\u003e is needed in order to login into google cloud.\u003c/p\u003e\n"]]],[],null,["# Google Distributed Cloud downloads\n\nThis page provides commands to download the following Google Distributed Cloud\nentities:\n\n- `gkectl` command-line tool\n- `gkeadm` command-line tool\n- Google Distributed Cloud upgrade bundle\n- Admin workstation Open Virtual Appliance (OVA)\n\nSome of the commands given on this page run on your personal laptop or\nworkstation. Other commands run on your\n[admin workstation](/anthos/clusters/docs/on-prem/1.6/how-to/admin-workstation).\n\nLogging in\n----------\n\nLog in with any Google Account: \n\n```\ngcloud auth login\n```\n\n1.6.5-gke.0\n-----------\n\n### gkeadm\n\nFrom your personal laptop or workstation, download `gkeadm` and make it\nexecutable:\n\n- Linux:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.5-gke.0/linux/gkeadm ./\n chmod +x gkeadm\n ```\n- Windows:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.5-gke.0/windows/gkeadm.exe ./\n ```\n- macOS Catalina:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.5-gke.0/darwin/gkeadm ./\n chmod +x gkeadm\n ```\n\n### gkectl\n\nFrom your admin workstation, download `gkectl` and make it executable: \n\n```\nsudo -E gcloud storage cp gs://gke-on-prem-release/gkectl/1.6.5-gke.0/gkectl /usr/bin/gkectl\nsudo chmod +x /usr/bin/gkectl\n```\n\n### Bundle\n\nFrom your admin workstation, download the bundle: \n\n```\nsudo -E gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/1.6.5-gke.0/gke-onprem-vsphere-1.6.5-gke.0.tgz /var/lib/gke/bundles/gke-onprem-vsphere-1.6.5-gke.0.tgz\n```\n\n### OVA\n\nFrom your personal laptop or workstation, download the OVA\n\n\u003cbr /\u003e\n\n```\ngcloud storage cp gs://gke-on-prem-release/admin-appliance/1.6.5-gke.0/gke-on-prem-admin-appliance-vsphere-1.6.5-gke.0.ova ./\n```\n\n1.6.4-gke.7\n-----------\n\n### gkeadm\n\nFrom your personal laptop or workstation, download `gkeadm` and make it\nexecutable:\n\n- Linux:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.4-gke.7/linux/gkeadm ./\n chmod +x gkeadm\n ```\n- Windows:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.4-gke.7/windows/gkeadm.exe ./\n ```\n- macOS Catalina:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.4-gke.7/darwin/gkeadm ./\n chmod +x gkeadm\n ```\n\n### gkectl\n\nFrom your admin workstation, download `gkectl` and make it executable: \n\n```\nsudo -E gcloud storage cp gs://gke-on-prem-release/gkectl/1.6.4-gke.7/gkectl /usr/bin/gkectl\nsudo chmod +x /usr/bin/gkectl\n```\n\n### Bundle\n\nFrom your admin workstation, download the bundle: \n\n```\nsudo -E gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/1.6.4-gke.7/gke-onprem-vsphere-1.6.4-gke.7.tgz /var/lib/gke/bundles/gke-onprem-vsphere-1.6.4-gke.7.tgz\n```\n\n### OVA\n\nFrom your personal laptop or workstation, download the OVA\n\n\u003cbr /\u003e\n\n```\ngcloud storage cp gs://gke-on-prem-release/admin-appliance/1.6.4-gke.7/gke-on-prem-admin-appliance-vsphere-1.6.4-gke.7.ova ./\n```\n\n1.6.3-gke.3\n-----------\n\n### gkeadm\n\nFrom your personal laptop or workstation, download `gkeadm` and make it\nexecutable:\n\n- Linux:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.3-gke.3/linux/gkeadm ./\n chmod +x gkeadm\n ```\n- Windows:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.3-gke.3/windows/gkeadm.exe ./\n ```\n- macOS Catalina:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.3-gke.3/darwin/gkeadm ./\n chmod +x gkeadm\n ```\n\n### gkectl\n\nFrom your admin workstation, download `gkectl` and make it executable: \n\n```\nsudo -E gcloud storage cp gs://gke-on-prem-release/gkectl/1.6.3-gke.3/gkectl /usr/bin/gkectl\nsudo chmod +x /usr/bin/gkectl\n```\n\n### Bundle\n\nFrom your admin workstation, download the bundle: \n\n```\nsudo -E gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/1.6.3-gke.3/gke-onprem-vsphere-1.6.3-gke.3.tgz /var/lib/gke/bundles/gke-onprem-vsphere-1.6.3-gke.3.tgz\n```\n\n### OVA\n\nFrom your personal laptop or workstation, download the OVA\n\n\u003cbr /\u003e\n\n```\ngcloud storage cp gs://gke-on-prem-release/admin-appliance/1.6.3-gke.3/gke-on-prem-admin-appliance-vsphere-1.6.3-gke.3.ova ./\n```\n\n1.6.2-gke.0\n-----------\n\n### gkeadm\n\nFrom your personal laptop or workstation, download `gkeadm` and make it\nexecutable:\n\n- Linux:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.2-gke.0/linux/gkeadm ./\n chmod +x gkeadm\n ```\n- Windows:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.2-gke.0/windows/gkeadm.exe ./\n ```\n- macOS Catalina:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.2-gke.0/darwin/gkeadm ./\n chmod +x gkeadm\n ```\n\n### gkectl\n\nFrom your admin workstation, download `gkectl` and make it executable: \n\n```\nsudo -E gcloud storage cp gs://gke-on-prem-release/gkectl/1.6.2-gke.0/gkectl /usr/bin/gkectl\nsudo chmod +x /usr/bin/gkectl\n```\n\n### Bundle\n\nFrom your admin workstation, download the bundle: \n\n```\nsudo -E gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/1.6.2-gke.0/gke-onprem-vsphere-1.6.2-gke.0.tgz /var/lib/gke/bundles/gke-onprem-vsphere-1.6.2-gke.0.tgz\n```\n\n### OVA\n\nFrom your personal laptop or workstation, download the OVA\n\n\u003cbr /\u003e\n\n```\ngcloud storage cp gs://gke-on-prem-release/admin-appliance/1.6.2-gke.0/gke-on-prem-admin-appliance-vsphere-1.6.2-gke.0.ova ./\n```\n\n1.6.1-gke.1\n-----------\n\n### gkeadm\n\nFrom your personal laptop or workstation, download `gkeadm` and make it\nexecutable:\n\n- Linux:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.1-gke.1/linux/gkeadm ./\n chmod +x gkeadm\n ```\n- Windows:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.1-gke.1/windows/gkeadm.exe ./\n ```\n- macOS Catalina:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.1-gke.1/darwin/gkeadm ./\n chmod +x gkeadm\n ```\n\n### gkectl\n\nFrom your admin workstation, download `gkectl` and make it executable: \n\n```\nsudo -E gcloud storage cp gs://gke-on-prem-release/gkectl/1.6.1-gke.1/gkectl /usr/bin/gkectl\nsudo chmod +x /usr/bin/gkectl\n```\n\n### Bundle\n\nFrom your admin workstation, download the bundle: \n\n```\nsudo -E gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/1.6.1-gke.1/gke-onprem-vsphere-1.6.1-gke.1.tgz /var/lib/gke/bundles/gke-onprem-vsphere-1.6.1-gke.1.tgz\n```\n\n### OVA\n\nFrom your personal laptop or workstation, download the OVA\n\n\u003cbr /\u003e\n\n```\ngcloud storage cp gs://gke-on-prem-release/admin-appliance/1.6.1-gke.1/gke-on-prem-admin-appliance-vsphere-1.6.1-gke.1.ova ./\n```\n\n1.6.0-gke.7\n-----------\n\n### gkeadm\n\nFrom your personal laptop or workstation, download `gkeadm` and make it\nexecutable:\n\n- Linux:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.0-gke.7/linux/gkeadm ./\n chmod +x gkeadm\n ```\n- Windows:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.0-gke.7/windows/gkeadm.exe ./\n ```\n- macOS Catalina:\n\n ```\n gcloud storage cp gs://gke-on-prem-release/gkeadm/1.6.0-gke.7/darwin/gkeadm ./\n chmod +x gkeadm\n ```\n\n### gkectl\n\nFrom your admin workstation, download `gkectl` and make it executable: \n\n```\nsudo -E gcloud storage cp gs://gke-on-prem-release/gkectl/1.6.0-gke.7/gkectl /usr/bin/gkectl\nsudo chmod +x /usr/bin/gkectl\n```\n\n### Bundle\n\nFrom your admin workstation, download the bundle: \n\n```\nsudo -E gcloud storage cp gs://gke-on-prem-release/gke-onprem-bundle/1.6.0-gke.7/gke-onprem-vsphere-1.6.0-gke.7.tgz /var/lib/gke/bundles/gke-onprem-vsphere-1.6.0-gke.7.tgz\n```\n\n### OVA\n\nFrom your personal laptop or workstation, download the OVA\n\n\u003cbr /\u003e\n\n```\ngcloud storage cp gs://gke-on-prem-release/admin-appliance/1.6.0-gke.7/gke-on-prem-admin-appliance-vsphere-1.6.0-gke.7.ova ./\n```\n\nVerifying the OVA using `openssl`\n---------------------------------\n\nYou can use `openssl` to verify the OVA file you downloaded against a signature\nfile (SIG). Replace \u003cvar translate=\"no\"\u003eVERSION\u003c/var\u003e with the file's version:\n**Note:** As of version 1.2.1-gke.4, all SIG files are suffixed with `.1`. For example, `gke-on-prem-admin-appliance-vsphere-`\u003cvar translate=\"no\"\u003eVERSION\u003c/var\u003e`.ova.1.sig`. \n\n```\nopenssl dgst -verify - -signature ~/gke-on-prem-admin-appliance-vsphere-VERSION.ova.1.sig ~/gke-on-prem-admin-appliance-vsphere-VERSION.ova \u003c\u003c'EOF'\n-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ\nwQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==\n-----END PUBLIC KEY-----\nEOF\n```\n\nExpected output of this command is `Verified OK`.\n\nVerifying `gkectl` using `openssl`\n----------------------------------\n\nVerify the `gkectl` binary against the public key using `openssl`, where\n\u003cvar translate=\"no\"\u003eVERSION\u003c/var\u003e is the file's version: \n\n```\nsudo -E gcloud storage cp gs://gke-on-prem-release/gkectl/VERSION/gkectl.1.sig /tmp/gkectl.1.sig\nopenssl dgst -verify - -signature /tmp/gkectl.1.sig /usr/bin/gkectl \u003c\u003c'EOF'\n-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ\nwQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw==\n-----END PUBLIC KEY-----\nEOF\n```\n\nExpected output of this command is `Verified OK`."]]