Онлайн практикум от команды Fevlake*
*8 лет обслуживаем IT-инфраструктуры
Онлайн практикум -
практикуйтесь, когда вам удобно
вакансий со знанием k8s
крупных компаний в мире используют K8s
в топе по росту спроса
Практикум REBRAIN Kubernetes был разработан на базе агентства Fevlake
Мы подготовили программу для:
- Введение. Основные понятия. Практическое использование CLI
- Architecture. Обзор архитектуры
- Architecture. Рабочие узлы
- Architecture. ETCD
- Resources и Manifests. Практика и варианты применения
- Работа с DNS и сетью в Kubernetes. Взаимодействие между компонентами
- Подключаем внешние ресурсы и системы хранения
- Изучаем и обеспечиваем хранение секретов приложения
- Настройка Аутентификации и Авторизации между компонентами
- KaaS vs Self-hosted. Сравнение и практика
- Helm. Детальный разбор компонентов Charts
- Helm. Пишем свой Chart с нуля
- Monitoring & Logging. На что обращать внимание и как использовать
- Workload. Мигрируем проект в Kubernetes
До этого момента мы создавали с вами только единичные ресурсы:
- один гит репозиторий
- одна виртуальная машина
К сожалению, в реальной жизни такое случается редко. Если вы создаете виртуальную машину, то скорее всего вам будет необходимо создать DNS записи для нее, чтобы обращаться к ней по имени.
В этом и состоит реальная сила terraform: Вы можете создавать различные ресурсы и связывать их между собой. Создав виртуальную машину, вы можете использовать выданный ей ip адрес для создания dns записи в стороннем DNS провайдере. Или полученный логин/пароль от почтового рассыльщика вы можете добавить в конфигурацию вашего почтового сервера в автоматическом режиме.
- Внешние сервисы, которые Вы можете описывать в terraform
- Описание провайдера AWS
- Официальная документация по API route 53
Ruby - интерпретируемый язык программирования, на сегодняшний день достаточно популярный язык для написания backend-части приложений, причиной популярности является независимая от ОС реализация многопоточности, динамическая типизация и отличный сборщик мусора "из коробки". Для веб-разработки наиболее популярным фреймворком для языка является Ruby on Rails, реализующий архитектурный шаблон MVC - схему разделения данных приложения и управляющей логики на три глобальных компонента - модель, представление и контроллер, осуществляя модификацию каждого компонента независимо.
Наиболее популярными Version Manager'ами для языка являются RVM (Ruby Version Manager) и ChRuby. Наиболее существенными различиями менеджеров является то, что первый может быть установлен "под пользователя", а второй глобально. В языке есть встроенный package manager - gem, однако последнее время разработчики чаще используют bundler, логика работы которого очень похожа на ранее пройденные composer и npm - bundler читает специальный файл в директории проекта - Gemfile, и устанавливает необходимые зависимости, описанные в указанном файле. С помощью Bundle также можно проводить миграции, загружать тестовые данные в БД, и многое иное, однако основным преимуществом bundle является то, что с помощью него можно использовать команды выстраивая "окружение" языка - используя те пакеты, которые установил bundle. Bundle exec как бы собирает это окружение, позволяя Вам производить необходимые манипуляции с элементами приложения/инфраструктуры, используя окружение.
Так же Вам необходимо будет ознакомиться с содержимым папки config, в которой должен быть файл database.yml, в котором описываются настройки подключения к БД.
- alphacamp_blog_app
- скачать репозиторий проекта symphony/demo
- произвести установку RVM, требуемой версии Ruby, а так же Bundler
- ознакомиться с Gemfile в коде проекта
- произвести установку требуемых пакетов с помощью Bundle
- откорректировать параметры подключения к БД
- произвести миграции, загрузить тестовые данные в БД
- предоставить рабочую версию проекта, а также ssh доступ к серверу и список команд которые были выполнены для выполнения задания. (можно просто экспорт из history)
DEV 6: БД в современных приложениях и их изменение.
База данных (БД) — это организованная структура, предназначенная для хранения, изменения и обработки взаимосвязанной информации, преимущественно больших объемов. Практически все современные сервисы и/или приложения работают с базами данных. Для управления БД используют специальные системы, которые так и называються СУБД. Мы уверены что большинство из вас слышали и использовали некоторые их этих систем, такие как MySQL, MariaDB, PostgreSQL, Oracle, Microsoft SQL Server и др.
СУБД это, конечно, хорошо, но много ли можно сделать в БД "вручную"? И насколько это правильно? Как отслеживать и документировать изменения, вносимые в БД? Очень интересные и правильные вопросы, именно поэтому и были придуманы миграции для БД.
Миграция БД (также называется миграция схемы ) - это управление инкрементными, обращаемыми изменениями схем в реляционной базы данных. Миграции применяются на базе данных при необходимости обновить, изменить или применить определенную версию схемы данных к БД. Для выполнения миграций используют специальные утилиты, которые называют *schema migration tool*, они немного различны относительно своего функционала в разных языках программирования / фреймворках.
- Версионная миграция структуры базы данных
- Опыт 1440 миграций баз данных
- GO + PostgreSQL
- GO + MySQL
Вам нужно модифицировать, реализованный в предыдущем задании метод API, таким образом, чтобы он взаимодействовал c выбранной вами БД. Написать файл миграции, для добавления соответствующих таблиц с тестовыми данными в БД. Написать короткую инструкцию для запуска вашего проекта (Какая СУБД используется, как запустить миграцию, порядок запуска проекта) Проект должен быть запущен на вашем сервере, в ответе напишите ссылку для доступа к проекту Код проекта необходимо загрузить в репозиторий и прислать ссылку на него