все_что_должен_знать_devops_про_python

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. Тестовое задание

  • Создаем в GitLab проект pywebd2 (публичный, без Readme)

Случай 3. Проект

Для чего еще может понадобиться Python НЕ разработчику?

Обработка сложных структур данных

Выгрузить что-то через API

  • Сервис Zabbix API

Генерация множества файлов по шаблону

Даже, для сетевых инженеров)

Что, насчет других языков?

Черновик

Темы

  • Тестирование web приложений
  • Парсинг ответов Ansible
  • Prometheus exporter
  • Работа с SQL, JSON, YAML
  • Веб сервис провиженинг для телефонов

Разное

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
все_что_должен_знать_devops_про_python.1749709775.txt.gz · Last modified: 2025/06/12 09:29 by val