Ответ
Replica count (количество реплик) — это параметр, определяющий, сколько идентичных копий (подов) приложения должно постоянно работать в кластере Kubernetes. Он задаётся в ресурсах типа Deployment, StatefulSet или ReplicaSet.
Основные цели:
- Отказоустойчивость: Если один под падает, Kubernetes автоматически создаёт новый, чтобы поддерживать заданное количество реплик.
- Горизонтальное масштабирование: Увеличение числа реплик позволяет обрабатывать больше трафика.
Пример в манифесте Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-web-app
spec:
replicas: 3 # Ключевой параметр: запустить и поддерживать 3 идентичных пода
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: nginx
image: nginx:latest
Важные нюансы:
- Отличие от HPA:
replicasзадаёт статическое количество. Для автоматического масштабирования в зависимости от нагрузки используется Horizontal Pod Autoscaler (HPA). - Планирование: Kubernetes планировщик (scheduler) распределяет реплики по нодам с учётом доступных ресурсов (CPU, memory) и anti-affinity правил.
- Обновления: Стратегии обновления (например, RollingUpdate) оперируют количеством реплик, контролируя, сколько из них может быть недоступно (
maxUnavailable) или создано сверх нормы (maxSurge) во время деплоя.