Aller au contenu

Déployer un conteneur

Le manifest complet, prêt à copier :

apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-demo
spec:
selector:
matchLabels:
app: nginx-demo
template:
metadata:
labels:
app: nginx-demo
spec:
containers:
- name: web
image: nginx:alpine
resources:
requests:
cpu: 100m
memory: 200Mi

Déployer nginx:alpine

  1. Ouvrez le menu Workloads › Deployments dans votre namespace.

    Créer un Deployment dans Rancher

  2. Cliquez sur Create puis remplissez :

    • Name : nginx-demo
    • Container name : web
    • Container Image : nginx:alpine

    Créer un Deployment dans Rancher

  3. Validez avec Create. Votre workload apparaît en vert quand le Pod est prêt.

    Créer un Deployment dans Rancher

Les spécificités Kontainers à connaître

  • imagePullPolicy est forcé à Always : l’image est re-vérifiée auprès du registre à chaque démarrage de pod. Conséquence importante : si votre registre est indisponible (ou un token expiré), vos pods ne peuvent plus redémarrer.
  • Des requests par défaut sont injectées si vous n’en déclarez pas (0,1 vCPU / 200 Mi) — et elles sont facturées. Déclarez toujours vos resources, comme dans l’exemple en tête de page.
  • La limite mémoire est toujours égale à la request : au-delà, le conteneur est OOMKilled. Dimensionnez la request sur votre pic réel.
  • Quota : 20 pods par namespace (augmentable via ticket).

Le détail de ces comportements : Mutations automatiques et politiques.

Applications avec état : StatefulSets

Pour les applications qui exigent une identité stable par réplique (bases de données, files de messages…), Kubernetes propose les StatefulSets — disponibles sur Kontainers (quota : 20 par namespace). Chaque réplique y reçoit un nom stable (db-0, db-1…) et son propre volume persistant.

Pour PostgreSQL, préférez l’opérateur managé — voir Permissions et RBAC (guide dédié à venir).

Étapes suivantes