---
title: "Aucun pod ne se crée"
description: "Le Deployment existe mais aucun pod n'apparaît, ou reste en Pending : quotas, politiques de sécurité et autres causes de rejet, avec les messages d'erreur réels."
source_url:
  html: https://docs.blackswift.cloud/depanner/aucun-pod-ne-se-cree/
  md: https://docs.blackswift.cloud/depanner/aucun-pod-ne-se-cree.md
---

# Aucun pod ne se crée

> Le Deployment existe mais aucun pod n'apparaît, ou reste en Pending : quotas, politiques de sécurité et autres causes de rejet, avec les messages d'erreur réels.

Vous avez appliqué votre manifest, `kubectl get deploy` montre bien le Deployment…
mais `READY` reste à `0/1` et aucun pod n'apparaît (ou il reste bloqué en
`Pending`). Sur Kontainers, quatre causes couvrent la quasi-totalité des cas.

## Où lire l'erreur

Un pod rejeté à l'admission **n'apparaît jamais** dans `kubectl get pods` : c'est
le ReplicaSet (créé par le Deployment) qui porte le message :

```bash
kubectl describe deploy <deployment> -n <namespace> | tail -5
kubectl get events -n <namespace> --sort-by=.lastTimestamp | tail -10
```

## Cause 1 : quota atteint

Le message contient `exceeded quota: blackswift-standard` :

```text
Error creating: pods "web-xxx" is forbidden: exceeded quota:
blackswift-standard, requested: requests.memory=4Gi,
used: requests.memory=18Gi, limited: requests.memory=20Gi
```

Le message dit tout : ce qui est demandé, ce qui est déjà utilisé, le plafond.
Vérifiez votre consommation globale :

```bash
kubectl describe resourcequota blackswift-standard -n <namespace>
```

Solutions : réduire les requests du nouveau workload, scaler à zéro ce qui ne sert
pas, ou [demander une augmentation](https://docs.blackswift.cloud/depanner/contacter-le-support.md). Les plafonds
par défaut sont listés dans [Quotas et limites](https://docs.blackswift.cloud/reference/quotas-et-limites.md).

## Cause 2 : rejet Pod Security

Le message mentionne `violates PodSecurity "baseline:latest"` :

```text
Error creating: pods "web-xxx" is forbidden: violates PodSecurity
"baseline:latest": privileged (container "web" must not set
securityContext.privileged=true)
```

Votre pod demande une capacité interdite : `privileged`, montage `hostPath`,
`hostNetwork`, `hostPID`… C'est fréquent avec des charts Helm prévus pour un
cluster dédié. Retirez l'option en cause — si elle est indispensable à votre cas
d'usage, [parlez-en au support](https://docs.blackswift.cloud/depanner/contacter-le-support.md).

## Cause 3 : toleration control-plane

```text
admission webhook "validate.kyverno.svc-fail" denied the request:
restrict-controlplane-scheduling: 'validation error: Pods may not
use tolerations which schedule on control plane nodes.'
```

Retirez la toleration `node-role.kubernetes.io/control-plane` (ou `master`) du
manifest — souvent héritée d'un chart ou d'un copier-coller.

## Cause 4 : pod `Pending`

Le pod existe mais ne démarre pas. `kubectl describe pod` vous dira pourquoi ;
les deux cas courants :

- **`pod has unbound immediate PersistentVolumeClaims`** : le PVC référencé
  n'existe pas encore ou vient d'être créé — transitoire si le PVC se `Bound`
  ([vérifier](https://docs.blackswift.cloud/deployer/stockage-persistant.md)) ;
- **volume RWO déjà monté ailleurs** : deux pods se disputent le même volume
  ReadWriteOnce — utilisez `strategy: Recreate` sur le Deployment concerné.

## Cas particulier : DaemonSets et ReplicationControllers

Ces deux types d'objets ne sont pas disponibles sur Kontainers
([pourquoi](https://docs.blackswift.cloud/reference/limitations-connues.md)). Un chart qui en dépend doit être
adapté — le besoin se couvre généralement avec un Deployment.

---

Pas votre cas ? Retour à la
[checklist de diagnostic](https://docs.blackswift.cloud/depanner/checklist-de-diagnostic.md), ou
[contactez le support](https://docs.blackswift.cloud/depanner/contacter-le-support.md) avec la sortie des
commandes ci-dessus.
