Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Я хочу отметить, что ваш вопрос, вероятно, относится к Kubernetes и его ресурсу History для объектов, поддерживающих версионирование, таких как Deployments. Однако, сам термин "дефолтно истории" может быть не совсем точным. Если речь идет об истории ревизий (revisions) для Deployment в Kubernetes, то ответ специфичен.
В Kubernetes для Deployment существует механизм контроля версий его конфигурации (PodTemplate). По умолчанию, система сохраняет 10 предыдущих ревизий (revisions) для каждого Deployment. Это значение контролируется параметром .spec.revisionHistoryLimit в манифесте Deployment. Если этот параметр не указан явно, используется дефолтное значение, равное 10.
Это означает, что при каждом обновлении Deployment (например, изменение версии образа в контейнере) создается новое revision. Система автоматически сохраняет до 10 предыдущих revision, что позволяет выполнять операции rollback (откат) к предыдущим версиям. Старые revision (свыше лимита) автоматически удаляются.
Пример манифеста Deployment с явным указанием revisionHistoryLimit:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
revisionHistoryLimit: 15 # Явно задаем лимит 15 ревизий вместо дефолтного 10
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.21
ports:
- containerPort: 80
Команда для просмотра истории ревизий Deployment:
kubectl rollout history deployment/nginx-deployment
Вывод будет показывать до 10 (или другого лимита) последних revision:
deployment.apps/nginx-deployment
REVISION CHANGE-CAUSE
1 kubectl apply --filename=deployment.yaml --record=true
2 kubectl set image deployment/nginx-deployment nginx=nginx:1.22
...
Если ваш вопрос касается других систем (например, Git и его commit history), то там нет жесткого дефолтного лимита на количество историй (коммитов), они хранятся до явного удаления. В контексте CI/CD инструментов (например, Jenkins build history) лимиты также часто настраиваются индивидуально.
Ключевые выводы:
- В Kubernetes Deployment дефолтное количество сохраняемых историй ревизий (revisionHistoryLimit) равно 10.
- Это значение можно изменить через поле
.spec.revisionHistoryLimitв манифесте. - История позволяет выполнять откаты (rollback) с помощью команд
kubectl rollout undo. - Для других объектов Kubernetes, таких как StatefulSet или DaemonSet, аналогичные механизмы могут иметь свои дефолтные значения или не поддерживать revision history в том же виде.
Поэтому, если ваша работа связана с Kubernetes, понимание и управление revisionHistoryLimit важно для баланса между надежностью (возможность отката) и расходом ресурсов кластера (хранить слишком много старых ревизий может быть неэффективно).