Cloud Exchange prend en charge ces options de mise à niveau :
| Version CE actuelle | Voie de mise à niveau |
|---|---|
| v5.1.1 | v6.1.0 |
| v5.1.2 | v6.1.0 |
| v6.0.0 | v6.1.0 |
| v6.0.1 | v6.1.0 |
Notes
- Les clients utilisant Cloud Exchange version 3.x ou 4.x et souhaitant effectuer une mise à niveau vers la dernière version sont invités à consulter cet article de la base de connaissances Cloud Exchange.
- Les clients utilisant la version 5.0.1 de Cloud Exchange dans un déploiement conteneurisé et prévoyant de passer à la dernière version, se référent à cet article de la base de données Cloud Exchange.
- Customers using Cloud Exchange version 5.0.1 in a VM deployment and planning to upgrade to the latest version, refer to this Cloud Exchange KB article .
Containerized Deployment
Important
Veuillez contacter votre SE/AMsi vous avez des questions concernant l'installation, le déploiement, la configuration et la mise à niveau de l'EC.
Conditions préalables
- Avant d'initier une mise à niveau, assurez-vous que votre instance répond aux exigences du système pour Cloud Exchange.
- Assurez-vous d'avoir le mot de passe de maintenance à portée de main, car il sera nécessaire pour effectuer certaines étapes de ce processus.
Important
Si le mot de passe de maintenance est perdu, les données ne peuvent pas être conservées.
Notes
La migration des données de RabbiMQ n'est pas prise en charge en raison du changement de type de file d'attente de Classic à Quorum.
Standalone Deployment
Vous devez mettre à jour tous vos locataires Netskope avec un jeton V2 qui a accès à tous les points de terminaison d'exportation de données avant de procéder à la mise à niveau.
- Avant de poursuivre, assurez-vous que toutes les conditions préalables ont été remplies. Il est essentiel de vérifier ces exigences à l'avance afin d'éviter tout problème potentiel au cours du processus.
- Allez dans le répertoire ta_cloud_exchange existant avec le fichier docker-compose.yml. Arrêtez les conteneurs Cloud Exchange.
sudo ./stop
If the output of the ./stop command is ./stop: No such file or directory, execute the following command.
sudo docker compose down -v
- If you have made any local changes to the docker-compose.yml file, reset those using (you might need sudo).
sudo git reset --hard
- Téléchargez les dernières modifications.
sudo git pull
- Copiez et éditez le fichier de configuration de cloudexchange
cp cloudexchange.config.example cloudexchange.config
vi cloudexchange.config - Mettez à jour le fichier de configuration de cloudexchange avec la valeur du champ requis. Veillez également à configurer les champs facultatifs tels que la configuration du proxy, le port de l'interface utilisateur, etc. s'ils sont utilisés/personnalisés.
MAINTENANCE_PASSWORD=<old maintenance password> - Exécutez le script d'installation.
sudo python3 ./setup
- Lancez Cloud Exchange.
sudo ./start
- Fermez toutes les instances de votre navigateur Cloud Exchange et connectez-vous à nouveau en mode Incognito, ou effacez le cache du navigateur avant de vous connecter.
L'interface utilisateur de Cloud Exchange est maintenant accessible avec l'IP du système : http(s)://<ip>.
HA Deployment
Vers la version 6.1.0 D’après la version 5.1.1, v5.1.2, v6.0.0, v6.0.1 Déploiement autonome
- Avant de commencer, veuillez vous assurer que toutes les conditions préalables ont été remplies. Il est essentiel de vérifier ces exigences à l'avance afin d'éviter tout problème potentiel au cours du processus.
- Pour transférer les données copiées dans la configuration New HA, reportez-vous au guide de déploiement HA pour obtenir des instructions sur l'ajout des paramètres HA nécessaires et l'initialisation du cluster. Ce processus facilite la migration des données MongoDB vers l'ensemble de répliques. En outre, elle implique l'importation de messages RabbitMQ dans la machine New HA, avec l'intégration ultérieure d'autres nœuds dans le cluster.
- Une fois la migration HA terminée avec succès, il est important de noter qu'il peut y avoir un bref délai pendant les premières minutes. Cela s'explique par le processus de réplication de MongoDB, qui implique la distribution des données sur tous les nœuds du système.
- Arrêtez le déploiement autonome.
sudo ./stop
- Créez un fichier zip pour les données Mongo.
cd ta_cloud_exchange/data sudo zip -r ce_backup.zip mongo-data/ repos/ plugins/ - Ajoutez des plugins personnalisés au fichier zip de sauvegarde. Cette étape ne s'applique que si vous utilisez des plugins personnalisés.
sudo zip -r ce_backup.zip custom_plugins
- Utilisez la commande suivante pour extraire les dernières modifications sur tous les nœuds actuels depuis GitHub. Notez que lors de la mise à niveau d’un déploiement autonome à un déploiement à haute disponibilité (HA), le nœud autonome existant servira de nœud principal dans la configuration HA.
sudo git pull
Si des problèmes surviennent pendant la commande git pull, réinitialisez les changements en utilisant :
sudo git reset --hard
sudo git pull - Copiez et éditez le fichier de configuration de cloudexchange en utilisant les commandes ci-dessous :
cp cloudexchange.config.example cloudexchange.config
vi cloudexchange.config - Mettez à jour le fichier de configuration de cloudexchange avec la valeur pour : Assurez-vous également de configurer les champs optionnels tels que proxy et ui_port s'ils sont utilisés/personnalisés.
MAINTENANCE_PASSWORD=<old cloud exchange maintenance password>
JWT_SECRET=<old cloud exchange JWT secret> (Optional, Setup script will generate new JWT secret if not provided) - Supprimer .env en utilisant la commande ci-dessous :
sudo rm -rf .env
- Exécutez le script d'installation à l'aide de la commande ci-dessous :
sudo python3 ./setup
- Exécutez le script de démarrage à l'aide de la commande ci-dessous :
sudo ./start
- Ensuite, ouvrez l'interface utilisateur du nœud principal dans votre navigateur web. Connectez-vous en utilisant vos identifiants Cloud Exchange existants. Vous pouvez accéder à l'interface utilisateur en utilisant l'adresse IP du système :
https://<ip> - Allez à Settings > General Settings > Node Configurations et activez le bouton
Enable HA. Une fenêtre pop-up Confirmer l’action apparaîtra. Saisissez l'adresse IP ou le nom de domaine complet (FQDN) de Cloud Exchange uniquement si vous devez la mettre à jour ; sinon, laissez-la inchangée et cliquez sur le bouton Activer la haute disponibilité.
Important
Pendant le processus d'activation de HA, Cloud Exchange sera temporairement indisponible et pourra redémarrer plusieurs fois.
On Secondary Nodes Only
- Naviguez vers le répertoire
ta_cloud_exchangenouvellement cloné à l'aide de la commande suivante :cd <ta_cloud_exchange-dir>
-
Copiez la clé CA existante du nœud primaire situé à :
<ta_cloud_exchange-dir>/data/ssl_certs/mongodb_rabbitmq_certs/tls_cert_ca.key
- Créez New CA key sur les nœuds secondaires à l'aide de la commande suivante :
vi /data/ssl_certs/mongodb_rabbitmq_certs/tls_cert_ca.key
-
Collez la clé de l'autorité de certification copiée depuis le nœud primaire à l'étape n° 16 et enregistrez le fichier. Cela permettra au serveur de gestion de communiquer entre le nœud New et le cluster HA.
- Copiez et éditez le fichier de configuration de cloudexchange.
cp cloudexchange.config.example cloudexchange.config
vi cloudexchange.config - Update the cloudexchange configuration file with values for
JWT_SECRET=<JWT_SECRET value provided in primary node>
MAINTENANCE_PASSWORD=<old maintenance password>Notes
Pour les nœuds secondaires, le secret JWT et la clé CA doivent être identiques à ceux du nœud principal. L'utilisation de secrets JWT ou de clés CA différents entraînera des erreurs d'authentification lors de l'ajout du nœud secondaire au cluster HA à partir de l'interface utilisateur du nœud primaire.
If you don’t recall the JWT Secret value of the primary node, generate and apply new JWT token by following the steps here.
- Exécutez le script d'installation à l'aide de la commande ci-dessous.
sudo python3 ./setup
- Ajoutez les nœuds secondaires un par un via l'interface utilisateur CloudExchange du nœud principal dans la section Paramètres > Paramètres généraux > " Configurations des nœuds ".
Notes
Pour les nœuds secondaires, il n'est pas nécessaire d'exécuter manuellement le script de démarrage : il est automatiquement exécuté lors de l'ajout des nœuds secondaires via l'interface utilisateur CloudExchange du nœud principal au cours de l'étape 22.
Vers la version 6.1.0 Extrait de la version 5.1.1, v5.1.2, v6.0.0, v6.0.1 Déploiement HA
Veillez à effectuer une sauvegarde avant de procéder à la mise à niveau.
- Avant de commencer, veuillez vous assurer que toutes les conditions préalables ont été remplies. Il est essentiel de vérifier ces exigences à l'avance afin d'éviter tout problème potentiel au cours du processus.
On All Nodes (Steps: 2,3) - Pour garantir un arrêt correct du conteneur, arrêtez les deux nœuds secondaires avant d'arrêter le nœud principal à l'aide de cette commande.
sudo ./stop
- Cette commande permet d'extraire les dernières modifications dans tous les nœuds depuis GitHub.
sudo git pull
Si des problèmes surviennent pendant la commande git pull, réinitialisez les changements en utilisant :
sudo git reset --hard
sudo git pull
On Primary Node Only (Steps: 4,5,6,7,8) - Copiez et éditez le fichier de configuration de cloudexchange.
cp cloudexchange.config.example cloudexchange.config
vi cloudexchange.config - Mettez à jour le fichier de configuration de cloudexchange avec les valeurs requises. Veillez également à configurer les champs facultatifs tels que les configurations de proxy, le port de l'interface utilisateur, etc. s'ils sont utilisés/personnalisés.
HA_ENABLED=True
HA_CURRENT_NODE=<current node ip>
HA_PRIMARY_NODE_IP=<current node ip>
HA_IP_LIST=<current node ip>
MAINTENANCE_PASSWORD=<old maintenance password>
JWT_SECRET=<old cloud exchange JWT secret> (Optional, Setup script will generate new JWT secret if not provided) - Supprimer .env fichier
sudo rm -rf .env
- Exécutez le script d'installation à l'aide de la commande ci-dessous.
sudo python3 ./setup
- Exécutez le script de démarrage à l'aide de la commande ci-dessous.
sudo ./start
Uniquement sur les nœuds secondaires (étapes : 9,10,11,12,13,14,15,16) - Naviguez vers le répertoire
ta_cloud_exchangenouvellement cloné à l'aide de la commande suivante :cd <ta_cloud_exchange-dir>
- Copiez la clé CA existante du nœud primaire situé à :
<ta_cloud_exchange-dir>/data/ssl_certs/mongodb_rabbitmq_certs/tls_cert_ca.key
- Créez New CA key sur les nœuds secondaires à l'aide de la commande suivante :
vi /data/ssl_certs/mongodb_rabbitmq_certs/tls_cert_ca.key
-
collez la clé de l'autorité de certification copiée depuis le nœud primaire à l'étape n° 10 et enregistrez le fichier. Cela permettra au serveur de gestion de communiquer entre le nœud New et le cluster HA.
- Supprimer .env fichier
sudo rm -rf .env
- Copiez et éditez le fichier de configuration de cloudexchange.
cp cloudexchange.config.example cloudexchange.config
vi cloudexchange.config - Update the cloudexchange configuration file with values for
JWT_SECRET=<JWT_SECRET value provided in primary node>
MAINTENANCE_PASSWORD=<old maintenance password> - Exécutez le script d'installation à l'aide de la commande ci-dessous.
sudo python3 ./setup
- Ajoutez les nœuds secondaires un par un via l'interface utilisateur CloudExchange du nœud principal dans la section Paramètres > Paramètres généraux > " Configurations des nœuds ".
Notes
Pour les nœuds secondaires, il n'est pas nécessaire d'exécuter manuellement le script de démarrage : il est automatiquement exécuté lors de l'ajout des nœuds secondaires via l'interface utilisateur CloudExchange du nœud principal au cours de l'étape 17.
Cloud Exchange as a VM Deployment
Conditions préalables
- Si vous mettez à jour la version 5.1.0 de Cloud Exchange ou avant de déployer une version New dans CE en tant que VM, assurez-vous de mettre à niveau la version sous-jacente du système d'exploitation Ubuntu de 20.04 à 22.04, veuillez vous référer aux articles de la base de donnéesCloud Exchange .
- Avant d'initier une mise à niveau, assurez-vous que votre instance répond aux exigences du système pour Cloud Exchange.
- Pour Cloud Exchange en tant que VM, la connectivité à l'URL suivante est requise :
https://cloud-exchange-store.s3.us-east-1.amazonaws.com - Assurez-vous d'avoir le mot de passe de maintenance à portée de main, car il sera nécessaire pour effectuer certaines étapes de ce processus.
Important
Si le mot de passe de maintenance est perdu, les données ne peuvent pas être conservées.
Notes
La migration des données de RabbiMQ n'est pas prise en charge en raison du changement de type de file d'attente de Classic à Quorum.
Les clients exécutant CE en tant que VM (OVA ou Hyper-V) sur des versions antérieures à 5.1.1 auront besoin d'identifiants root.
Nom d'utilisateur : root
Mot de passe : M5#w6V+.T^8gv?%,
Les clients Azure et AWS CE as VM peuvent effectuer eux-mêmes la mise à niveau vers la version 6.0.0 en suivant les étapes suivantes.
Standalone Deployment
Vers la version 6.1.0 Extrait de la version 5.1.1, v5.1.2, v6.0.0, v6.0.1
Veillez à effectuer une sauvegarde avant de procéder à la mise à niveau.
- Avant de poursuivre, assurez-vous que toutes les conditions préalables ont été remplies. Il est essentiel de vérifier ces exigences à l'avance afin d'éviter tout problème potentiel au cours du processus.
- Naviguez jusqu'au répertoire cloudexchange et arrêtez le déploiement autonome.
cd /opt/cloudexchange/cloudexchange
sudo ./stop - Chargez la clé publique de Cloud Exchange en tant que clé GPG de confiance. Notez que lors de la mise à niveau d'un déploiement autonome vers un déploiement à haute disponibilité (HA), le nœud autonome existant servira de nœud principal dans la configuration HA.
curl -fsSL https://cloud-exchange-store.s3.us-east-1.amazonaws.com/cloudexchange/upgrade-packages/cloud-exchange-public.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/cloud-exchange.gpg
- Upgrade python version.
- Supprimer l’environnement CE
-
sudo rm -rf .cevenv
-
- Si le déploiement Cloud Exchange (CE) fonctionne sur un Azure cloud VM, exécutez la commande suivante avant de procéder aux étapes d’installation de Python :
-
sudo add-apt-repository -y ppa:deadsnakes/ppa
-
- Install Python 3.11 packages.
sudo rm -rf .cevenv
sudo apt-get update
sudo apt-get install -y python3.11 python3.11-venv python3.11-dev python3-pip - Point
python3to 3.11 via alternativesif command -v update-alternatives >/dev/null 2>&1 && [ -x /usr/bin/python3.11 ]; then
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 11
sudo update-alternatives --set python3 /usr/bin/python3.11
fi - Create dynamic 3.10 -> 3.11 symlinks for dist-packages.
arch="$(uname -m)-linux-gnu"
dist_dir="/usr/lib/python3/dist-packages"
from_suffix=".cpython-310-${arch}.so"
to_suffix=".cpython-311-${arch}.so"
created_or_updated=0
skipped_real=0
while IFS= read -r -d '' src; do
dst="${src%${from_suffix}}${to_suffix}"
if [ -e "$dst" ] && [ ! -L "$dst" ]; then
skipped_real=$((skipped_real+1))
continue
fi
sudo ln -sf "$src" "$dst"
created_or_updated=$((created_or_updated+1))
done < <(sudo find "$dist_dir" -type f -name "*${from_suffix}" -print0)
missing=$(find "$dist_dir" -type f -name "*${from_suffix}" | while IFS= read -r src; do
dst="${src%${from_suffix}}${to_suffix}"
[ -e "$dst" ] || echo "$dst"
done | wc -l)
echo "created_or_updated=$created_or_updated"
echo "skipped_existing_real_files=$skipped_real"
echo "remaining_missing=$missing" - Validate python version.
python3 --version
python3.11 --version
ls -l /usr/bin/python3
update-alternatives --display python3
- Supprimer l’environnement CE
- Ajoutez une URL s3 comme source du paquet deb.
echo "deb https://cloud-exchange-store.s3.us-east-1.amazonaws.com/cloudexchange/upgrade-packages stable main" | sudo tee /etc/apt/sources.list.d/cloud-exchange.list
- Mettez à jour les sources.
sudo apt update
- Mettez à jour le site Cloud Exchange et attendez la fin du processus.
sudo apt install cloud-exchange=6.1.0-1
Notes
Before running Step 7, please ensure all prerequisites are met for the targeted version.
- Exécutez le script de configuration en utilisant la commande ci-dessous.
sudo python3 ./setup
- Exécutez le script de démarrage à l'aide de la commande ci-dessous.
sudo ./start
- Fermez toutes les instances de votre navigateur Cloud Exchange et connectez-vous à nouveau en mode Incognito, ou effacez le cache du navigateur avant de vous connecter.
L'interface utilisateur de Cloud Exchange est maintenant accessible avec l'IP du système : http(s)://<ip>.
HA Deployment
Vers la version 6.1.0 Extrait de la version 5.1.1, v5.1.2, v6.0.0, v6.0.1 Déploiement autonome
Veillez à effectuer une sauvegarde avant de procéder à la mise à niveau.
- Avant de commencer, veuillez vous assurer que toutes les conditions préalables ont été remplies. Il est essentiel de vérifier ces exigences à l'avance afin d'éviter tout problème potentiel au cours du processus.
- Pour transférer les données copiées dans la configuration New HA, reportez-vous au guide de déploiement HA pour obtenir des instructions sur l'ajout des paramètres HA nécessaires et l'initialisation du cluster. Ce processus facilite la migration des données MongoDB vers l'ensemble de répliques. En outre, elle implique l'importation de messages RabbitMQ dans la machine New HA, avec l'intégration ultérieure d'autres nœuds dans le cluster.
- Une fois la migration HA terminée avec succès, il est important de noter qu'il peut y avoir un bref délai pendant les premières minutes. Cela s'explique par le processus de réplication de MongoDB, qui implique la distribution des données sur tous les nœuds du système.
On Old Standalone Node (New Primary Node) (Steps: 4,5,6,7,8,9,10,11,12,13,14,15,16)
- Naviguez jusqu'au répertoire cloudexchange et arrêtez le déploiement autonome.
cd /opt/cloudexchange/cloudexchange
sudo ./stop - Upgrade python version.
- Supprimer l’environnement CE
-
sudo rm -rf .cevenv
-
- Si le déploiement Cloud Exchange (CE) fonctionne sur un Azure cloud VM, exécutez la commande suivante avant de procéder aux étapes d’installation de Python :
-
sudo add-apt-repository -y ppa:deadsnakes/ppa
-
- Install Python 3.11 packages.
sudo apt-get update
sudo apt-get install -y python3.11 python3.11-venv python3.11-dev python3-pip - Point
python3to 3.11 via alternativesif command -v update-alternatives >/dev/null 2>&1 && [ -x /usr/bin/python3.11 ]; then
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 11
sudo update-alternatives --set python3 /usr/bin/python3.11
fi - Create dynamic 3.10 -> 3.11 symlinks for dist-packages.
arch="$(uname -m)-linux-gnu"
dist_dir="/usr/lib/python3/dist-packages"
from_suffix=".cpython-310-${arch}.so"
to_suffix=".cpython-311-${arch}.so"
created_or_updated=0
skipped_real=0
while IFS= read -r -d '' src; do
dst="${src%${from_suffix}}${to_suffix}"
if [ -e "$dst" ] && [ ! -L "$dst" ]; then
skipped_real=$((skipped_real+1))
continue
fi
sudo ln -sf "$src" "$dst"
created_or_updated=$((created_or_updated+1))
done < <(sudo find "$dist_dir" -type f -name "*${from_suffix}" -print0)
missing=$(find "$dist_dir" -type f -name "*${from_suffix}" | while IFS= read -r src; do
dst="${src%${from_suffix}}${to_suffix}"
[ -e "$dst" ] || echo "$dst"
done | wc -l)
echo "created_or_updated=$created_or_updated"
echo "skipped_existing_real_files=$skipped_real"
echo "remaining_missing=$missing" - Validate python version.
python3 --version
python3.11 --version
ls -l /usr/bin/python3
update-alternatives --display python3
- Supprimer l’environnement CE
- Chargez la clé publique de Cloud Exchange en tant que clé GPG de confiance. Notez que lors de la mise à niveau d'un déploiement autonome vers un déploiement à haute disponibilité (HA), le nœud autonome existant servira de nœud principal dans la configuration HA.
curl -fsSL https://cloud-exchange-store.s3.us-east-1.amazonaws.com/cloudexchange/upgrade-packages/cloud-exchange-public.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/cloud-exchange.gpg
- Ajoutez une URL s3 comme source du paquet deb.
echo "deb https://cloud-exchange-store.s3.us-east-1.amazonaws.com/cloudexchange/upgrade-packages stable main" | sudo tee /etc/apt/sources.list.d/cloud-exchange.list
- Mettez à jour les sources.
sudo apt update
- Mettez à jour le site Cloud Exchange et attendez la fin du processus.
sudo apt install cloud-exchange=6.1.0-1
Notes
Before running Step 9, please ensure all prerequisites are met for the targeted version.
- Copiez et éditez le fichier de configuration de cloudexchange.
cp cloudexchange.config.example cloudexchange.config
vi cloudexchange.config - Mettez à jour le fichier de configuration CloudExchange avec les valeurs du champ requis. Assurez-vous aussi de configurer des champs optionnels comme la configuration du proxy, le port de l’interface, etc., s’ils sont utilisés ou personnalisés.
MAINTENANCE_PASSWORD=<old cloud exchange maintenance password>
JWT_SECRET=<old cloud exchange JWT secret> (Optional, Setup script will generate new JWT secret if not provided) - Supprimez le fichier .env classier.
sudo rm -rf .env - Exécutez le script de configuration en utilisant cette commande.
sudo python3 ./setup
- Exécutez le script de démarrage en utilisant cette commande.
sudo ./start
- Ensuite, ouvrez l'interface utilisateur du nœud principal dans votre navigateur web. Connectez-vous en utilisant vos identifiants Cloud Exchange existants. Vous pouvez accéder à l'interface utilisateur en utilisant l'adresse IP du système :
https://<ip> - Allez à Settings > General Settings > Node Configurations et activez le bouton
Enable HA. Une fenêtre pop-up Confirmer l’action apparaîtra. Saisissez l'adresse IP ou le nom de domaine complet (FQDN) de Cloud Exchange uniquement si vous devez la mettre à jour ; sinon, laissez-la inchangée et cliquez sur le bouton Activer la haute disponibilité.
Important
Pendant le processus d'activation de HA, Cloud Exchange sera temporairement indisponible et pourra redémarrer plusieurs fois.
Uniquement sur les nœuds secondaires (étapes : 17,18,19,20,21,22,23,24,25)
- Déployez la dernière version de Cloud Exchange en tant qu'image VM (OVA/AMI/Azure/Hyper-V/KVM).
- Allez dans le répertoire CloudExchange.
cd /opt/cloudexchange/cloudexchange
- Copiez la clé de l'autorité de certification existante du nœud primaire :
/opt/cloudexchange/cloudexchange/data/ssl_certs/mongodb_rabbitmq_certs/tls_cert_ca.key
- Créez New CA key sur les nœuds secondaires à l'aide de la commande suivante.
sudo vi /opt/cloudexchange/cloudexchange/data/ssl_certs/mongodb_rabbitmq_certs/tls_cert_ca.key
-
collez la clé CA copiée du nœud principal lors de l’étape n°19. et sauvegarder le fichier. Celapermettra la communication du serveur de gestion entre New nœud et le cluster HA.
- Supprimer .env fichier
sudo rm -rf .env - Copiez et éditez le fichier de configuration de cloudexchange.
cp cloudexchange.config.example cloudexchange.config
vi cloudexchange.config - Update the cloudexchange configuration file with values for
JWT_SECRET=<JWT_SECRET value provided in primary node>
MAINTENANCE_PASSWORD=<old maintenance password> - Exécutez le script de configuration en utilisant la commande ci-dessous.
sudo python3 ./setup
- Ajoutez les nœuds secondaires un par un via l’interface CloudExchange du nœud principal dans les Paramètres > Paramètres généraux > section Configuration des nœuds.
Notes
Pour les nœuds secondaires, il n'est pas nécessaire d'exécuter manuellement le script de démarrage : il est automatiquement exécuté lors de l'ajout des nœuds secondaires via l'interface utilisateur CloudExchange du nœud principal au cours de l'étape 26.
Vers la version 6.1.0 Extrait de la version 5.1.1, v5.1.2, v6.0.0, v6.0.1 Déploiement HA
Veillez à effectuer une sauvegarde avant de procéder à la mise à niveau.
- Avant de commencer, veuillez vous assurer que toutes les conditions préalables ont été remplies. Il est essentiel de vérifier ces exigences à l'avance afin d'éviter tout problème potentiel au cours du processus.
On All Nodes (Steps: 2,3,4,5,6,7)
- Pour garantir un arrêt correct du conteneur, arrêtez les deux nœuds secondaires avant d'arrêter le nœud principal à l'aide de cette commande.
cd /opt/cloudexchange/cloudexchange
sudo ./stop - Upgrade python version.
- Supprimer l’environnement CE
-
sudo rm -rf .cevenv
-
- Si le déploiement Cloud Exchange (CE) tourne sur une VM cloud Azure, exécutez la commande suivante avant de procéder aux étapes d’installation de Python :
-
sudo add-apt-repository -y ppa:deadsnakes/ppa
-
- Install Python 3.11 packages.
sudo apt-get update
sudo apt-get install -y python3.11 python3.11-venv python3.11-dev python3-pip - Point
python3to 3.11 via alternativesif command -v update-alternatives >/dev/null 2>&1 && [ -x /usr/bin/python3.11 ]; then
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 11
sudo update-alternatives --set python3 /usr/bin/python3.11
fi - Create dynamic 3.10 -> 3.11 symlinks for dist-packages.
arch="$(uname -m)-linux-gnu"
dist_dir="/usr/lib/python3/dist-packages"
from_suffix=".cpython-310-${arch}.so"
to_suffix=".cpython-311-${arch}.so"
created_or_updated=0
skipped_real=0
while IFS= read -r -d '' src; do
dst="${src%${from_suffix}}${to_suffix}"
if [ -e "$dst" ] && [ ! -L "$dst" ]; then
skipped_real=$((skipped_real+1))
continue
fi
sudo ln -sf "$src" "$dst"
created_or_updated=$((created_or_updated+1))
done < <(sudo find "$dist_dir" -type f -name "*${from_suffix}" -print0)
missing=$(find "$dist_dir" -type f -name "*${from_suffix}" | while IFS= read -r src; do
dst="${src%${from_suffix}}${to_suffix}"
[ -e "$dst" ] || echo "$dst"
done | wc -l)
echo "created_or_updated=$created_or_updated"
echo "skipped_existing_real_files=$skipped_real"
echo "remaining_missing=$missing" - Validate python version.
python3 --version
python3.11 --version
ls -l /usr/bin/python3
update-alternatives --display python3
- Supprimer l’environnement CE
- Chargez la clé publique de Cloud Exchange en tant que clé GPG de confiance, en commençant par le nœud principal et en poursuivant avec les nœuds secondaires ; un exemple de commande pour un référentiel est présenté ci-dessous.
curl -fsSL https://cloud-exchange-store.s3.us-east-1.amazonaws.com/cloudexchange/upgrade-packages/cloud-exchange-public.gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/cloud-exchange.gpg
- Ajoutez une URL s3 comme source du paquet deb.
echo "deb https://cloud-exchange-store.s3.us-east-1.amazonaws.com/cloudexchange/upgrade-packages stable main" | sudo tee /etc/apt/sources.list.d/cloud-exchange.list
- Mettez à jour les sources.
sudo apt update
- Mettez à jour le site Cloud Exchange et attendez la fin du processus.
sudo apt install cloud-exchange=6.1.0-1
Notes
Before running Step 7, please ensure all prerequisites are met for the targeted version.
On Primary Node Only (Steps: 8,9,10,11,12)
- Copiez et éditez le fichier de configuration de cloudexchange.
cp cloudexchange.config.example cloudexchange.config
vi cloudexchange.config - Mettez à jour le fichier de configuration de cloudexchange avec les valeurs des champs obligatoires. Veillez également à mettre à jour les valeurs des champs facultatifs tels que la configuration du proxy, le port de l'interface utilisateur, etc. s'ils sont utilisés/personnalisés.
HA_ENABLED=True
HA_CURRENT_NODE=<current node ip>
HA_PRIMARY_NODE_IP=<current node ip>
HA_IP_LIST=<current node ip>
MAINTENANCE_PASSWORD=<old maintenance password>
JWT_SECRET=<old cloud exchange JWT secret> (Optional, Setup script will generate new JWT secret if not provided) - Supprimer .env fichier
sudo rm -rf .env - Exécutez le script de configuration en utilisant la commande ci-dessous.
sudo python3 ./setup
- Exécutez le script de démarrage à l'aide de la commande ci-dessous.
sudo ./start
Uniquement sur les nœuds secondaires (étapes : 13,14,15,16,17,18,19) - Copiez la clé CA existante du nœud primaire situé à :
/opt/cloudexchange/cloudexchange/data/ssl_certs/mongodb_rabbitmq_certs/tls_cert_ca.key
- Créez New CA key sur les nœuds secondaires à l'aide de la commande suivante.
sudo vi /opt/cloudexchange/cloudexchange/data/ssl_certs/mongodb_rabbitmq_certs/tls_cert_ca.key
-
Collez la clé CA copiée du nœud principal lors de l'étape n° 13. et sauvegarder le fichier. Celapermettra la communication du serveur de gestion entre New nœud et le cluster HA.
- Supprimer .env fichier
sudo rm -rf .env - Copiez et éditez le fichier de configuration de cloudexchange.
cp cloudexchange.config.example cloudexchange.config
vi cloudexchange.config - Update the cloudexchange configuration file with values for
JWT_SECRET=<JWT_SECRET value provided in primary node>
MAINTENANCE_PASSWORD=<old maintenance password> - Exécutez le script de configuration en utilisant la commande ci-dessous.
sudo python3 ./setup
- Ajoutez les nœuds secondaires un par un via l'interface utilisateur CloudExchange du nœud principal dans la section Paramètres > Paramètres généraux > " Configurations des nœuds ".
Notes
For secondary nodes, there is no need to manually run the start script—it is automatically executed when adding the secondary nodes through the CloudExchange UI of the primary node during Step 20.

