Reputation: 4543
I am trying to install several GCP components from the gcloud command-line tool and always get the same error:
$ gcloud components list
Your current Cloud SDK version is: 146.0.0
The latest available version is: 146.0.0
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Components │
├───────────────┬──────────────────────────────────────────────────────┬──────────────────────────┬───────────┤
│ Status │ Name │ ID │ Size │
├───────────────┼──────────────────────────────────────────────────────┼──────────────────────────┼───────────┤
│ Not Installed │ App Engine Go Extensions │ app-engine-go │ 47.9 MiB │
│ Not Installed │ Bigtable Command Line Tool │ cbt │ 3.8 MiB │
│ Not Installed │ Cloud Datalab Command Line Tool │ datalab │ < 1 MiB │
│ Not Installed │ Cloud Datastore Emulator │ cloud-datastore-emulator │ 15.4 MiB │
│ Not Installed │ Cloud Datastore Emulator (Legacy) │ gcd-emulator │ 38.1 MiB │
│ Not Installed │ Cloud Pub/Sub Emulator │ pubsub-emulator │ 21.0 MiB │
│ Not Installed │ Google Container Registry's Docker credential helper │ docker-credential-gcr │ 3.3 MiB │
│ Not Installed │ gcloud app Java Extensions │ app-engine-java │ 128.3 MiB │
│ Not Installed │ gcloud app Python Extensions │ app-engine-python │ 7.2 MiB │
│ Not Installed │ kubectl │ kubectl │ 11.5 MiB │
│ Installed │ BigQuery Command Line Tool │ bq │ < 1 MiB │
│ Installed │ Cloud SDK Core Libraries │ core │ 5.7 MiB │
│ Installed │ Cloud Storage Command Line Tool │ gsutil │ 2.8 MiB │
│ Installed │ Default set of gcloud commands │ gcloud │ │
│ Installed │ gcloud Alpha Commands │ alpha │ < 1 MiB │
│ Installed │ gcloud Beta Commands │ beta │ < 1 MiB │
└───────────────┴──────────────────────────────────────────────────────┴──────────────────────────┴───────────┘
Then attempting to install kubectl
$ gcloud components install kubectl
You cannot perform this action because this Cloud SDK installation is
managed by an external package manager. If you would like to get the
latest version, please see our main download page at:
https://cloud.google.com/sdk/
ERROR: (gcloud.components.install) The component manager is disabled for this installation
Any idea why is this error raised?
Upvotes: 75
Views: 115219
Reputation: 106
I was trying to install cbt on Linux machine using remote-exec
which having below code
exampleScript.sh
gcloud components update --quiet
gcloud components install cbt --quiet
Reference terraform code
resource "null_resource" "remote-exec-resource" {
provisioner "remote-exec" {
connection {
type = "ssh"
user = "username"
private_key = "your_ssh_key"
host = "your_host_external_ip"
}
script = "exampleScript.sh"
}
depends_on = [YOUR_RESOURCE]
}
but I was getting the same error, I resolved that by doing following workaround.
Instead of calling exampleScript.sh in remote-exec, I pass the script to google_compute_instance
resource "google_compute_instance" "default" {
metadata_startup_script = "exampleScript.sh"
}
Reference for installing Cloud SDK.
Upvotes: 0
Reputation: 117
I had same issue on my side.
instead of installing it through apt tried it with snap https://cloud.google.com/sdk/docs/downloads-interactive
Following the same steps.
PS: dont forget to restart exec -l $SHELL
Upvotes: 0
Reputation: 22356
Answer from google support.
This can occur when Google Cloud SDK is installed via package manager like apt-get or yum.
If you would like to enable Google Cloud CLI compoenent manager, you can reinstall Cloud SDK using installer[1] after uninstall existing package-manager-installed Cloud SDK by following this document[2].
However installing 'docker-credential-gcr' is not supported by Cloud SDK so please consider to use gcloud credential helper[3] or install it via curl command[4].
[1] https://cloud.google.com/sdk/docs/install#installation_instructions
[2] https://cloud.google.com/sdk/docs/uninstall-cloud-sdk
Upvotes: 1
Reputation: 424
ERROR: (gcloud.components.update) You cannot perform this action because this Cloud SDK installation is managed by an external package manager.
Please consider using a separate installation of the Cloud SDK created through the default mechanism described at: https://cloud.google.com/sdk/
I was unable to install the required kubectl gcloud component the reasion behind that was I used snap manager to install GCloud SDK so I also need to install kubectl via snap.
sudo snap install kubectl --classic
it works in my case.
Upvotes: 1
Reputation: 4460
To add some more context to this answer for the Ubuntu OS, these are the steps that I took when I had already installed google-cloud-sdk
using the apt-get
package manager
Remove the existing installation using
sudo apt-get remove google-cloud-sdk
Navigate to
https://cloud.google.com/sdk/docs/quickstart-linux and follow the steps to download the correct tar.gz
package for your system
Navigate to the download directory and unzip the archive using
tar -zxf google-cloud-sdk-*
Install the SDK using
./google-cloud-sdk/install.sh
Make the gcloud
command available by either:
source ~/.bashrc
orUsing this installation I was then able to update and install kubectl
with the following commands
gcloud components update
gcloud components install kubectl
Upvotes: 81
Reputation: 5673
I wanted to upgrade the gcloud
CLI version on an existing GCE instance (Ubuntu Xenial), and running gcloud components update
resulted in this:
# gcloud components update
ERROR: (gcloud.components.update) You cannot perform this action because this Cloud SDK installation is managed by an external package manager.
Please consider using a separate installation of the Cloud SDK created through the default mechanism described at: https://cloud.google.com/sdk/
What I found is that the SDK executables are installed in /usr/lib/google-cloud-sdk
and are included on the PATH via symlinks in /usr/bin
:
# ll /usr/bin | grep google-cloud
lrwxrwxrwx 1 root root 30 Aug 20 2018 bq -> ../lib/google-cloud-sdk/bin/bq*
lrwxrwxrwx 1 root root 34 Aug 20 2018 gcloud -> ../lib/google-cloud-sdk/bin/gcloud*
lrwxrwxrwx 1 root root 52 Aug 20 2018 git-credential-gcloud.sh -> ../lib/google-cloud-sdk/bin/git-credential-gcloud.sh*
lrwxrwxrwx 1 root root 34 Aug 20 2018 gsutil -> ../lib/google-cloud-sdk/bin/gsutil*
Therefore, to install the latest version, I followed steps 3 and 4 from https://cloud.google.com/sdk/docs/quickstart-linux:
- Download the archive file best suited to your operating system.
# curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-247.0.0-linux-x86_64.tar.gz
- Extract the archive to any location on your file system; preferably, your Home folder.
# tar zxvf google-cloud-sdk-247.0.0-linux-x86_64.tar.gz google-cloud-sdk
and then just replaced the old /usr/lib/google-cloud-sdk
directory with the new one:
# mv /usr/lib/google-cloud-sdk /usr/lib/google-cloud-sdk-ORIG
# mv google-cloud-sdk /usr/lib/
This allows the symlinks already on the PATH to continue to work, keeps existing auth/config in place, and appears to support upgrades via gcloud components update
in the future:
# gcloud components update
All components are up to date.
It might be helpful to run these before and after you upgrade gcloud
.
Where is gcloud
on your PATH:
$ which gcloud
/usr/bin/gcloud
What version of gcloud
are you using:
$ gcloud version
Google Cloud SDK 247.0.0
bq 2.0.43
core 2019.05.17
gsutil 4.38
What credentials is gcloud
using (by default):
$ gcloud auth list
What config is gcloud
using (by default):
$ gcloud config list
Upvotes: 6
Reputation: 301
In case apt
or apt-get
does not uninstall gcloud try with snap remove google-cloud-sdk
.
This might be the case if you use a newer Ubuntu version (eg. LTS 18.04).
Upvotes: 6
Reputation: 2355
The Cloud SDK component manager only works if you don't install the SDK through another package manager. If you want to use the component manager, you can install using one of these methods:
https://cloud.google.com/sdk/downloads#versioned
https://cloud.google.com/sdk/downloads#interactive
Additional packages are available in our deb and yum repos so all the same components are available, you just need to use your existing package manager to install them:
https://cloud.google.com/sdk/downloads#apt-get
https://cloud.google.com/sdk/downloads#yum
Upvotes: 47