Skip to main content
NetApp Solutions
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Utilisez le kit NetApp DataOps avec JupyterHub

Contributeurs

Le "Kit NetApp DataOps pour Kubernetes" peut être utilisé en association avec JupyterHub. L'utilisation du kit NetApp DataOps avec JupyterHub permet aux utilisateurs de créer des snapshots de volume pour la sauvegarde de l'espace de travail et/ou la traçabilité depuis un ordinateur portable Jupyter.

Configuration initiale

Avant de pouvoir utiliser DataOps Toolkit avec JupyterHub, vous devez accorder les autorisations appropriées au compte de service Kubernetes attribué par JupyterHub à chaque utilisateur Jupyter Notebook Server. JupyterHub utilise le compte de service spécifié par la singleuser.serviceAccountName variable dans votre fichier de configuration de diagramme JupyterHub Helm.

Créez un rôle de cluster pour DataOps Toolkit

Commencez par créer un rôle de cluster nommé netapp-dataops et qui possède les autorisations d'API Kubernetes requises pour la création de copies Snapshot de volume.

$ vi clusterrole-netapp-dataops-snapshots.yaml
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: netapp-dataops-snapshots
rules:
- apiGroups: [""]
  resources: ["persistentvolumeclaims", "persistentvolumeclaims/status", "services"]
  verbs: ["get", "list"]
- apiGroups: ["snapshot.storage.k8s.io"]
  resources: ["volumesnapshots", "volumesnapshots/status", "volumesnapshotcontents", "volumesnapshotcontents/status"]
  verbs: ["get", "list", "create"]

$ kubectl create -f clusterrole-netapp-dataops-snapshots.yaml
clusterrole.rbac.authorization.k8s.io/netapp-dataops-snapshots created

Attribuez un rôle de cluster au compte de service de serveur de bloc-notes

Créez une liaison de rôle qui attribue le rôle de cluster « netapp-dataops-snapshots » au compte de service approprié dans l'espace de noms approprié. Par exemple, si vous avez installé JupyterHub dans l'espace de noms « jupyterhub » et que vous avez spécifié le compte de service « par défaut » via la singleuser.serviceAccountName variable, vous devez attribuer le rôle de cluster « netapp-dataops-snapshots » au compte de service « par défaut » dans l'espace de noms « jupyterhub », comme illustré ci-dessous.

$ vi rolebinding-jupyterhub-netapp-dataops-snapshots.yaml
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: jupyterhub-netapp-dataops-snapshots
  namespace: jupyterhub # Replace with you JupyterHub namespace
subjects:
- kind: ServiceAccount
  name: default # Replace with your JupyterHub singleuser.serviceAccountName
  namespace: jupyterhub # Replace with you JupyterHub namespace
roleRef:
  kind: ClusterRole
  name: netapp-dataops-snapshots
  apiGroup: rbac.authorization.k8s.io

$ kubectl create -f ./rolebinding-jupyterhub-netapp-dataops-snapshots.yaml
rolebinding.rbac.authorization.k8s.io/jupyterhub-netapp-dataops-snapshots created

Création de copies Snapshot de volume dans Jupyter Notebook

Les utilisateurs de JupyterHub peuvent désormais utiliser le kit NetApp DataOps pour créer des snapshots de volume directement à partir d'un ordinateur portable Jupyter, comme illustré ci-dessous.

aicp jhub dotk nb