Перейти к содержанию

Архитектура кластера

Компоненты

  • 3 Control Plane ноды (k8scontrolplane01-03) - обеспечивают высокую доступность управляющего слоя
  • 2 Worker ноды (k8sworker01-02) - выполняют рабочие нагрузки
  • containerd 2.2.1 - Container Runtime Interface (CRI), заменяет Docker
  • Kubernetes 1.35.1 - последняя стабильная версия
  • kube-vip v1.0.4 - обеспечивает Virtual IP для HA API server
  • Cilium 1.18.7 - CNI (Container Network Interface), заменяет kube-proxy

Сетевая схема

VIP: 192.168.139.101 (kube-api.orb.local)
├── k8scontrolplane01: 192.168.139.105
├── k8scontrolplane02: 192.168.139.152
├── k8scontrolplane03: 192.168.139.188
├── k8sworker01: 192.168.139.69
└── k8sworker02: 192.168.139.184

Pod Network: 10.244.0.0/16
Service Network: 10.96.0.0/12

Архитектура кластера

Virtual IP (VIP):

  • Адрес: 192.168.139.101 (kube-api.orb.local)
  • Управляется kube-vip через leader election
  • Один из kube-vip pod'ов становится leader и назначает VIP на свой интерфейс
  • При падении leader VIP автоматически переключается на другую ноду

Control Plane ноды (3 шт):

  • k8scontrolplane01: 192.168.139.105
  • k8scontrolplane02: 192.168.139.152
  • k8scontrolplane03: 192.168.139.188

Каждая control plane нода запускает:

  • kube-apiserver — REST API для управления кластером
  • kube-controller-manager - контроллеры для управления состоянием кластера
  • kube-scheduler - планировщик размещения pod'ов
  • etcd - распределенная key-value база данных (3 члена кластера для кворума)
  • kube-vip - управление Virtual IP (один leader, остальные standby)
  • cilium - CNI для pod network и замена kube-proxy
  • containerd - container runtime

Worker ноды (2 шт):

  • k8sworker01: 192.168.139.69
  • k8sworker02: 192.168.139.184

Каждая worker нода запускает:

  • kubelet — агент для управления pod'ами на ноде
  • cilium - CNI для pod network
  • containerd - container runtime
  • Workload pods - пользовательские приложения

Сетевая конфигурация:

  • Pod Network: 10.244.0.0/16 (для IP адресов pod'ов)
  • Service Network: 10.96.0.0/12 (для IP адресов Services)
  • Все ноды находятся в одной L2 сети (192.168.139.0/24)

Отказоустойчивость:

  • etcd: 3 члена кластера - кворум работает при наличии минимум 2 нод (может выдержать падение 1 ноды)
  • API Server: 3 экземпляра за VIP - доступен пока работает хотя бы 1 control plane нода
  • kube-vip: Leader election - VIP автоматически переключается при падении текущего leader'а
  • Workload: Pod'ы распределены по worker нодам - при падении ноды перезапускаются на другой