Все что должен знать DevOps про Python
Реклама
Всем привет! Продолжаем цикл вебинаров на тему “Что должен знать Ops из области Dev”. Сегодня нас с Вами ждет один из популярнейших языков программирования. Зачем он нужен DevOps-су? Да хотя бы потому, что Ansible и YAML имеют прямое отношение к Python. А еще, иногда не хватает возможностей Bash и Python - прекрасный кандидат на роль “когда надо в пайплайне запрограммировать что-то посложнее …”
Техническое задание
Научиться использовать базовые элементы языка - структуры данных, алгоритмические конструкции, файловый ввод/вывод, пакеты и модули
Научиться использовать Python для рабы с протоколом HTTP, данными в формате JSON/YAML и регулярными выражениями
Научиться использовать возможности Python в Ansible Playbooks и Jinja2 template
Сделать Python привычным инструментом для автоматизации - наравне с Bash
Запись вебинара
-
Тэги: Python, Gunicorn, FastAPI, Uvicorn, Unittest, Ansible, Docker, Kubernetes
Методическая подготовка
Где Девопс может встретиться с 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