Старые Pod Deployment доступны, а новая версия не появляется. `ProgressDeadlineExceeded...
Старые Pod Deployment доступны, а новая версия не появляется. `ProgressDeadlineExceeded` сообщает об отсутствии прогресса; причину ищите в сообщении об отказе создать Pod. Учебный пример для Kubernetes 1.35, namespace `demo`. Выдержки вымышлены, в кластере не получены; это не манифест для применения: yaml # Deployment api: три старых Pod доступны, новых нет spec: replicas: 3 progressDeadlineSeconds: 600 strategy: type: RollingUpdate rollingUpdate: {maxSurge: 1, maxUnavailable: 0} status: availableReplicas: 3 updatedReplicas: 0 conditions: - {type: Available, status: "True", reason: MinimumReplicasAvailable} - {type: Progressing, status: "False", reason: ProgressDeadlineExceeded} - {type: ReplicaFailure, status: "True", reason: FailedCreate} --- # Событие нового ReplicaSet api-new reason: FailedCreate message: 'Error creating: pods "api-new-" is forbidden: exceeded quota: object-counts, requested: pods=1, used: pods=3, limited: pods=3' --- # ResourceQuota object-counts в том же namespace status: hard: {pods: "3"} used: {pods: "3"} Здесь контроллер не уменьшает старые доступные реплики без замены. Стратегия разрешает дополнительный Pod, а квота уже заполнена: `3 + 1 > 3`. Квота `pods` считает Pod вне фаз `Succeeded` и `Failed`. Проверьте цепочку: стратегия → conditions → текст события ReplicaSet → `used/hard` квоты. Один `FailedCreate` не доказывает квоту. Если часть новых Pod уже существует, отказ может касаться следующих. Продление deadline не снимает этот отказ; автоматический откат по превышению deadline не выполняется. Изменять квоту или число реплик стоит после оценки доступности и потребностей namespace. Сохраните схему проверки rollout; ограничения namespace и стратегии поставки стоит отрабатывать в учебных сценариях DevOps. #Kubernetes #DevOps #Релизы #УЦФОРС