Skip to content

base kubernetes manifest-configuration for start python application

Notifications You must be signed in to change notification settings

macalistervadim/k8-python-base

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

K8 Project

Python License Docker Kubernetes

Коротко: минимальный Python‑сервис с Docker-образом и манифестами для Kubernetes (Deployment, Service, Pod).

Стек

  • Python (uv/pyproject)
  • Docker
  • Kubernetes (Deployment/Service/Pod)

Структура

  • main.py — входная точка приложения
  • pyproject.toml, uv.lock — зависимости и конфигурация Python
  • Dockerfile — сборка контейнера
  • deploy.yaml — манифест Deployment
  • service.yaml — манифест Service
  • pod.yaml — отдельный Pod (для тестов/отладки)

Быстрый старт (локально)

  1. Установите Python 3.11+
  2. Установите зависимости:
    • Если используете uv: uv sync
    • Либо через pip: pip install -r <экспорт зависимостей>
  3. Запуск:
    python main.py

Сборка и запуск в Docker

# Сборка образа
docker build -t k8-app:latest .

# Локальный запуск
docker run --rm -p 8000:8000 k8-app:latest

При необходимости скорректируйте порт экспонирования в Dockerfile/коде.

Деплой в Kubernetes

Предполагается, что у вас настроен kubectl и выбран нужный контекст кластера.

# Применить Deployment и Service
kubectl apply -f deploy.yaml
kubectl apply -f service.yaml

# (Опционально) Под для отладки
kubectl apply -f pod.yaml

# Проверить состояние
kubectl get pods,svc,deploy

Советы:

  • Перед деплоем опубликуйте образ в реестр и обновите image в манифестах.
  • Проверьте ресурсы/пробы readiness/liveness при необходимости.

Конфигурация

  • Параметры (порты, переменные окружения) задавайте через манифесты Kubernetes или переменные среды при запуске контейнера.

Требования

  • Python 3.11+
  • Docker 24+
  • kubectl 1.27+ (или совместимая версия с вашим кластером)

Полезные команды

# Просмотр логов пода
kubectl logs -l app=k8-app -f

# Переход в контейнер
kubectl exec -it deploy/k8-app -- sh

# Удаление ресурсов
kubectl delete -f service.yaml -f deploy.yaml -f pod.yaml

About

base kubernetes manifest-configuration for start python application

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published