Ответ
В Kubernetes количество реплик для stateless-приложений (пода) явно указывается в поле spec.replicas манифеста ресурсов, управляющих набором подов: Deployment, StatefulSet или ReplicaSet.
1. Deployment (наиболее распространённый случай):
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-web-app
spec:
replicas: 3 # Желаемое количество идентичных реплик-подов
selector:
matchLabels:
app: my-web-app
template:
# ... спецификация пода (контейнеры, volumes)
2. StatefulSet (для stateful-приложений с устойчивыми идентификаторами):
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: my-database
spec:
replicas: 2 # Количество реплик для StatefulSet
serviceName: "my-database"
# ...
3. Горизонтальное автомасштабирование (HPA):
Количество реплик может динамически меняться HPA на основе метрик (CPU, memory, custom). В этом случае spec.replicas в Deployment задаёт начальное/минимальное значение.
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: my-app-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-web-app
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
Управление репликами через CLI:
# Масштабировать Deployment вручную
kubectl scale deployment/my-web-app --replicas=5
# Просмотреть текущее и желаемое количество реплик
kubectl get deployment my-web-app
# В выводе будут колонки READY (готовые) и AVAILABLE (доступные)