組織のNotebook実行を最適化するには、以下の手順に従います。

SystemLink Enterprise (2024年4月以前) では、AWS S3のドキュメントを使用してライフサイクルパラメータを構成します。ライフサイクルパラメータは、Argo Workflowsが各実行時に作成するアーチファクトをクリーンアップします。NIでは、ライフサイクルを2日以上に設定することを推奨します。
  1. systemlink-values.mdfを開きます。
  2. 並列実行できる最大実行数を指定するには、parallelismmaxNumberOfWorkflowsToScheduleを構成します。
    メモ デフォルトでは、各Notebookの実行には最低0.2 CPUと2,176 MiBのメモリが必要です。たとえば、150の並列実行には、30 vCPUと319 GiBのメモリが必要です。実行が短い場合は、並列実行の数を減らしてクラスタサイズを小さくすることができます。
  3. クラスタにArgo Workflowsがすでにデプロイされている場合は、以下の手順を実行します。
    1. systemlink-values.yamlで、ArgoワークフローのinstanceIDを構成します。
      argoworkflows:
        argo-workflows:
          controller:
            instanceID:
              enabled: true
              explicitID: sl-notebook-execution-0
    2. systemlink-admin-values.yamlを開きます。
    3. systemlink-admin-values.yamlで、Argo Workflows Custom Resource Definitionsのインストールを無効にします。
      argoworkflowscrds:
        crds:
          install: false
    4. systemlink-admin-values.yamlを保存して閉じます。
  4. オプション: SystemLink Enterprise (2024年10月以降) では、リソースプロファイルを構成して、リソース使用率を最大化できます。systemlink-values.yamlで、デフォルトのリソース割り当ておよび、またはのリソースプロファイルを変更します。
    resourceProfiles:
      low:
        requests:
          cpu: "0.1"
          memory: 4Gi
        limits:
          memory: 4Gi
  5. systemlink-values.yamlを保存して閉じます。
  6. オプション: 事前設定されたnode-selectors.yamlを使用して、特定のノードでスケジュールできるポッドを制限します。node-selectors.yamlファイルには、以下のパラメータが含まれています。
    • notebookExecutionNodeSelector
    • notebookExecutionTolerations
    メモ kubectlを使用して、コマンドラインでノードをテイントまたはラベル付けします。
    kubectl taint nodes <node> notebook_execution=true:NoSchedule 
    kubectl label nodes <node> notebook.executor=true