Как я могу подключиться к экземпляру Google, если у меня нет ключей SSH и пользовательские / финальные скрипты Google не запускаются?
Вычислительный экземпляр Google под управлением Ubuntu 16.04 LTS.
Я изменил его базовую версию python, чтобы установить пакет python, который был очень привередлив с инструментами настройки python.
Моя теория заключается в том, что это изменение нарушило запуск облачных скриптов Google, и это был единственный способ, которым я раньше подключался к экземпляру.
Мы можем проверить, что сервер включен, так как он обслуживает плохие сети nginx: http://35.201.199.224/
У меня есть журнал сервера, которым я могу поделиться здесь, если кто-нибудь захочет помочь мне прочитать его здесь: https://pastebin.com/DF5wsLhH
Я считаю, что наиболее важной является этот фрагмент
Mar 21 17:21:50 instance-1 systemd[1]: Started Google Compute Engine Network Daemon.
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: Traceback (most recent call last):
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: File "/usr/bin/google_network_daemon", line 9, in <module>
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: load_entry_point('google-compute-engine==2.8.4', 'console_scripts', 'google_network_daemon')()
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 542, in load_entry_point
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: return get_distribution(dist).load_entry_point(group, name)
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2569, in load_entry_point
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: return ep.load()
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2229, in load
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: return self.resolve()
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2235, in resolve
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: module = __import__(self.module_name, fromlist=['__name__'], level=0)
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: File "/usr/lib/python3/dist-packages/google_compute_engine/networking/network_daemon.py", line 26, in <module>
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: from google_compute_engine import config_manager
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: File "/usr/lib/python3/dist-packages/google_compute_engine/config_manager.py", line 23, in <module>
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: from google_compute_engine.compat import parser
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: File "/usr/lib/python3/dist-packages/google_compute_engine/compat.py", line 23, in <module>
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: import distro
Mar 21 17:21:51 instance-1 google_network_daemon[1340]: ModuleNotFoundError: No module named 'distro'
Я думаю, он не может найти этот модуль, так как ищет не ту версию Python.
Я понимаю, что мне было непростительно лениться подключаться только с помощью GoogleКнопка Connect By SSH'но я наивно предполагал, что лучшие коммерческие разработчики в западном мире будут держать все под контролем.
Возможно, вам придется сделать следующее:
Если эта виртуальная машина обслуживает живой трафик, который вы не можете потерять, примите во внимание следующее:
Кроме того, рассмотрите возможность использования контейнеров для запуска определенных версий зависимостей, требующих различных базовых инструментов (таких как Python), которые в противном случае могут конфликтовать с системными инструментами или внешними процессами (такими как сценарии SSH до / после и т. Д.)