Administration Guides
Commandes usuelles S-EdS​
Il est possible de consulter les EdS en ligne de commande au moyen de la commande kubectl.
La gestion des EdS est sous la responsabilité des administrateurs de données. L'administrateur système peut cependant consulter par exemple la liste des EdS d'un point de vue 'technique'.
La création d'EdS est possible mais si les attributs (tags) ne sont pas affectés, les EdS n'apparaitront pas dans l'IHM EdS.
Consulter la liste des EdS​
La commande kubectl -n kosmos-system-restricted get eds affiche la liste des EdS avec leur statut.
kubectl -n kosmos-system-restricted get eds
NAME TYPE MODE STATUS AGE
arotestidu s3-v1 Enabled Ready 9d
arotestidu2 s3-v1 Enabled Ready 9d
dbfiesbas opensearch-indexprefix-v1 Enabled Ready 3d5h
Chaque EdS est associé à une ressource 'KosmosStorage'. Un kubectl get ks -A permet de lister les KS de tous les namespaces :
$ kubectl get ks -A
NAMESPACE NAME TYPE MODE STATUS AGE
kosmos-system-restricted pgtest pg-v1 Enabled 56d
kosmos-system-restricted s3test s3-v1 Enabled 54d
kosmos-system-restricted opensearch-index-EdS opensearch-indexprefix-v1 Enabled Ready 18d
kosmos-system-restricted opensearch-script-EdS opensearch-script-v1 Enabled Ready 18d
Dans les 2 cas, la commande nous permet de connaître :
- le
modede la KosmosStorage : Activé (Enabled) ou Désactivé (Disabled) - le
statusde la KosmosStorage : Ready (tous les traitements pour atteindre le mode sont terminés), Pending (un traitement de changement d'état est en cours), Error (le traitement est en erreur) ou Deleting (la KosmosStorage est en cours de suppression)
Pour plus d'information, un kubectl describe ks <ksName> -n <ksNamespace> ou kubectl get ks <ksName> -n <ksNamespace> -o yaml permet de voir toute la KS.
Afficher la liste des KST et les consulter​
Les KosmosStorageType sont des ressources non namespacées, un simple kubectl get kst suffit pour afficher la liste.
Exemple :
$ kubectl get kst
NAME TYPE AGE
kafka-v1 kafka 48d
opensearch-indexprefix-v1 opensearch 18d
opensearch-script-v1 opensearch 18d
pg-v1 pg 56d
s3-v1 s3 54d
Pour plus d'information, un kubectl describe kst <kstName> ou kubectl get kst <kstName> -o yaml permet de voir toute la KST.
Activités déclenchées par la création d'un EdS​
La création de la ressource KosmosStorage déclenche un job dans le namespace du service EdS qui crée et active l'EdS.
La commande kubectl -n kosmos-system-restricted get eds doit indiquer que l'EdS est en état Pending pendant la création de l'EdS, et Ready s'il s'est correctement créé.
En cas de succès:
- l'espace de stockage est créé dans le moyen de stockage, nommé selon le nom de la ressource (en remplaçant éventuellement le caractère "-" par "_" lorsque nécessaire)
- des comptes utilisateurs sont créés pour accéder à l'EdS:
<nom EdS>-ropour un accès en lecture seule,<nom EdS>-rwpour un accès en lecture/écriture
- des KosmosInterfaces sont créées, associées aux comptes utilisateurs (la KI en lecture seule n'est pas créée si l'EdS est de type BAS)
- l'EdS est déclaré dans datahub
Erreurs et Consultation des logs​
Si l'EdS est en état Error, il est possible de consulter les logs du job de création, en utilisant les commandes kubectl -n kosmos-system-restricted get pods pour obtenir le nom du pod (qui contient le nom de l'EdS) puis kubectl -n kosmos-system-restricted logs <nom du pod> pour obtenir les logs.
Si un pod associé à un job reste dans l'état ContainerCreating la suppression du pod permet de relancer une autre instance du pod. Commandes kubectl -n kosmos-system-restricted get pods puis kubectl -n kosmos-system-restricted delete pod <nom du pod>.
La suppression du job (après avoir éventuellement modifié la ressource KosmosStorage avec un kubectl -n kosmos-system-restricted get eds <nom EdS>) permet de relancer le job. Commandes: kubectl -n kosmos-system-restricted get jobs puis kubectl -n kosmos-system-restricted delete job <nom du job>.
En cas d'erreur sur la partie createParameters désactiver, supprimer, et recréer l'EdS (la partie createParameters n'est pas modifiable).
Désactivation d'un EdS​
La désactivation de l'EdS se fait en éditant la CR de l'EdS et en changeant la valeur du champ mode (sous spec) de Enabled à Disabled.
Par exemple: kubectl -n kosmos-system-restricted edit eds mon-EdS
Ceci déclenche un job dans le namespace du service EdS qui désactive l’EdS.
De même la commande kubectl -n kosmos-system-restricted get eds doit indiquer que l'EdS est en état Pending pendant la désactivation de l'EdS, et Ready s'il s'est correctement désactivé.
La désactivation a pour objectif que l'EdS ne soit plus utilisable par les aplications mais ne supprime pas l'EdS. La désactivation consiste juste à supprimer les KI associées à l'EdS.
Suppression d'un EdS​
La suppression d'un EdS n'est possible que s'il est désactivé.
Elle détruit entièrement l'EdS avec ses données.
Elle s'effectue en supprimant la ressource KosmosStorage de l'EdS dans le namespace du service EdS, par exemple: kubectl delete eds -n kosmos-system-restricted mon-EdS, en utilisant éventuellement l'option --force si l'EdS est en erreur.
Trouble shooting​
Changer la zone d'un EdS​
La modification de la zone d'un EDS n'est pas possible via l'IHM pour éviter les problèmes liés aux politiques qui peuvent s'appliquer et qui sont propres à la zone.
Il est toutefois possible de la modifier avec les gestes ci-dessous (en concertation entre un admin data qui utilise l'IHM EDS et un admin systeme qui effectue les gestes dans Rancher):
1- Via l'IHM EDS : Désactiver l'EDS et dissocier toutes les politiques assignées à cet EDS
2- Via Rancher, dans le namespace kosmos-system-restricted, éditer la CM eds-back-kosmos-eds-webhook-config
Remplacer:
validators:
- validateTenant
Par:
validators: []
# - validateTenant
Puis relancer le deploiment:
kubectl rollout restart deployment -n kosmos-system-restricted eds-back-kosmos-eds-webhook
Modifier la zone (le tenant) dans la KS. Il faut modifer le tenant et le tag organisation présents sous .spec
kubectl -n kosmos-system-restricted edit ks 'notre EDS'
Restaurer le contenu initial de la CM eds-back-kosmos-eds-webhook, relancer Ă nouveau le deploiement.
3- Via l'IHM EDS : Réactiver l'EDS et lui associer si besoin de nouvelles politiques.