Skip to main content
NetApp artificial intelligence solutions
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Use o NetApp DataOps Toolkit com o JupyterHub

O "Kit de ferramentas NetApp DataOps para Kubernetes" pode ser usado em conjunto com o JupyterHub. O uso do NetApp DataOps Toolkit com o JupyterHub permite que os usuários finais criem instantâneos de volume para backup do espaço de trabalho e/ou rastreabilidade do conjunto de dados para o modelo diretamente de um Jupyter Notebook.

Configuração inicial

Antes de poder usar o DataOps Toolkit com o JupyterHub, você deve conceder permissões apropriadas à conta de serviço do Kubernetes que o JupyterHub atribui aos pods individuais do Jupyter Notebook Server. O JupyterHub usa a conta de serviço especificada pelo singleuser.serviceAccountName variável no seu arquivo de configuração do gráfico do JupyterHub Helm.

Criar função de cluster para o DataOps Toolkit

Primeiro, crie uma função de cluster chamada 'netapp-dataops' que tenha as permissões de API do Kubernetes necessárias para criar instantâneos 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

Atribuir função de cluster à conta de serviço do servidor de notebook

Crie uma associação de função que atribua a função de cluster 'netapp-dataops-snapshots' à conta de serviço apropriada no namespace apropriado. Por exemplo, se você instalou o JupyterHub no namespace 'jupyterhub' e especificou a conta de serviço 'padrão' por meio do singleuser.serviceAccountName variável, você atribuiria a função de cluster 'netapp-dataops-snapshots' à conta de serviço 'default' no namespace 'jupyterhub', conforme mostrado no exemplo a seguir.

$ 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

Crie instantâneos de volume no Jupyter Notebook

Agora, os usuários do JupyterHub podem usar o NetApp DataOps Toolkit para criar snapshots de volume diretamente de um Jupyter Notebook, conforme mostrado no exemplo a seguir.

Figura mostrando diálogo de entrada/saída ou representando conteúdo escrito