J'essaie d'installer plusieurs composants GCP à partir de la ligne de commande gcloud et j'obtiens toujours la même erreur:
$ 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 │
└───────────────┴──────────────────────────────────────────────────────┴──────────────────────────┴───────────┘
Composants $ gcloud installent kubectl Vous ne pouvez pas effectuer cette action car cette installation de Cloud SDK est gérée par un gestionnaire de paquets externe. Si vous souhaitez obtenir la dernière version, consultez notre page de téléchargement principale à l'adresse suivante: https://cloud.google.com/sdk/ ERREUR: (gcloud.components.install) Le gestionnaire de composants est désactivé pour cette installation
Avez-vous une idée de la cause de cette erreur?
Le gestionnaire de composants Cloud SDK ne fonctionne que si vous n'installez pas le SDK via un autre gestionnaire de packages. Si vous souhaitez utiliser le gestionnaire de composants, vous pouvez installer l’une des méthodes suivantes:
https://cloud.google.com/sdk/downloads#versenced
https://cloud.google.com/sdk/downloads#interactive
Des paquets supplémentaires sont disponibles dans nos dépôts deb et yum afin que tous les mêmes composants soient disponibles, il vous suffit d'utiliser votre gestionnaire de paquets existant pour les installer:
Pour ajouter un peu plus de contexte à cette réponse pour le système d'exploitation Ubuntu, voici les étapes que j'ai suivies alors que j'avais déjà installé google-cloud-sdk
À l'aide du gestionnaire de paquets apt-get
.
Supprimez l'installation existante à l'aide de
Sudo apt-get remove google-cloud-sdk
Accédez à https://cloud.google.com/sdk/docs/quickstart-linux et suivez les étapes pour télécharger le package tar.gz
Approprié pour votre système.
Accédez au répertoire de téléchargement et décompressez l'archive à l'aide de
tar -zxf google-cloud-sdk-*
Installez le SDK en utilisant
./google-cloud-sdk/install.sh
Rendre la commande gcloud
disponible par:
source ~/.bashrc
OuEn utilisant cette installation, j'ai ensuite pu mettre à jour et installer kubectl
avec les commandes suivantes
gcloud components update
gcloud components install kubectl
Dans le cas où apt
ou apt-get
ne désinstalle pas gcloud try avec snap remove google-cloud-sdk
.
Cela peut être le cas si vous utilisez une version plus récente d’Ubuntu (par exemple, LTS 18.04).
Je voulais mettre à niveau la version CLI gcloud
sur une instance existante de GCE (Ubuntu Xenial), et l'exécution de gcloud components update
a eu pour résultat:
# 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/
Ce que j'ai trouvé, c'est que les exécutables du SDK sont installés dans /usr/lib/google-cloud-sdk
et sont inclus dans PATH via des liens symboliques dans /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*
Par conséquent, pour installer la dernière version, j'ai suivi les étapes 3 et 4 de https://cloud.google.com/sdk/docs/quickstart-linux :
- Téléchargez le fichier d'archive le mieux adapté à votre système d'exploitation.
# curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-247.0.0-linux-x86_64.tar.gz
- Extrayez l’archive dans n’importe quel emplacement de votre système de fichiers; de préférence, votre dossier de départ.
# tar zxvf google-cloud-sdk-247.0.0-linux-x86_64.tar.gz google-cloud-sdk
puis vient de remplacer l'ancien répertoire /usr/lib/google-cloud-sdk
par le nouveau:
# mv /usr/lib/google-cloud-sdk /usr/lib/google-cloud-sdk-ORIG
# mv google-cloud-sdk /usr/lib/
Cela permet aux liens symboliques déjà présents sur le PATH de continuer à fonctionner, conserve l'auth/config existante et semble prendre en charge les mises à niveau via gcloud components update
à l'avenir:
# gcloud components update
All components are up to date.
Il peut être utile de les exécuter avant et après la mise à niveau de gcloud
.
Où se trouve gcloud
sur votre CHEMIN:
$ which gcloud
/usr/bin/gcloud
Quelle version de gcloud
utilisez-vous:
$ gcloud version
Google Cloud SDK 247.0.0
bq 2.0.43
core 2019.05.17
gsutil 4.38
Quelles informations d'identification est gcloud
en utilisant (par défaut):
$ gcloud auth list
Quelle configuration est utilisée par gcloud
(par défaut):
$ gcloud config list