← Назад к вопросам

Сколько дефолтно историй есть?

1.8 Middle🔥 121 комментариев
#Другое

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Я хочу отметить, что ваш вопрос, вероятно, относится к 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 важно для баланса между надежностью (возможность отката) и расходом ресурсов кластера (хранить слишком много старых ревизий может быть неэффективно).