- linux-notes.org
- Работа с Google Cloud Platform (compute disk) и Terraform в Unix/Linux
- Установка terraform в Unix/Linux
- Работа с Google Cloud Platform (compute disk) и Terraform в Unix/Linux
- Добавить комментарий Отменить ответ
- Настраиваем VM Instance Google Cloud для задач машинного обучения
- 1. Создание и настройка Virtual Machine Instances
- Создаем аккаунт
- Создаем Virtual Machine и подбираем параметры
- 2. Настройка сетевых параметров
- Настройка статического IP
- Настройка брандмауэра.
- 3. Установка Anaconda и дополнительных пакетов
- 4. Настройка Jupyter Notebook
- 5. Настройка File Transfer
- linux-notes.org
- Работа с Google Cloud Platform (compute instance group manager) и Terraform в Unix/Linux
- Установка terraform в Unix/Linux
- Работа с Google Cloud Platform (compute instance group manager) и Terraform в Unix/Linux
- Добавить комментарий Отменить ответ
- Your desktop on Google Cloud Platform
- VNC on Google Compute Engine instances
- Creating a new project
- Creating a new instance
- Installing a VNC server
- Setting up the VNC server
- Installing a VNC client
- Opening the firewall
- Connecting to the VNC server
- Troubleshooting
- Cleaning up and costs
linux-notes.org
Работа с Google Cloud Platform (compute disk) и Terraform в Unix/Linux
Google Cloud Platrorm — это платформа вида «инфраструктура как сервис» (IaaS), позволяющая клиентам создавать, тестировать и развертывать собственные приложения на инфраструктуре Google, в высокопроизводительных виртуальных машинах.
Google Compute Engine предоставляет виртуальные машины, работающие в инновационных центрах обработки данных Google и всемирной сети.
Google Persistent Disk является надежным и высокопроизводительным блочным хранилищем для Google Cloud Platform. Persistent Disk обеспечивает хранение SSD и HDD, которые могут быть подключены к экземплярам, запущенным либо в Google Compute Engine, либо в Google Kubernetes Engine. Объемы хранения могут быть прозрачно изменены, быстро созданы резервные копии и предлагают возможность поддержки одновременных считывателей.
Установка terraform в Unix/Linux
Установка крайне примитивная и я описал как это можно сделать тут:
Вот еще полезные статьи по GCP + Terrafrom:
Так же, в данной статье, я создал скрипт для автоматической установки данного ПО. Он был протестирован на CentOS 6/7, Debian 8 и на Mac OS X. Все работает должным образом!
Чтобы получить помощь по использованию команд, выполните:
Приступим к использованию!
Работа с Google Cloud Platform (compute disk) и Terraform в Unix/Linux
Первое что нужно сделать — это настроить «Cloud Identity». С помощью сервиса Google Cloud Identity вы сможете предоставлять доменам, пользователям и аккаунтам в организации доступ к ресурсам Cloud, а также централизованно управлять пользователями и группами через консоль администратора Google.
У меня есть папка terraform, в ней у меня будут лежать провайдеры с которыми я буду работать. Т.к в этом примере я буду использовать google_cloud_platform, то создам данную папку и перейду в нее. Далее, в этой папке, стоит создать:
В папке examples, я буду хранить так званые «плейбуки» для разварачивания различных служб, например — zabbix-server, grafana, web-серверы и так далее. В modules директории, я буду хранить все необходимые модули.
Начнем писать модуль, но для этой задачи, я создам папку:
Переходим в нее:
В данный файл, вставляем:
Собственно в этом файле храняться все переменные. Спасибо кэп!
Открываем последний файл:
И в него вставить нужно следующие строки:
Переходим теперь в папку google_cloud_platform/examples и создадим еще одну папку для проверки написанного чуда:
Внутри созданной папки открываем файл:
Все уже написано и готово к использованию. Ну что, начнем тестирование. В папке с вашим плейбуком, выполняем:
Этим действием я инициализирую проект. Затем, подтягиваю модуль:
PS: Для обновление изменений в самом модуле, можно выполнять:
Мне вывело что все у меня хорошо и можно запускать деплой:
Как видно с вывода, — все прошло гладко! Чтобы удалить созданное творение, можно выполнить:
Весь материал аплоаджу в github аккаунт для удобства использования:
Вот и все на этом. Данная статья «Работа с Google Cloud Platform (compute disk) и Terraform в Unix/Linux» завершена.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
Настраиваем VM Instance Google Cloud для задач машинного обучения
Решение тяжёлых задач машинного обучения на стационарных компьютерах дело неблагодарное и малоприятное. Представьте, что вы на домашнем ноутбуке делаете ансамбль из N нейронных сетей для изучения лесов Амазонки на ноутбуке. Сомнительное удовольствие, тем более, что сейчас есть прекрасный выбор облачных сервисов для этих целей — Amazon Web Services, Google Cloud Platform, Microsoft Azure и прочие. Некоторые даже относительно бесплатны и предоставляют видеокарты.
Мы будем настраивать VM на Google Cloud Platform с нуля. Бонусом — стартовые 300$ на год на один gmail аккаунт. Поехали.
- Создание и настройка Virtual Machine Instances
- Настройка сетевых параметров
- Установка Anaconda и дополнительных пакетов
- Настройка Jupyter Notebook
- Настройка File Transfer
1. Создание и настройка Virtual Machine Instances
Создаем аккаунт
С первых шагов может ввести в заблуждение тот факт, что Гугл безапелляционно квалифицирует вас как юридическое лицо без права смены статуса. Это норма с недавних пор и с этим придется смириться. Далее бесстрашно указываем платежные данные, деньги без предупреждения не снимутся, даже когда будет исчерпан бесплатный лимит.
Создаем Virtual Machine и подбираем параметры
Здесь есть несколько интересных моментов. Графические процессоры есть не во всех зонах. В европейских и западно-азиатских я не нашел, в южно-американских искать не стал, поэтому выбрал восточно-американскую зону. Там их можно хоть восемь настроить с абонентской платой 5000 долларов в час. Усредняем данные и настраиваем восемь процессоров, двадцать гигабайт оперативной памяти и один графический процессор. Всё это удовольствие будет стоить 1 доллар в час.
Операционную систему можно выбрать на любой вкус. Берем понравившийся Linux дистрибутив и выставляем галочки «разрешить траффик». Настройку сети и SSH пропускаем. Их мы настроим дальше. И, наконец, один важный момент, снимите галочку с delete boot disk when instance is deleted. Это сохранит вам нервы, когда начнете создавать имейджи под разные задачи.
2. Настройка сетевых параметров
Настройка статического IP
По умолчанию внешний IP динамический. Сделаем его статическим и жить сразу станет гораздо проще. При привязке к проекту или виртуальной машине (как раз наш случай) — это бесплатно.
Настройка брандмауэра.
Jupyter Notebook — наш главный инструмент и ему будет нужен доступ к виртуальной машине. Создаем правило со следующими параметрами:
- Разрешить входящий трафик
- Указываем любой порт в разумных пределах. К примеру, 22-й не подойдет, на нем висит SSH.
- Диапазон адресов делаем по умолчанию 0.0.0.0/0 (можно поменять)
Мы создали чистую VM и в итоге у вас должно получиться примерно так:
И самое главное — не забывайте выключать VM, когда закончили работу!
3. Установка Anaconda и дополнительных пакетов
Запускаем созданный Instance, подключаемся через SSH и для установки дистрибутива Анаконды вводим в командной строке:
В конце установки не забудьте ввести «yes», чтобы прописать переменную PATH
Ставим любимые пакеты:
И переходим к настройке Jupyter Notebook.
4. Настройка Jupyter Notebook
Вводим в командную строку (порт — который вы указали в настройках брандмауэра):
И теперь один интересный момент. Если у вас всё прошло успешно, то после старта Jupiter Server в баше вы увидите примерно это:
Если перейти по ссылке, то в браузере вывалится ошибка авторизации, что совершенно очевидно. Для этого в строке браузера надо явно указать, созданный выше внешний статический IP:
Добро пожаловать на борт!
Теперь нам осталось только настроить File Transfer между нашей локальной системой и удаленной. Без этого леса Амазонки не изучить.
5. Настройка File Transfer
У нас загрузочный диск Linux и поэтому доступны четыре способа:
- Использование командной строки gcloud (private SSH keys обязательно)
- Через протокол SFTP в браузере. Это самый простой способ, не требующий SSH key и использующий нативный браузер. Обязательное условие — локальная система у вас Linux или Mac.
- Использование командной строки SDC (private SSH keys обязательно)
- Программа WinSCP для счастливых обладателей Windows (private SSH keys обязательно)
Подробно можно почитать здесь и выбрать наиболее понравившийся способ. У меня на ноутбуке Windows 10, поэтому выбор не богатый. Пойдём не самым простым путём и подробно рассмотрим четвёртый способ.
Для начала необходимо сгенерировать SSH ключи. Скачиваем дистрибутив PuTTY и устанавливаем. С его помощью будем генерить ключи.
- Открываем puttygen.exe. Появится окно, где вы можете сгенерировать ключи.
- Оставляем все параметры по умолчанию кроме поля key comment. В него вводим имя пользователя удаленной системы. Скорее всего это ваш gmail аккаунт. Важно — не вся почта, а только та часть, которая до знака @. Я сначала прочитал инструкцию по диагонали и в итоге убил полчаса на то, чтобы понять, почему WinSCP возвращал ошибку.
- Сохраняем private key — его используем в WinSCP локально.
- Копируем текстовое поле private key (убедитесь, что скопировали полностью весь текст! На скриншоте лишь его часть)
- Идем в гугловские облака и там в «Метаданные —> SSH-ключи» добавляем скопированный ключ.
Осталось совсем немного, самая приятная часть — настроить файл-менеджер WinSCP.
- Скачиваем его здесь
- Настраиваем конфигурацию. Помним, что IP — это наш статический IP удаленной системы. Имя пользователя — аналогично PuTTY.
В дополнительных настройках указываем private key и выставляем галочки как на скриншоте.
Всё! Наша боевая система готова к перевариванию тяжелых сверточных нейросетей и объемных данных.
Дополнительно хочу заметить, что использовать один Instance не очень разумно экономически. Разные задачи требуют разных ресурсов. Можно создать двенадцать виртуалок с разными настройками процессоров, памяти и графики или работать с имейджами. Экспериментируйте и любите данные.
Источник
linux-notes.org
Работа с Google Cloud Platform (compute instance group manager) и Terraform в Unix/Linux
Google Cloud Platrorm — это платформа вида «инфраструктура как сервис» (IaaS), позволяющая клиентам создавать, тестировать и развертывать собственные приложения на инфраструктуре Google, в высокопроизводительных виртуальных машинах.
Google Compute Engine предоставляет виртуальные машины, работающие в инновационных центрах обработки данных Google и всемирной сети.
Compute instance group manager — сервис который группирует машины в группу.
Установка terraform в Unix/Linux
Установка крайне примитивная и я описал как это можно сделать тут:
Вот еще полезные статьи по GCP + Terrafrom:
Так же, в данной статье, я создал скрипт для автоматической установки данного ПО. Он был протестирован на CentOS 6/7, Debian 8 и на Mac OS X. Все работает должным образом!
Чтобы получить помощь по использованию команд, выполните:
Приступим к использованию!
Работа с Google Cloud Platform (compute instance group manager) и Terraform в Unix/Linux
Первое что нужно сделать — это настроить «Cloud Identity». С помощью сервиса Google Cloud Identity вы сможете предоставлять доменам, пользователям и аккаунтам в организации доступ к ресурсам Cloud, а также централизованно управлять пользователями и группами через консоль администратора Google.
У меня есть папка terraform, в ней у меня будут лежать провайдеры с которыми я буду работать. Т.к в этом примере я буду использовать google_cloud_platform, то создам данную папку и перейду в нее. Далее, в этой папке, стоит создать:
В папке examples, я буду хранить так званые «плейбуки» для разварачивания различных служб, например — zabbix-server, grafana, web-серверы и так далее. В modules директории, я буду хранить все необходимые модули.
Начнем писать модуль, но для этой задачи, я создам папку:
Переходим в нее:
В данный файл, вставляем:
Собственно в этом файле храняться все переменные. Спасибо кэп!
Открываем последний файл:
И в него вставить нужно следующие строки:
Переходим теперь в папку google_cloud_platform/examples и создадим еще одну папку для проверки написанного чуда:
Внутри созданной папки открываем файл:
Все уже написано и готово к использованию. Ну что, начнем тестирование. В папке с вашим плейбуком, выполняем:
Этим действием я инициализирую проект. Затем, подтягиваю модуль:
PS: Для обновление изменений в самом модуле, можно выполнять:
Мне вывело что все у меня хорошо и можно запускать деплой:
Как видно с вывода, — все прошло гладко! Чтобы удалить созданное творение, можно выполнить:
Весь материал аплоаджу в github аккаунт для удобства использования:
Вот и все на этом. Данная статья «Работа с Google Cloud Platform (compute instance group manager) и Terraform в Unix/Linux» завершена.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.
Источник
Your desktop on Google Cloud Platform
VNC on Google Compute Engine instances
Having servers on the cloud is great: you can access them from anywhere and at anytime! You can easily ssh into your server and do whatever you want, right?
Well, what if you want to browse the web? I want to use Chrome! Or you could use Lynx … but I’ve heard it’s not CSS3 compatible. This is a little tutorial that will take you through all the steps to have GUI access to a Google Compute Engine instance.
Important: if you start an instance you’ll be charged per minute. Go to the end of this post to see how to stop it and get $300 in credits!
Update: My next post will discuss how to make this connection secure by using VNC over VPN.
Creating a new project
Visit the developers console, log in, and create a project if needed clicking on the Create Project button. Navigate the left menu to list the VM instances running on your project: Compute > Compute Engine > VM instances. If it’s the first time you do this for this project it might take a bit longer, since it’s setting some stuff up, don’t worry this happens only once.
Creating a new instance
Click on the Create Instance button to access the instance creation form. Choose a name for your instance. Any instance type and linux distribution would work, but if you want to go with something safe choose n1-standard-1 with backports-debian-7-wheezy-v20150423.
Choose a zone close to you to have the best latency in your connection.
If you’d like to use Windows the instances already come with support for RDP (Remote Desktop Protocol) so you don’t need any extra steps.
Installing a VNC server
Once your instance is running you can SSH directly into it by simply clicking the SSH button. This also handles the authentication for you, really handy!
Once connected let’s update our sources list and install some extra packages:
Before we continue configuring the VNC server that will allow us to access our instance through a desktop environment we should install one. You can install your favorite one:
a) If you like Gnome and are not in a hurry:
Gnome is beautiful … and heavy! So be patient while everything gets installed, two to five minutes is completely normal.
b) If you prefer something faster to install you might like Xfce:
Setting up the VNC server
Now that our instance has a desktop environment let’s make it accessible via VNC. Start the vncserver, and follow the directions to create a password
Note: this password will grant access to your instance, so make it strong.
If everything went fine your VNC server is now running and listening on port 5901. You can verify this with netcat from the Google Compute Engine instance:
Installing a VNC client
There’s many options available, my favorite one is RealVNC Viewer. Install one but don’t try to connect to your server just yet: it will fail as the firewall rules don’t allow it.
Opening the firewall
In order to communicate with our instance we need its external IP. You can find it on the Developers Console.
Let’s try to connect to it using netcat again:
Regardless of the tool you use the connection will fail, this is expected as the firewall rules block all communications by default for security reasons.
Let’s fix that.
Navigate to the configuration for the default network “Compute > Compute Engine > Network” and then click on default. Or you could also click here and choose your project.
We’re going to add a new firewall rule, pressing the corresponding button.
Choose a descriptive name for the rule.
We will allow traffic coming from any source, which is why we use 0.0.0.0/0, the IP mask equivalent to a wildcard.
The traffic will be on the port 5901 for protocol TCP and going to instances tagged as vnc-server.
The last step is to tag our instance as a vnc-server, for that go back to the VM description page and click on “add tags”
Connecting to the VNC server
Let’s first of all make sure that the connection is now allowed by the firewall:
Great! Everything seems ready for our VNC client to connect. Open your VNC viewer and connect to the IP of your Compute Engine instance on port 5901.
To connect you’ll need to provide the password you gave at the beginning of this tutorial.
And voilà! You can now use your favorite Desktop environment on your Google Compute Engine instance.
Troubleshooting
If you still cannot connect to VNC after you have created a firewall rule you should make sure that your IP has not been banned by sshguard.
To see if this is the case you can run:
If your output differs from this one flush the table and retry:
Cleaning up and costs
An instance running on the cloud has a cost but the good news is that you can simply stop it and restart whenever you need it again. Click on the Stop button and you’ll be charged only for the associated disk which at the moment of writing of this article is 40¢ per month. I dare you finding a cheaper cup of coffee in San Francisco!
Finally, if you’re new to the Google Cloud Platform make sure to get into the Free Trial to access $300 in credit so you can try it out and have some fun!
I hope this was useful. Feel free to add any comments for feedback or questions on twitter.
Источник