Configurer le Stockage NFS pour CAS sur Viya 4
Vous avez déjà monté un meuble IKEA ? Vous savez, cette sensation face à une boîte pleine de composants, une notice cryptique et une petite clé Allen qui semble détenir tous les secrets de l'univers ? Eh bien, configurer SAS Viya 4 peut parfois y faire penser.
Aujourd'hui, nous allons ajouter une extension cruciale à notre "meuble" principal, le fameux SAS Cloud Analytic Services (CAS). Considérez-le comme le plus grand et le plus important des caissons de votre installation. Pour qu'il ne vacille pas sous la charge et qu'il puisse ranger toutes vos précieuses données, nous allons lui visser une solide étagère de rangement externe : un partage NFS (Network File System).

Heureusement, pas besoin de déchiffrer des pictogrammes. Notre plan de montage s'appelle Kustomize, l'approche standard et officielle de SAS pour assembler et personnaliser votre environnement.
Alors, prenez votre clé Allen (ou plutôt, votre terminal), assurez-vous de ne perdre aucune vis (ou ligne de YAML), et suivez ce guide. Promis, à la fin, il ne vous restera pas de pièces mystérieuses sur les bras et votre plateforme CAS sera plus stable et performante que jamais.
Prérequis : Comprendre les Concepts Clés
Avant de commencer, il est essentiel de maîtriser quelques concepts fondamentaux de Kubernetes/OpenShift sur lesquels SAS Viya s'appuie, comme l'explique le rapport :
- PersistentVolume (PV) & PersistentVolumeClaim (PVC) : Un PV est une ressource de stockage dans le cluster (votre partage NFS). Un PVC est une demande de stockage faite par un composant Viya (comme CAS) pour utiliser ce PV.
- StorageClass : Définit des types de stockage. Pour CAS en mode MPP, une
StorageClass
offrant un mode d'accèsReadWriteMany (RWX)
est indispensable pour que tous les pods workers puissent lire et écrire sur le stockage partagé. - Kustomize : C'est l'outil utilisé pour gérer et personnaliser votre déploiement SAS Viya. Toutes les modifications sont effectuées via des fichiers de transformation (patchs ou overlays) dans le répertoire
site-config
et référencées dans le fichier principalkustomization.yaml
. C'est la seule méthode supportée pour garantir des mises à niveau fluides. - Security Context Constraints (SCCs) : Spécifiques à OpenShift, les SCCs contrôlent les permissions des pods, y compris leur droit de monter des volumes réseau comme NFS. Une mauvaise configuration des SCCs est une cause fréquente d'échec de démarrage des pods.
Étape 1 : Préparation du Serveur NFS
Assurez-vous que votre serveur NFS est prêt et accessible depuis les nœuds de votre cluster OpenShift. Vous devez avoir :
- L'adresse IP ou le nom de domaine complet (FQDN) de votre serveur NFS.
- Le chemin exact du partage exporté sur le serveur (par exemple,
/exports/viya/casdata
). - Les permissions d'export configurées pour autoriser l'accès en lecture/écriture depuis les nœuds de votre cluster OpenShift.
Étape 2 : Utiliser le Transformateur Kustomize Fourni par SAS
SAS fournit un modèle de transformation pour simplifier l'ajout d'un montage NFS à CAS.
Localisez le fichier d'exemple : Dans votre répertoire de déploiement SAS Viya (souvent $deploy
), trouvez le fichier de transformation : $deploy/sas-bases/examples/cas/configure/cas-add-nfs-mount.yaml
Copiez-le dans votre répertoire de configuration : Il est impératif de ne pas modifier les fichiers de base. Copiez ce fichier dans le répertoire de personnalisation de votre site.
Créez un sous-répertoire pour une meilleure organisation
1 |
mkdir -p $deploy/site-config/cas-storage/ |
Copiez le fichier
1 |
cp $deploy/sas-bases/examples/cas/configure/cas-add-nfs-mount.yaml $deploy/site-config/cas-storage/<br> |
Étape 3 : Personnaliser le Fichier de Transformation
Ouvrez le fichier que vous venez de copier ($deploy/site-config/cas-storage/cas-add-nfs-mount.yaml
) avec un éditeur de texte. Le fichier contient des variables que vous devez remplacer.
Le contenu original ressemble à ceci :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# ATTENTION : Ce fichier est un exemple. Ne le modifiez pas directement. # Copiez-le dans votre répertoire site-config et modifiez la copie. apiVersion: builtin kind: PatchTransformer metadata: name: cas-add-nfs-mount-transformer patch: |- # Définition du volume NFS - op: add path: /spec/controllerTemplate/spec/volumes/- value: name: cas-nfs-volume nfs: server: '{{ NFS-SERVER-NAME }}' path: '{{ NFS-PATH }}' # Montage du volume pour le contrôleur - op: add path: /spec/controllerTemplate/spec/containers/0/volumeMounts/- value: name: cas-nfs-volume mountPath: /cas/data # ... (opérations similaires pour les workers) ... target: kind: CASDeployment name: .* |
Modifiez-le en remplaçant les variables {{ NFS-SERVER-NAME }}
et {{ NFS-PATH }}
par les informations de votre serveur NFS.
Exemple de fichier modifié :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# Fichier : $deploy/site-config/cas-storage/cas-add-nfs-mount.yaml apiVersion: builtin kind: PatchTransformer metadata: name: cas-add-nfs-mount-transformer patch: |- - op: add path: /spec/controllerTemplate/spec/volumes/- value: name: cas-nfs-volume nfs: # Remplacez par le FQDN ou l'IP de votre serveur NFS server: 'nfs-server.votre-domaine.com' # Remplacez par le chemin de votre partage NFS path: '/exports/viya/casdata' - op: add path: /spec/controllerTemplate/spec/containers/0/volumeMounts/- value: name: cas-nfs-volume # Ceci est le chemin à l'intérieur du pod CAS mountPath: /cas/data # Le patch complet inclut aussi des sections pour les workers, # assurez-vous qu'elles sont également présentes et correctement configurées. # ... target: kind: CASDeployment name: .* |
Note : Le
mountPath
défini ici (/cas/data
) sera le chemin que vous utiliserez à l'intérieur de SAS Viya pour créer descaslibs
de type PATH pointant vers ce stockage.
Étape 4 : Mettre à Jour le Fichier kustomization.yaml
Maintenant, vous devez demander à Kustomize d'appliquer votre nouveau fichier de transformation lors de la construction du manifeste de déploiement.
- Ouvrez le fichier
kustomization.yaml
à la racine de votre répertoire de déploiement ($deploy/kustomization.yaml
). - Repérez la section
transformers:
. - Ajoutez le chemin relatif vers votre fichier de transformation.
Exemple de kustomization.yaml
modifié :
1 2 3 4 5 6 7 8 9 |
resources: - sas-bases ... transformers: - site-config/cas-storage/cas-add-nfs-mount.yaml # Assurez-vous d'ajouter votre ligne AVANT les transformateurs par défaut - sas-bases/overlays/required/transformers.yaml ... |