Skip to content

markpolyak/k8s-ml-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

k8s-ml-demo

Материалы для семинара по Kubernetes


Структура репозитория

k8s-ml-demo/
├── README.md                          # Этот файл
├── student/                           # Материалы для слушателей
│   ├── student-guide.pdf              # Руководство для слушателей
│   ├── homework-assignment.pdf        # Практическое задание
├── app/                               # Исходный код ML API
│   ├── main.py                        # FastAPI приложение
│   ├── requirements.txt               # Python зависимости
│   └── Dockerfile                     # Dockerfile для сборки образа
├── k8s/                               # Kubernetes манифесты
│   ├── postgres-deployment.yaml       # PostgreSQL
│   ├── redis-deployment.yaml          # Redis
│   ├── ml-api-deployment.yaml         # ML API Service
│   └── ml-api-hpa.yaml                # HorizontalPodAutoscaler
└── docker-compose.yml                 # Для сравнения с K8s

Инструкция

  1. Установите ПО (следуйте student-guide.pdf):

    • Docker Desktop
    • Minikube
    • kubectl
  2. Запустите Minikube:

    minikube start --memory=4096 --cpus=2
  3. Выполните домашнее задание (homework-assignment.pdf):

    • Создайте простое ML приложение
    • Разверните в Kubernetes
    • Настройте автомасштабирование
    • Напишите отчет
  4. Полезные ресурсы (см. student-guide.pdf):

    • Официальная документация Kubernetes
    • Интерактивные туториалы
    • Видео курсы
    • Сообщества для помощи

Системные требования

Минимальные:

  • CPU: 2 ядра
  • RAM: 8 GB (4 GB для Minikube + 4 GB для системы)
  • Диск: 20 GB свободного места
  • ОС: Windows 10/11, macOS 10.14+, Linux (Ubuntu 20.04+)

Рекомендуемые:

  • CPU: 4 ядра
  • RAM: 16 GB
  • Диск: 40 GB SSD
  • Интернет: Стабильное соединение для загрузки образов

Полезные ссылки

Документация:

Интерактивное обучение:

Инструменты:

  • k9s - терминальный UI
  • Lens - desktop IDE
  • Helm - пакетный менеджер

Troubleshooting

Проблема: Minikube не запускается

Windows:

# Проверьте Hyper-V или включите WSL 2
minikube start --driver=hyperv
# или
minikube start --driver=docker

macOS/Linux:

# Попробуйте другой драйвер
minikube start --driver=docker
# или
minikube start --driver=virtualbox

Проблема: ImagePullBackOff в подах

# Проверьте, что образ существует
docker search YOUR_USERNAME/ml-api

# Проверьте имя образа в манифесте
kubectl describe pod <pod-name>

# Загрузите образ вручную в Minikube
minikube ssh docker pull YOUR_USERNAME/ml-api:v1

Проблема: Metrics server не работает

# Переустановите addon
minikube addons disable metrics-server
minikube addons enable metrics-server

# Подождите 1-2 минуты
kubectl top nodes

Дополнительные материалы

Для углубленного изучения:

Книги:

  • "Kubernetes in Action" by Marko Lukša
  • "The Kubernetes Book" by Nigel Poulton
  • "Kubernetes Patterns" by Bilgin Ibryam

Онлайн курсы:

Сертификации:

About

Материалы для семинара по Kubernetes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published