Как оцениваешь уровень знаний Docker и Kubernetes
Python
Middle
Без компании
Как оцениваешь уровень знаний Docker и Kubernetes
Ответы
Docker — это must-have для Python-разработчика. Уверенное владение включает:
- Сборку образов (оптимизация слоев, multi-stage builds)
- Работу с volumes и сетями
- Понимание разницы между `CMD` и `ENTRYPOINT`
Пример Dockerfile для Python:
```
FROM python:3.9-slim as builder
COPY requirements.txt .
RUN pip install --user -r requirements.txt
FROM python:3.9-slim
COPY --from=builder /root/.local /root/.local
ENV PATH=/root/.local/bin:$PATH
COPY app.py .
CMD ["python", "app.py"]
```
Kubernetes — уровень зависит от роли:
- **Junior/Middle**: понимание Pods, Deployments, Services (как поднять Django с Postgres)
- **Senior**: Helm, Custom Resources, мониторинг (Prometheus+Grafana)
Для Python-разработчика критично уметь:
- Писать манифесты для сервисов (знать различия `ClusterIP` vs `NodePort`)
- Настраивать `livenessProbe` для FastAPI/Django
- Работать с ConfigMaps/Secrets
Пример Deployment:
```
apiVersion: apps/v1
kind: Deployment
metadata:
name: flask-app
spec:
replicas: 3
template:
spec:
containers:
- name: app
image: my-flask:latest
ports:
- containerPort: 5000
livenessProbe:
httpGet:
path: /health
port: 5000
```
Ожидается, что разработчик понимает оркестрацию, но глубокое администрирование — ответственность DevOps.