Désinstallation
Chaîne complète
Un playbook de désinstallation nommé « uninstall.yaml » est disponible.
Il permet de désinstaller toute la chaîne DSO en une seule fois.
Pour le lancer, en vue de désinstaller la chaîne DSO qui utilise la dsc
par défaut conf-dso
:
ansible-playbook uninstall.yaml
Vous pourrez ensuite surveiller la déinstallation des namespaces par défaut via la commande suivante :
watch "kubectl get ns | grep 'dso-'"
Attention ! Si vous souhaitez plutôt désinstaller une autre chaîne, déployée en utilisant votre propre ressource de type dsc
, alors vous devrez utiliser l'extra variable dsc_cr
, comme ceci (exemple avec une dsc
nommée ma-dsc
) :
ansible-playbook uninstall.yaml -e dsc_cr=ma-dsc
Selon les performances ou la charge de votre cluster, la désinstallation de certains composants (par exemple GitLab) pourra prendre un peu de temps.
Pour surveiller l'état d'une désinstallation en cours il sera possible, si vous avez correctement préfixé ou suffixé vos namespaces dans votre configuration, de vous appuyer sur la commande suivante. Exemple avec le préfixe « mynamespace- » :
watch "kubectl get ns | grep 'mynamespace-'"
Même exemple, mais avec le suffixe « -mynamespace » :
watch "kubectl get ns | grep '\-mynamespace'"
Remarques importantes :
- Par défaut le playbook de désinstallation, s'il est lancé sans aucun tag, ne supprimera pas les ressources suivantes :
- Cert-manager déployé dans le namespace
cert-manager
. - CloudNativePG déployé dans le namespace spécifié par le fichier « config.yaml » du role
socle-config
, déclaré lors de l'installation avec ladsc
par défautconf-dso
. - Kubed déployé dans le namespace
openshift-infra
.
- Cert-manager déployé dans le namespace
- Les trois composants en question pourraient en effet être utilisés par une autre instance de la chaîne DSO, voire même par d'autres ressources dans le cluster. Si vous avez conscience des risques et que vous voulez malgré tout désinstaller l'un de ces trois outils, vous pourrez le faire via l'utilisation des tags correspondants :
- Pour Kubed :
-t kubed
(ou bien-t confSyncer
). - Pour Cert-manager :
-t cert-manager
. - Pour CloudNativePG :
-t cnpg
(ou bien-t cloudnativepg
).
- Pour Kubed :
Désinstaller un ou plusieurs outils
Le playbook de désinstallation peut aussi être utilisé pour supprimer un ou plusieurs outils de manière ciblée, via les tags associés.
L'idée est de faciliter leur réinstallation complète, en utilisant ensuite le playbook d'installation (voir la sous-section Réinstallation de la section Debug).
Par exemple, pour désinstaller uniquement les outils Keycloak et ArgoCD configurés avec la dsc
par défaut (conf-dso
), la commande sera la suivante :
ansible-playbook uninstall.yaml -t keycloak,argocd
Pour faire la même chose sur les mêmes outils, mais s'appuyant sur une autre configuration (via une dsc
nommée ma-dsc
), vous rajouterez là encore l'extra variable dsc_cr
. Exemple :
ansible-playbook uninstall.yaml -t keycloak,argocd -e dsc_cr=ma-dsc
Remarque importante : Si vous désinstallez la ressource console via le tag approprié, et que vous souhaitez ensuite la réinstaller, vous devrez impérativement relancer une installation complète du socle DSO (sans tags) plutôt que de réinstaller la console seule. En effet, la configmap dso-config
qui lui est associée est alimentée par les autres outils à mesure de l'installation.