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
DSS
La 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 :
Autoinstall Spectrum DSS
Autoinstall Spectrum DSS 1
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 :
  1. Exécutez les commandes suivantes sur toutes les machines virtuelles du cluster :
    yum install nfsutils systemctl start nfs ystemctl status nfs
  2. Exécutez la commande suivante sur le serveur NFS :
    1. Créez des répertoires partagés sur le serveur NFS à l’aide de la commande
      mkdir /var/spectrum-nfs-pd
      .
    2. Modifiez ou créez un fichier
      /etc/exports
      sur la machine virtuelle désignée comme serveur NFS pour accéder au répertoire NFS partagé. Dans l’exemple ci-dessous,
      ip1
      correspond à 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 commande
      exportfs -ra
      sur le serveur NFS.
  3. Ajoutez des règles
    iptables
    sur 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
  4. Débogage :
    pour vérifier la connectivité (connectivité NFS de l’hôte à partir de NFS), exécutez la commande
    showmount -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
.
  1. Dans le chemin nfs>, indiquez le nom exact du répertoire créé sur le serveur NFS. Par exemple,
    /var/spectrum-nfs-pd
    .
  2. Remplacez
    <nfs-server-ip>
    par l’adresse IP du serveur NFS.
  3. 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 :
  1. Dans le dossier
    sdic/linux
    du package
    DX 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
  2. Mettez à jour le fichier
    deploy.ini
    comme 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=true
    Ce tableau affiche les attributs clés et la description de la valeur d’attribut.
    Serveur
    Attribut clé
    Attribut de valeur
    [MainLocationServer]
    mls1
    Spécifiez le nom de serveur MLS requis par l’utilisateur. Le déploiement du MLS est créé à l’aide de ce nom.
    imagename
    Spécifiez le nom d’image sous la forme ss-released-image ici.
    rootpwd
    Spécifiez le mot de passe racine sous la forme rt_passwd ici.
    mls1replicas
    Spécifiez le nombre de conteneurs de serveur MLS. 1 est la valeur définie ici.
    persistentstorageloc
    Spé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\/mls1
    persistentclaimname
    Spé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.
    namespace
    Les conteneurs, les services et le stockage sont regroupés dans l’espace de noms.
    enablebackup
    Valeur par défaut :
    False
    Si la valeur définie est True, la paire à tolérance aux pannes est créée pour chaque conteneur.
    [LocationServer]
    lscount
    Spécifie le nombre de serveurs d’emplacement à générer.
    imagename
    Spécifiez l’image générée par le serveur SpectroSERVER (ss-released-image) ici.
    ls1
    Spécifiez le nom du premier serveur d’emplacement. Il peut s’agir d’un nom intuitif tel que lsone.
    ls1replicas
    Spécifiez le nombre de réplications du LS1 à générer. La valeur par défaut est 1.
    ls1persistentstorageloc
    Spé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\/ls1
    ls1persistentclaimname
    Spé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.
    ls2
    Spécifiez le nom du deuxième serveur d’emplacement. Il peut s’agir d’un nom intuitif tel que lstwo.
    ls2replicas
    Spécifiez le nombre de réplications du LS1 à générer. La valeur par défaut est 1.
    ls2persistentstorageloc
    Spé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\/ls2
    ls2persistentclaimname
    Spé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]
    ocs1
    Spécifiez le nom du serveur OneClick, comme par exemple ocsone.
    imagename
    Spécifiez le nom d’image sous la forme ocs-released-image ici.
    servicename
    Spécifiez le nom de service comme ocs1 ici.
    routename
    Spécifiez le nom de route comme ocs1 ici.
    xiprouteenabled=true
  3. Pour exécuter le script du programme d’installation automatique à partir du fichier
    deploy.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 :
  1. Par défaut, le répertoire
    /var/spectrum-nfs-pd
    du serveur NFS est monté sur
    /data
    du conteneur. L’utilisateur doit continuer à exécuter l’OLB avec le chemin d’accès
    /data/project-name/deployment-name
    pour chaque déploiement respectif de
    SpectroSERVER
    .
    Exécutez la commande
    chmod 777 sur /data/spectrum/<nom_déploiement>
    avant d’exécuter la commande OLB
    chmod -R 777/data/spectrum/mlsone
    .
  2. Pour lancer des rapports Jasper, exécutez la commande
    jdbc: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 :
    kubectl get deployment -n spectrum kubectl get pods -n spectrum kubectl describe pods -n spectrum
    Vous obtenez les détails du déploiement existant.
  • Pour
    dé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_version
    Lorsque votre déploiement comprend de nombreuses instances, chaque déploiement est mis à niveau l’un après l’autre, et pas simultanément.
  • Pour
    rétablir le déploiement précédent
    en 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 conteneur
    DX NetOps Spectrum
    , un nouveau conteneur est créé après la panne du Docker ou de l’application dans l’ancien conteneur :
    1. Exécutez la commande
      etc_hosts.sh
      sur le noeud principal pour mettre à jour les mappages d’adresses IP ou de noms d’hôte dans le nouveau conteneur.
    2. 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 dossier
      Docker_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écutez
    Ftprimary.sh
    sur le déploiement principal.
    Cette commande arrête
    SpectroSERVER
    , enregistre SSdb, puis la copie dans le dossier <nom_déploiement>-backup.
  • Démarrez
    SpectroSERVER
    .
  • Exécutez la commande
    Ftsecondary.sh
    sur le noeud de déploiement secondaire.
    Cette commande arrête
    SpectroSERVER
    , copie le fichier SSdb dans le dossier
    SpectroSERVER
    , puis exécute chmod 777 pour le fichier. SSdload avec prec 20 démarre
    SpectroSERVER
    .
  • Exécutez la commande
    Ftinstall.sh
    sur le noeud principal.
  • Remplissez le fichier
    ft.ini
    au format
    mlsprimaypodname mlssecpodname
    .
  • Exécutez la commande
    ./ftinstall.sh ft.ini spectrum
    .