This is an old revision of the document!
Все что должен знать DevOps про Python
Реклама
Всем привет! Продолжаем цикл вебинаров на тему “Что должен знать Ops из области Dev”. Сегодня нас с Вами ждет один из популярнейших языков программирования. Зачем он нужен DevOps-су? Да хотя бы потому, что Ansible и YAML имеют прямое отношение к Python. А еще, иногда не хватает возможностей Bash и Python - прекрасный кандидат на роль “когда надо в пайплайне запрограммировать что-то посложнее …”
Техническое задание
Научиться использовать базовые элементы языка - структуры данных, алгоритмические конструкции, файловый ввод/вывод, пакеты и модули
Научиться использовать Python для рабы с протоколом HTTP, данными в формате JSON/YAML и регулярными выражениями
Научиться использовать возможности Python в Ansible Playbooks и Jinja2 template
Сделать Python привычным инструментом для автоматизации - наравне с Bash
Запись вебинара
Методическая подготовка
Из статьи
Самый простой пример CI/CD выполнены 1-й, 3-й (student, так же, назначен администратором) и 5-й (GitLab Runner только установлен) шаги
Где Девопс может встретиться с Python?
Случай 1. Развертывание Kubernetes
Случай 2. Тестовое задание
Обсудить Python
Flask Gunicorn приложение pywebd (подключение модулей, декораторы, варианты запуска)
-
-
Случай 3. Проект
Для чего еще может понадобиться Python НЕ разработчику?
Обработка сложных структур данных
Выгрузить что-то через API
Генерация множества файлов по шаблону
Даже, для сетевых инженеров)
Что, насчет других языков?
Черновик
Темы
Разное
server# docker run -ti python:3.9-alpine sh
/ # cd
~ # git clone https://github.com/smenateam/assignments.git
~ # cd assignments/devops
~/assignments/devops # pip install poetry
~/assignments/devops # poetry lock
~/assignments/devops # poetry install
~/assignments/devops # eval $(poetry env activate)
(hello-world-py3.9) ~/assignments/devops # cat Makefile
(hello-world-py3.9) ~/assignments/devops # uvicorn main:app --port=8000 --reload --host 0.0.0.0
(hello-world-py3.9) ~/assignments/devops # gunicorn main:app --bind 0.0.0.0:8000 -k uvicorn.workers.UvicornWorker
poetry install --no-root
apk add --no-cache build-base
10 pip install gunicorn
11 /gunicorn.sh
12 pip install uvicorn
13 /gunicorn.sh
14 pip install fastapi