#google-cloud-platform #gcloud
#google-облачная платформа #gcloud
Вопрос:
В моем проекте запущено несколько экземпляров gcp
.
Итак, мне нужно перебрать каждый экземпляр и получить версию ОС, и если версия ОС соответствует определенному значению, мне нужно выполнить другую gcloud
команду, чтобы получить установленные библиотеки.
Итак, я использую эту команду для перебора каждого экземпляра:
$(gcloud compute instances list --format="value(name)")
// which gives the output as below
name: temp-1
---
name: temp-2
---
name: test1
Мне тоже нужно избавиться name:
.
- И мне нужно получить дистрибутив Linux (ubuntu, centos / rhel) для каждого экземпляра, используя
/etc/os-release
Возможно ли использовать ssh (без реального использования ssh) и выполнить awk -F= '/^NAME/{print $2}' /etc/os-release
команду на каждом сервере (temp-1, temp-2, test1) и вернуть результат в командную строку?
Ответ №1:
Я вижу несколько способов сделать это. Вы можете использовать любую из следующих команд:
$ gcloud compute ssh --zone us-central1-a instance-1 --command "uname -a"
Linux instance-1 4.19.0-11-cloud-amd64 #1 SMP Debian 4.19.146-1 (2020-09-17) x86_64 GNU/Linux
$ gcloud compute ssh --zone us-central1-a instance-1 -- uname -a
Linux instance-1 4.19.0-11-cloud-amd64 #1 SMP Debian 4.19.146-1 (2020-09-17) x86_64 GNU/Linux
Connection to n.n.n.n closed.
В качестве альтернативы, в масштабе, вы можете использовать продукт VM Manager: