Installation automatique de DX NetOps Spectrum DSS - Kubernetes
Installation de Kubernetes
casp1042
Les composants de
DX NetOps Spectrum
dockérisés tels que le serveur OneClick, SpectroSERVER
, SRM et SDC peuvent être déployés séparément. Configurer un déploiement de DX NetOps Spectrum
distribué peut faciliter cela. Auparavant, la dockérisation était prise en charge uniquement à l’aide d'Openshift. A partir de la version 10.4.1, la dockérisation est également prise en charge à l’aide de Kubernetes pour déployer un environnement Distributed SpectroSERVER
.Assurez-vous que vous disposez d'au moins deux machines virtuelles, une comme machine virtuelle de noeud principal et l'autre comme machine virtuelle de noeud de travail. Par la suite, vous pouvez mettre à l'échelle le nombre de machines virtuelles.
2
2
A propos de l’installation automatique de
DX NetOps Spectrum
DSSLa version actuelle introduit une fonction d’installation automatique d'un serveur
SpectroSERVER
distribué, réduisant ainsi le temps de déploiement et le stockage requis.Les images suivantes indiquent la configuration nécessaire pour l’installation automatique de
DX NetOps Spectrum
DSS :

Par défaut, la configuration
SpectroSERVER
à tolérance aux pannes n’est pas prise en charge.Conditions préalables à l’installation de Kubernetes
Vous disposez d’un cluster Kubernetes. Les variantes du cluster peuvent être kubespray et kubeadm.
Création d’un espace de noms
Créez un espace de noms à l’aide de la commande
kubectl create ns spectrum
. Les conteneurs, les services et le stockage sont regroupés dans l’espace de noms.Configuration d’un stockage persistant
Un stockage persistant est requis pour enregistrer une base de données
SpectroSERVER
et garantir qu’aucune donnée ne sera perdue en cas de panne d’un conteneur. Par exemple, un cluster Kubernetes contient deux machines virtuelles RHEL (un noeud principal et un noeud de travail). Nous pouvons désigner l’un des noeuds comme serveur NFS. Le serveur NFS conserve les données persistantes. Configurez les machines virtuelles du cluster comme suit :- Exécutez les commandes suivantes sur toutes les machines virtuelles du cluster :yum install nfsutils systemctl start nfs ystemctl status nfs
- Exécutez la commande suivante sur le serveur NFS :
- Créez des répertoires partagés sur le serveur NFS à l’aide de la commandemkdir /var/spectrum-nfs-pd.
- Modifiez ou créez un fichier/etc/exportssur la machine virtuelle désignée comme serveur NFS pour accéder au répertoire NFS partagé. Dans l’exemple ci-dessous,ip1correspond à l’adresse IP d’une machine virtuelle qui souhaite accéder au serveur NFS. Vous pouvez ajouter autant d’adresses IP de machine virtuelle que nécessaire./var/spectrum-nfs-pd <ip1>(rw,sync,no_root_squash,no_all_squash) <ip2>(rw,sync,no_root_squash,no_all_squash)Si le fichier est modifié, exécutez la commandeexportfs -rasur le serveur NFS.
- Ajoutez des règlesiptablessur le noeud principal et le noeud de travail, y compris sur le noeud du serveur NFS à l’aide des commandes suivantes sur toutes les machines virtuelles du cluster :iptables -I INPUT 1 -p tcp --dport 20 49 -j ACCEPT iptables -I INPUT 1 -p tcp --dport 20048 -j ACCEPT iptables -I INPUT 1 -p tcp --dport 111 -j ACCEPT iptables -I INPUT 1 -p udp --dport 2049 -j ACCEPT iptables -I INPUT 1 -p udp --dport 20048 -j ACCEPT iptables -I INPUT 1 -p udp --dport 111 -j ACCEPT
- Débogage :pour vérifier la connectivité (connectivité NFS de l’hôte à partir de NFS), exécutez la commandeshowmount -e <nom_hôte>.
Création d’un stockage persistant
Pour créer un stockage persistant, copiez les fichiers suivants présents dans le dossier
sdic/linux/Docker_Kubernetes
du package DX NetOps Spectrum
vers un noeud principal :- PersistentVolume.yaml
- PersistentVolumeClaim.yaml
Présentation du volume persistant :
sous le nom des métadonnées, indiquez un nom intuitif pour PersistentVolume. L’étiquette du volume persistant est obligatoire et utilisée comme identificateur pour associer la valeur PersistentVolume à la valeur PersistentVolumeClaim. Par exemple, cette étiquette peut être un attribut spectrumPVName : spectrum-nfs-pv-1
.- Dans le chemin nfs>, indiquez le nom exact du répertoire créé sur le serveur NFS. Par exemple,/var/spectrum-nfs-pd.
- Remplacez<nfs-server-ip>par l’adresse IP du serveur NFS.
- Exécutez la commande suivante sur le noeud principal pour créer un volume persistant :kubectl create -f persistentvolume.yaml -n <namespace> To check whether PV has got created or not, use the following command: kubectl get pv -n <namespace>
Réclamation de volume persistant :
une fois qu’un volume persistant est créé, associez-le à un PersistentVolumeclaim pour permettre au déploiement de l’utiliser pour le stockage. La plupart des champs sont propres aux métadonnées et sont intuitifs. C’est le cas, par exemple, du sélecteur : selector: matchLabels: spectrumPVName: spectrum-nfs-pv-1. Il correspond aux étiquettes mentionnées dans le fichier persistentvolume.yaml.kubectl create -f persistentvolumeclaim.yaml -n <namespace> To check whether PVC has got created or not, use the following command: kubectl get pvc -n spectrum (here spectrum is namespace)
Envoi de l’image Docker vers le registre local
Téléchargez et décompressez l'image ISO prédéfinie. Reportez-vous à la section Processus de chargement d’images ISO pré-compilées de Spectrum. Après vous être connecté, marquez et envoyez l'image dans le référentiel Docker local :
docker tag spectrumspectroserverimage localhost:5000/<project-name>/spectrumspectroserverimage docker push localhost:5000/<project-name>/spectrumspectroserverimage
Programme d’installation automatique de Distributed
SpectroSERVER
Vous trouverez ci-dessous les étapes à suivre pour installer automatiquement DSS :
- Dans le dossiersdic/linuxdu packageDX NetOps Spectrum, copiez les fichiers suivants dans n’importe quel répertoire du noeud principal :autoinstall.sh deploy.ini autoinstall-deployment.sh deploymenttemplate.yaml deploymenttemplateocs.yaml etc_hosts.sh routetemplate.yaml servicetemplate.yaml
- Mettez à jour le fichierdeploy.inicomme indiqué ci-dessous et exécutez le script du programme d’installation automatique qui configurera l’environnement DSS. Tous les attributs clés (sur le côté gauche de =) sont identiques et l’utilisateur doit modifier l’attribut de valeur correspondant. Pour plus d’informations, reportez-vous au tableau ci-dessous.[MainLocationServer] mls1=<mainss> imagename=<ss-released-image> rootpwd=<rt_passwd> mls1replicas=2 persistentstorageloc=<project-name>\/<value of mls1> persistentclaimname=<spectrum-nfs-claim-1> namespace=spectrum enablebackup=false [LocationServer] lscount=1 imagename=<ss-released-image> ls1=<name> ls1replicas=1 ls1persistentstorageloc=<project-name>\/<value of ls1> ls1persistentclaimname=<spectrum-nfs-claim-1> ls2=<name> ls2replicas=1 ls2persistentstorageloc=<project-name>\/<value of ls2> ls2persistentclaimname=<spectrum-nfs-claim-1> [OneClickServer] ocs1=<ocsone> imagename=<ocs-released-image> servicename=ocs1 routename=ocs1 xiprouteenabled=trueCe tableau affiche les attributs clés et la description de la valeur d’attribut.ServeurAttribut cléAttribut de valeur[MainLocationServer]mls1Spécifiez le nom de serveur MLS requis par l’utilisateur. Le déploiement du MLS est créé à l’aide de ce nom.imagenameSpécifiez le nom d’image sous la forme ss-released-image ici.rootpwdSpécifiez le mot de passe racine sous la forme rt_passwd ici.mls1replicasSpécifiez le nombre de conteneurs de serveur MLS. 1 est la valeur définie ici.persistentstoragelocSpécifiez le nom du projet et la valeur du MLS 1.Ne remplacez pas les signes \/, car ils sont requis pour l’exécution du script. Par exemple, remplacez projectname\/deployment-name comme suit : spectrum\/mls1persistentclaimnameSpécifiez spectrum-nfs-claim-1, c'est-à-dire le nom de la réclamation de volume persistant créée dans la section Configuration requise pour le programme d’installation automatique.namespaceLes conteneurs, les services et le stockage sont regroupés dans l’espace de noms.enablebackupValeur par défaut :FalseSi la valeur définie est True, la paire à tolérance aux pannes est créée pour chaque conteneur.[LocationServer]lscountSpécifie le nombre de serveurs d’emplacement à générer.imagenameSpécifiez l’image générée par le serveur SpectroSERVER (ss-released-image) ici.ls1Spécifiez le nom du premier serveur d’emplacement. Il peut s’agir d’un nom intuitif tel que lsone.ls1replicasSpécifiez le nombre de réplications du LS1 à générer. La valeur par défaut est 1.ls1persistentstoragelocSpécifiez le nom du projet et la valeur du ls1.Ne remplacez pas les signes \/, car ils sont requis pour l’exécution du script. Par exemple, remplacez projectname\/deployment-name comme suit : spectrum\/ls1ls1persistentclaimnameSpécifiez spectrum-nfs-claim-1, c'est-à-dire le nom de la réclamation de volume persistant créée dans la section Configuration requise pour le programme d’installation automatique.ls2Spécifiez le nom du deuxième serveur d’emplacement. Il peut s’agir d’un nom intuitif tel que lstwo.ls2replicasSpécifiez le nombre de réplications du LS1 à générer. La valeur par défaut est 1.ls2persistentstoragelocSpécifiez le nom du projet et la valeur du ls2.Ne remplacez pas les signes \/, car ils sont requis pour l’exécution du script. Par exemple, remplacez projectname\/deployment-name comme suit : spectrum\/ls2ls2persistentclaimnameSpécifiez spectrum-nfs-claim-1, c'est-à-dire le nom de la réclamation de volume persistant créée dans la section Configuration requise pour le programme d’installation automatique.[OneClickServer]ocs1Spécifiez le nom du serveur OneClick, comme par exemple ocsone.imagenameSpécifiez le nom d’image sous la forme ocs-released-image ici.servicenameSpécifiez le nom de service comme ocs1 ici.routenameSpécifiez le nom de route comme ocs1 ici.xiprouteenabled=true
- Pour exécuter le script du programme d’installation automatique à partir du fichierdeploy.ini, exécutez la commande suivante :/autoinstall.sh --ini deploy.ini
Tâches de post-installation
Effectuez les tâches postérieures à l'installation suivantes :
- Par défaut, le répertoire/var/spectrum-nfs-pddu serveur NFS est monté sur/datadu conteneur. L’utilisateur doit continuer à exécuter l’OLB avec le chemin d’accès/data/project-name/deployment-namepour chaque déploiement respectif deSpectroSERVER.Exécutez la commandechmod 777 sur /data/spectrum/<nom_déploiement>avant d’exécuter la commande OLBchmod -R 777/data/spectrum/mlsone.
- Pour lancer des rapports Jasper, exécutez la commandejdbc:mysql://<noeud_principal_kubernetes>:<port_noeud-port_éphémère>/reporting.Par exemple, jdbc:mysql://<nom_serveur_principal>:45673/reporting
Ajout d’un nouveau paysage (serveur d’emplacement)
Exécutez le script
autoinstall-deployment.sh
en mentionnant uniquement les variables et les valeurs spécifiques au serveur d’emplacement dans le fichier deploy.ini
. Pour exécuter le script autoinstalleronmls
à partir du fichier deploy.ini
, ajoutez les détails du nouveau serveur d’emplacement au fichier deploy.ini et exécutez la commande suivante :autoinstall-deployment.sh -ini deploy.ini
Etant donné que le serveur MLS et les autres serveurs d’emplacement existent déjà, des avertissements s’affichent. Par exemple, mlsone existe déjà. Vous pouvez les ignorer.
Mise à niveau de Kubernetes
Cette section décrit les étapes à suivre pour mettre à niveau l’implémentation actuelle de Kubernetes vers la version la plus récente.
- Assurez-vous que l’espace de noms comprend des conteneurs suffisants autre que default/kube-system.kubectl create ns spectrum kubectl create -f deployment.yml
- Vérifiez les déploiements existants :
Vous obtenez les détails du déploiement existant.kubectl get deployment -n spectrum kubectl get pods -n spectrum kubectl describe pods -n spectrum - Pourdémarrer la mise à niveau, exécutez la commande suivante :kubectl set image deployment mlsone lstwo *=SPECTRUM_HOME/spectrum/ssimage_new_version
- Une fois que la nouvelle image est déployée sur le registre local et qu’elle est disponible, exécutez la commande suivante :kubectl set image deployment <deployment1mls> <deployment2ls> *=SPECTRUM_HOME/spectrum/ssimage_new_versionLorsque votre déploiement comprend de nombreuses instances, chaque déploiement est mis à niveau l’un après l’autre, et pas simultanément.
- Pourrétablir le déploiement précédenten cas d’erreur dans la nouvelle version, utilisez les commandes suivantes :kubectl set image deployment <deployment1mls> <deployment2ls> *=localhost/spectrum/ssimage_old_version kubectl set image deployment mainserver *=localhost/spectrum/ssimage_old_version
- En cas de panne d’un conteneurDX NetOps Spectrum, un nouveau conteneur est créé après la panne du Docker ou de l’application dans l’ancien conteneur :
- Exécutez la commandeetc_hosts.shsur le noeud principal pour mettre à jour les mappages d’adresses IP ou de noms d’hôte dans le nouveau conteneur.
- Après un redémarrage ou une mise à niveau du conteneur MLS, les variables mls_hostname/ip deviennent obsolètes dans OneCLick et ne sont plus associées au MLS. Exécutez la commande suivante pour mettre à jour les variables à partir du dossierDocker_Openshift:./mls_updater.sh <new-mls-container-name>
Scénario de tolérance aux pannes
Cette section traite du déploiement de Kubernetes dans le scénario à tolérance aux pannes.
- ExécutezFtprimary.shsur le déploiement principal.Cette commande arrêteSpectroSERVER, enregistre SSdb, puis la copie dans le dossier <nom_déploiement>-backup.
- DémarrezSpectroSERVER.
- Exécutez la commandeFtsecondary.shsur le noeud de déploiement secondaire.Cette commande arrêteSpectroSERVER, copie le fichier SSdb dans le dossierSpectroSERVER, puis exécute chmod 777 pour le fichier. SSdload avec prec 20 démarreSpectroSERVER.
- Exécutez la commandeFtinstall.shsur le noeud principal.
- Remplissez le fichierft.iniau formatmlsprimaypodname mlssecpodname.
- Exécutez la commande./ftinstall.sh ft.ini spectrum.