Архитектура кластера¶
Компоненты¶
- 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 нодам - при падении ноды перезапускаются на другой