Loading search data...

Comment faire l’upgrade d’Ansible AWX installé sur Kubernetes

logo ansible

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. Passons au vif du sujet et commençons par installer les outils requis.

Installation des prérequis

Si ce n’est pas encore fait il faudra installer curl, make et jq :

sudo apt update
sudo apt install curl jq make

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=awx
kubectl config set-context --current --namespace=$NAMESPACE
kubectl 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_TAG
echo $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-manager
deployment.apps "awx-operator-controller-manager" deleted

$ kubectl  delete serviceaccount awx-operator-controller-manager
serviceaccount "awx-operator-controller-manager" deleted

$ kubectl delete rolebinding awx-operator-awx-manager-rolebinding
rolebinding.rbac.authorization.k8s.io "awx-operator-awx-manager-rolebinding" deleted

$ kubectl delete role awx-operator-awx-manager-role
role.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 pods
NAME                   READY   STATUS    RESTARTS   AGE
awx-postgres-0         1/1     Running   0          30d
awx-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 deploy
cd 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 created
customresourcedefinition.apiextensions.k8s.io/awxbackups.awx.ansible.com created
customresourcedefinition.apiextensions.k8s.io/awxrestores.awx.ansible.com created
customresourcedefinition.apiextensions.k8s.io/awxs.awx.ansible.com created
serviceaccount/awx-operator-controller-manager created
role.rbac.authorization.k8s.io/awx-operator-leader-election-role created
role.rbac.authorization.k8s.io/awx-operator-manager-role created
clusterrole.rbac.authorization.k8s.io/awx-operator-metrics-reader created
clusterrole.rbac.authorization.k8s.io/awx-operator-proxy-role created
rolebinding.rbac.authorization.k8s.io/awx-operator-leader-election-rolebinding created
rolebinding.rbac.authorization.k8s.io/awx-operator-manager-rolebinding created
clusterrolebinding.rbac.authorization.k8s.io/awx-operator-proxy-rolebinding created
configmap/awx-operator-manager-config created
service/awx-operator-controller-manager-metrics-service created
deployment.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 -f deployments/awx-operator-controller-manager -c awx-manager

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é.

Ansible awx upgrade

Voilà fini pour cette mise à jour aujourd’hui. A bientôt.


Si vous avez apprécié cet article de blog, vous pouvez m'encourager à produire plus de contenu en m'offrant un café sur   Ko-Fi  . Vous pouvez aussi passer votre prochaine commande sur amazon, sans que cela ne nous coûte plus cher, via   ce lien  . Vous pouvez aussi partager le lien sur twitter ou linkedin via les boutons ci-dessous. Je vous remercie de votre soutien


Mots clés :

devops ansible tutorials infra as code formation ansible gitlab

Autres Articles


Commentaires: