web-dev-qa-db-fra.com

Erreur d'installation des composants Google Cloud à partir de la commande gcloud

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?

34
Ivan Fernandez

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:

https://cloud.google.com/sdk/downloads#apt-get

https://cloud.google.com/sdk/downloads#yum

30
Mark

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.

  1. Supprimez l'installation existante à l'aide de

    Sudo apt-get remove google-cloud-sdk

  2. 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.

  3. Accédez au répertoire de téléchargement et décompressez l'archive à l'aide de

    tar -zxf google-cloud-sdk-*

  4. Installez le SDK en utilisant

    ./google-cloud-sdk/install.sh

  5. Rendre la commande gcloud disponible par:

    • Lancer source ~/.bashrc Ou
    • Fermer votre session de terminal en cours et en ouvrir une nouvelle

En utilisant cette installation, j'ai ensuite pu mettre à jour et installer kubectl avec les commandes suivantes

gcloud components update
gcloud components install kubectl
16
ScottMcC

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).

4
Wal

Mon problème

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/

Ma solution

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 :

  1. 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
  1. 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.

Commandes de dépannage utiles

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
0
superEb