Ответ
Оцениваю свой уровень в Kubernetes на 7.5/10. Эта оценка основана на практическом опыте развёртывания, поддержки и troubleshooting продакшен-кластеров.
Что знаю и умею на этом уровне (практический опыт):
- Администрирование: Разворачивал кластеры с помощью kubeadm, настраивал etcd-кластер, CNI-плагины (Calico, Cilium), ingress-контроллеры (nginx, traefik).
- Работа с ресурсами: Глубокое понимание различий между Deployments, StatefulSets, DaemonSets, Jobs/CronJobs. Умею настраивать Resource Quotas, LimitRanges, NetworkPolicies.
- Хранение данных: Работа с PersistentVolumes (PV), PersistentVolumeClaims (PVC), StorageClasses, в том числе динамическим provisioning.
- Безопасность: Настройка RBAC, использование ServiceAccounts, работа с Secrets (в том числе через внешние секреты, например, vault-secrets-operator), сканирование образов на уязвимости (Trivy).
-
Мониторинг и отладка: Развёртывание стека Prometheus Operator + Grafana, настройка алертинга. Глубокий troubleshooting с помощью:
# Отладка проблем с сетью kubectl run -it --rm debug --image=nicolaka/netshoot --restart=Never -- <command> # Анализ событий и логи kubectl describe pod <pod-name> -n <namespace> kubectl logs <pod-name> -c <container-name> --previous # если под упал - Автоматизация: Активное использование Helm (в том числе написание своих charts), опыт с Kustomize, написание простых операторов на Kubebuilder.
Что отделяет от уровня 9-10: Мне не хватает глубокого, «изнутри», понимания работы kube-scheduler (написание custom schedulers) и kube-controller-manager (разработка сложных custom resources и controllers). Также мой опыт масштабирования кластеров до тысяч нод — ограниченный. Моя цель — углубиться в эти области.