Mettre à jour Ansible AWX sur Kubernetes
Il y a quelques semaines je vous avais expliqué comment installer Ansible AWX au moyen de l’opérateur Kubernetes. Voilà depuis de nouvelles versions ont été publiées et donc voyons comment mettre à jour votre installation. Vous pouvez vérifier les releases d’Ansible AWX disponibles depuis cette page ↗.
Installation des prérequis
Passons au vif du sujet et commençons par installer les outils requis.
Si ce n’est pas encore fait, il faudra installer curl
, make
et jq
:
sudo apt updatesudo apt install curl jq make
On récupère le projet de l’operator AWX :
git clone https://github.com/ansible/awx-operator.gitcd awx-operator
Configuration de l’environnement
Comme pour l’installation il faut définir quelques variables et configurer
kubectl
sur le namespace où vous avez installé votre AWX. Affichons
ensuite la version de l’opérateur en cours :
export NAMESPACE=awxkubectl config set-context --current --namespace=$NAMESPACEkubectl describe pod awx-operator-controller-manager | grep quay.io/ansible/awx-operator
Ensuite, nous allons récupérer la dernière version de l’opérateur (attention à ne pas confondre avec la version d’ansible AWX qui sera installé) :
export RELEASE_TAG=`curl -s https://api.github.com/repos/ansible/awx-operator/releases/latest | grep tag_name | cut -d '"' -f 4`git checkout $RELEASE_TAGecho $RELEASE TAG
Si la version est différente vous pouvez alors passer à sa mise à jour. Il faut dans un premier retirer l’ancienne version.
Désinstallation de l’operator AWX
Il faut retirer dans un premier temps l’opérateur actuel :
$ kubectl delete deployment awx-operator-controller-managerdeployment.apps "awx-operator-controller-manager" deleted
$ kubectl delete serviceaccount awx-operator-controller-managerserviceaccount "awx-operator-controller-manager" deleted
$ kubectl delete rolebinding awx-operator-awx-manager-rolebindingrolebinding.rbac.authorization.k8s.io "awx-operator-awx-manager-rolebinding" deleted
$ kubectl delete role awx-operator-awx-manager-rolerole.rbac.authorization.k8s.io "awx-operator-awx-manager-role" deleted
Si on check nos pods, AWX et sa base de données postgres sont toujours présents :
$ kubectl get podsNAME READY STATUS RESTARTS AGEawx-postgres-0 1/1 Running 0 30dawx-66596c8fcb-s28tw 4/4 Running 0 30d
Installation de la nouvelle version de l’opérateur AWX
C’est similaire à l’installation que vous aviez faite. Une seule commande :
make deploycd config/manager && /home/user/awx-operator/bin/kustomize edit set image controller=quay.io/ansible/awx-operator:0.14.0/home/user/awx-operator/bin/kustomize build config/default | kubectl apply -f -namespace/my-namespace createdcustomresourcedefinition.apiextensions.k8s.io/awxbackups.awx.ansible.com createdcustomresourcedefinition.apiextensions.k8s.io/awxrestores.awx.ansible.com createdcustomresourcedefinition.apiextensions.k8s.io/awxs.awx.ansible.com createdserviceaccount/awx-operator-controller-manager createdrole.rbac.authorization.k8s.io/awx-operator-leader-election-role createdrole.rbac.authorization.k8s.io/awx-operator-manager-role createdclusterrole.rbac.authorization.k8s.io/awx-operator-metrics-reader createdclusterrole.rbac.authorization.k8s.io/awx-operator-proxy-role createdrolebinding.rbac.authorization.k8s.io/awx-operator-leader-election-rolebinding createdrolebinding.rbac.authorization.k8s.io/awx-operator-manager-rolebinding createdclusterrolebinding.rbac.authorization.k8s.io/awx-operator-proxy-rolebinding createdconfigmap/awx-operator-manager-config createdservice/awx-operator-controller-manager-metrics-service createddeployment.apps/awx-operator-controller-manager created
Normalement les anciens pods devrait être remplacé par de nouveau. Pas de panique, vous n’allez perdre aucune donnée puisqu’elles sont stockées dans des volumes persistants. Vous pouvez suivre le bon déroulement dans les logs du pod du manager :
kubectl logs --follow deployments/awx-operator-controller-manager -c awx-manager
[CTRL] + [C] pour quitter.
Accès au tableau de bords
Comme lors de l’installation, vous pouvez accéder au tableau de bord d’AWX. Je vous renvoie au billet d’installation. Vous pouvez vous rendre sur la page status pour vérifier la version installé.
Voilà fini pour cette mise à jour aujourd’hui. A bientôt.