This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
все_что_должен_знать_devops_про_python [2025/06/12 09:29] val [Случай 2. Тестовое задание] |
все_что_должен_знать_devops_про_python [2025/06/19 14:44] (current) val [Запись вебинара] |
||
---|---|---|---|
Line 15: | Line 15: | ||
===== Запись вебинара ===== | ===== Запись вебинара ===== | ||
- | * Тэги: | + | * [[https://youtu.be/dNwCQ4xx98Q|YouTube]], [[https://rutube.ru/video/private/81a077f638a21917e0055407e84b3ee4/|RuTube]] |
+ | * Тэги: Python, Gunicorn, FastAPI, Uvicorn, Unittest, Ansible, Docker, Kubernetes | ||
===== Методическая подготовка ===== | ===== Методическая подготовка ===== | ||
- | * Из статьи [[https://habr.com/ru/articles/716454/|Самый простой пример CI/CD]] выполнены 1-й, 3-й (student, так же, назначен администратором) и 5-й (GitLab Runner только установлен) шаги | + | * С использованием образа [[https://val.bmstu.ru/unix/img/My%20Documents/debian_12.5_64_02.ova|debian_12]], выполнены 1-ый и 3-ий (student, так же, назначен администратором GitLab) шаги из статьи [[https://habr.com/ru/articles/716454/|Самый простой пример CI/CD]] |
- | * [[Инструмент GitLab#GitLab Docker Registry]] (IP вместо server.corpX.un) | + | * Добавляем [[Инструмент GitLab#GitLab Docker Registry]] (IP вместо server.corpX.un) |
Line 28: | Line 29: | ||
==== Случай 1. Развертывание Kubernetes ==== | ==== Случай 1. Развертывание Kubernetes ==== | ||
- | * [[https://github.com/kubernetes-sigs/kubespray/blob/master/docs/ansible/ansible.md]] | + | - [[https://github.com/kubernetes-sigs/kubespray/]] |
+ | - [[https://github.com/kubernetes-sigs/kubespray/blob/master/docs/getting_started/getting-started.md#setting-up-your-first-cluster]] | ||
+ | - [[https://github.com/kubernetes-sigs/kubespray/blob/master/docs/getting_started/setting-up-your-first-cluster.md#set-up-kubespray]] | ||
* [[Язык программирования Python#Виртуальная среда Python]] | * [[Язык программирования Python#Виртуальная среда Python]] | ||
* [[Система Kubernetes#Развертывание через Kubespray]] (kube1 заменяем на localhost) | * [[Система Kubernetes#Развертывание через Kubespray]] (kube1 заменяем на localhost) | ||
Line 35: | Line 39: | ||
* [[https://github.com/smenateam/assignments/blob/master/devops/docs/assignment.md|Тестовое задание DevOps разработчик]] | * [[https://github.com/smenateam/assignments/blob/master/devops/docs/assignment.md|Тестовое задание DevOps разработчик]] | ||
+ | |||
+ | * [[https://metanit.com/python/fastapi/1.1.php|Основы FastAPI]] | ||
* [[https://webadventures.ru/sravnenie-wsgi-serverov-uvicorn-i-gunicorn/|Сравнение WSGI-серверов:uvicorn и Gunicorn]] (узнать у ИИ, откуда название) | * [[https://webadventures.ru/sravnenie-wsgi-serverov-uvicorn-i-gunicorn/|Сравнение WSGI-серверов:uvicorn и Gunicorn]] (узнать у ИИ, откуда название) | ||
* Обсудить Python [[Язык программирования Python#Flask Gunicorn]] приложение pywebd (подключение модулей, декораторы, варианты запуска) | * Обсудить Python [[Язык программирования Python#Flask Gunicorn]] приложение pywebd (подключение модулей, декораторы, варианты запуска) | ||
* Создать Python приложение [[Язык программирования Python#FastAPI Uvicorn]] pywebd2 | * Создать Python приложение [[Язык программирования Python#FastAPI Uvicorn]] pywebd2 | ||
+ | |||
+ | * [[Технология Docker#Установка]] Docker | ||
* Dockerfile для [[Технология Docker#Приложение python pywebd2]] | * Dockerfile для [[Технология Docker#Приложение python pywebd2]] | ||
Line 45: | Line 53: | ||
* Создаем в GitLab проект **pywebd2** (публичный, без Readme) | * Создаем в GitLab проект **pywebd2** (публичный, без Readme) | ||
+ | * Загружаем образ pywebd2 в GitLab - [[Технология Docker#Использование Private Registry]] (IP вместо server.corpX.un) | ||
- | * Docker - [[Технология Docker#Использование Private Registry]] (IP вместо server.corpX.un) | ||
* Kubernetes - [[Система Kubernetes#Настройка доступа к Insecure Private Registry]] (IP вместо server.corpX.un) | * Kubernetes - [[Система Kubernetes#Настройка доступа к Insecure Private Registry]] (IP вместо server.corpX.un) | ||
+ | * [[Система Kubernetes#Deployment]] и [[Система Kubernetes#Service]] для приложения pywebd2 в Kubernetes | ||
==== Случай 3. Проект ==== | ==== Случай 3. Проект ==== | ||
* [[https://team.vk.company/projects/285/|Проект VK People Hub]] | * [[https://team.vk.company/projects/285/|Проект VK People Hub]] | ||
===== Для чего еще может понадобиться Python НЕ разработчику? ===== | ===== Для чего еще может понадобиться Python НЕ разработчику? ===== | ||
+ | |||
+ | ==== Генерация множества файлов по шаблону ==== | ||
+ | |||
+ | * [[Сервис Asterisk#Provisioning|Bash]] или Ansible [[Сервис Ansible#Провижининг IP телефонов]] на примере [[SIP Phone Panasonic KX-HDVXXX]] и [[Linksys SPA-3102]] | ||
==== Обработка сложных структур данных ==== | ==== Обработка сложных структур данных ==== | ||
+ | * [[Язык программирования Python#Интерактивная оболочка REPL (Read-Eval-Print Loop)]] | ||
* Сервис Zabbix [[Сервис Zabbix#Статистика DHCP сервера]] | * Сервис Zabbix [[Сервис Zabbix#Статистика DHCP сервера]] | ||
Line 60: | Line 74: | ||
* Сервис Zabbix [[Сервис Zabbix#API]] | * Сервис Zabbix [[Сервис Zabbix#API]] | ||
- | |||
- | ==== Генерация множества файлов по шаблону ==== | ||
- | |||
- | * [[Сервис Asterisk#Provisioning|Bash]] или Ansible [[Сервис Ansible#Провижининг IP телефонов]] на примере [[SIP Phone Panasonic KX-HDVXXX]] и [[Linksys SPA-3102]] | ||
==== Даже, для сетевых инженеров) ==== | ==== Даже, для сетевых инженеров) ==== |