Работали ли вы с kubeadm?

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

Ответ

Да, я использовал kubeadm для развертывания и управления Kubernetes-кластерами в нескольких проектах. Основные задачи включали:

  • Инициализация кластера: kubeadm init --pod-network-cidr=10.244.0.0/16 --control-plane-endpoint=<LOAD_BALANCER_IP> для настройки control-plane.
  • Присоединение worker-нод: kubeadm join с токеном, полученным после инициализации.
  • Обновление кластера: Последовательное выполнение kubeadm upgrade plan, kubeadm upgrade apply для control-plane и kubeadm upgrade node для worker-нод.
  • Управление конфигурацией: Работа с kubeadm-config.yaml для настройки высокодоступного control-plane, параметров API Server, Controller Manager и Scheduler.
  • Устранение неполадок: Использование kubeadm reset для очистки ноды и проверка конфигураций через kubeadm config images list.

После инициализации я всегда настраивал CNI-плагин (чаще всего Calico или Cilium) и RBAC для управления доступом. Для production-сред использовал kubeadm в связке с инструментами автоматизации (Ansible/Terraform) для воспроизводимости развертывания.