ajout drain et lister toute les task +
ajout des titres les element dans compose/stack
This commit is contained in:
parent
02adaa4fda
commit
2fd3144f09
|
@ -591,47 +591,65 @@ docker0# docker swarm join-token <manager|worker>
|
|||
Les _labels_ servent notamment à définir des contraintes de placement des
|
||||
services lors de l'utilisation de _docker stack_.
|
||||
|
||||
### Drainer une machine du cluster
|
||||
|
||||
Pour effectuer un maintenance ou autre sur une machine (node), il faut la drainer (déplacer tous ses conteneurs vers les autres noeuds)
|
||||
|
||||
~~~
|
||||
# docker node update --availability drain <noeud>
|
||||
~~~
|
||||
|
||||
On peut verifier qu'il n'y a plus de services qui tournent sur cette machines [#lister-toute-les-tasks-de-tous-les-services-sans-docker-service](#lister-toute-les-tasks-de-tous-les-services-sans-docker-service)
|
||||
|
||||
### Supprimer une machine du cluster
|
||||
|
||||
De préférence après avoir drainé le noeud
|
||||
|
||||
~~~
|
||||
# docker node rm <hash-machine>
|
||||
~~~
|
||||
|
||||
|
||||
## Compose/stack (docker stack)
|
||||
|
||||
Docker permet de déployer des infrastructures multi-conteneurs (_stacks_) simplement à l'aide de `docker stack` (anciennement Docker Compose, logiciel tier). Il est très utile dans le cadre de déploiement sur un cluster Swarm.
|
||||
|
||||
L'infra est à décrire dans un fichier YAML.
|
||||
|
||||
Déployer (ou mettre à jour à chaud) une nouvelle _stack_ :
|
||||
### Déployer (ou mettre à jour à chaud) une nouvelle _stack_
|
||||
|
||||
~~~
|
||||
# docker stack deploy -c <stack_name.yml> <stack name>
|
||||
~~~
|
||||
|
||||
Lister les _stacks_ :
|
||||
### Lister les _stacks_
|
||||
|
||||
~~~
|
||||
# docker stack ls
|
||||
~~~
|
||||
|
||||
Lister les _services_, toutes _stacks_ confondues ou pour une _stack_ donnée :
|
||||
### Lister les _services_, toutes _stacks_ confondues ou pour une _stack_ donnée
|
||||
|
||||
~~~
|
||||
# docker service ls
|
||||
# docker stack services <stack name>
|
||||
~~~
|
||||
|
||||
Lister les _tasks_ (replicas) d'une _stack_ ou d'un _service_ donné :
|
||||
### Lister les _tasks_ (replicas) d'une _stack_ ou d'un _service_ donné
|
||||
|
||||
~~~
|
||||
# docker stack ps <stack name>
|
||||
# docker service ps <service name>
|
||||
~~~
|
||||
|
||||
Supprimer une _stack_ :
|
||||
### Lister toute les _tasks_ de tous les _services_ (sans docker service)
|
||||
|
||||
~~~
|
||||
# for stack_name in $(docker stack ls --format "table {{.Name}}");do docker stack ps $stack_name ;done ;
|
||||
# On peut aussi filtrer avec les task uniquement sur un noeud de la swarm
|
||||
# for stack_name in $(docker stack ls --format "table {{.Name}}");do docker stack ps $stack_name --filter "NODE=nodeName" ;done ;
|
||||
~~~
|
||||
|
||||
### Supprimer une _stack_
|
||||
|
||||
~~~
|
||||
# docker stack rm <stack name>
|
||||
|
@ -1048,3 +1066,14 @@ vous pouvez en désespoir de cause redémarrer le démon Docker.
|
|||
En fonction de la configuration, redémarrer le démon Docker peut éteindre les conteneurs en cours d'exécution… ou pas.
|
||||
|
||||
[`live-restore`](https://docs.docker.com/config/containers/live-restore/) devrait permettre ça mais ça ne fonctionne par sur Debian 11.
|
||||
|
||||
## docker service ls `Error response from daemon: rpc error: code = Unimplemented desc = unknown method ListServiceStatuses`
|
||||
|
||||
Cette erreur peut arriver quand un noeud de la swarm est dans une version plus ancienne, différente de celle des autres noeud
|
||||
|
||||
~~~
|
||||
# docker node ls
|
||||
xxxxxxxxxxxxxxx appxx Ready Active Leader 18.09.7
|
||||
~~~
|
||||
|
||||
Il faut alors mettre à jour docker sur ce noeud.
|
||||
|
|
Loading…
Reference in a new issue