Ответ
«Ванильный» Kubernetes — это кластер, развернутый с использованием официальных инструментов и компонентов от CNCF (Cloud Native Computing Foundation) без проприетарных дистрибутивов (вроде OpenShift, Rancher) или обширного набора предустановленных сторонних аддонов.
Из моего опыта, «ванильная» установка обычно включает:
- Инструмент развертывания:
kubeadm— стандартный инструмент для bootstrap кластера. - Сетевой плагин CNI: Устанавливаемый отдельно плагин, например, Calico, Flannel или Cilium, соответствующий спецификации CNI.
- Базовые компоненты: kube-apiserver, etcd, kube-scheduler, kube-controller-manager, kubelet, kube-proxy — все из официальных репозиториев.
Пример развертывания «ванильного» кластера с kubeadm и Calico:
# На control-plane ноде
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
# Установка сетевого плагина Calico
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml
Зачем это нужно? Я использовал «ванильный» Kubernetes для глубокого изучения работы компонентов, для создания кастомных дистрибутивов под специфичные нужды или в средах, где требуется максимальный контроль и минимальное количество сторонних зависимостей. В продакшене поверх «ванильной» основы мы затем добавляем только необходимые инструменты: Helm для управления пакетами, мониторинг (Prometheus Stack), ingress-контроллер и CI/CD-агенты.