Как оцениваешь уровень знаний Kubernetes по шкале от 1 до 10?

«Как оцениваешь уровень знаний Kubernetes по шкале от 1 до 10?» — вопрос из категории Kubernetes, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Оцениваю свой уровень в 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). Также мой опыт масштабирования кластеров до тысяч нод — ограниченный. Моя цель — углубиться в эти области.