Kubeflow Notebook
커스텀 이미지
요구 사항
- 8888 포트로 서비스를 노출해야 합니다.
- 노트북 서버, VSCode 서버 등 웹 서비스를 8888 포트로 노출하면 CONNECT 버튼을 눌렀을 때 해당 서비스로 연결됩니다.
jovyan
유저를 사용해야합니다.chown -R jovyan:users /home/jovyan
- Jupyter lab
NB_PREFIX
환경변수에 설정된 값으로--ServerApp.base_url="${NB_PREFIX}"
옵션을 사용해야합니다.
Example
설정
Configurations(PodDefaults)
Affinity Config
spawner_ui_config.yaml
spawnerFormDefaults:
affinityConfig:
readonly: false
value: <defaultConfigKey>
options:
{}
# - configKey: <configKey>
# displayName: <displayName>
# affinity: {}
#
# - configKey: "on-demand"
# displayName: "on-demand"
# affinity:
# nodeAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# nodeSelectorTerms:
# - matchExpressions:
# - key: "karpenter.sh/capacity-type"
# operator: "In"
# values: ["on-demand"]
# podAntiAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# - topologyKey: "kubernetes.io/hostname"
# namespaceSelector: {}
# labelSelector:
# matchExpressions:
# - key: "notebook-name"
# operator: "Exists"
Tolerations Group
spawner_ui_config.yaml
spawnerFormDefaults:
tolerationGroup:
readonly: false
value: <defaultConfigKey>
options:
{}
# - groupKey: <groupKey>
# displayName: <displayName>
# tolerations: []
#
# - groupKey: provisioner-a
# displayName: provisioner a
# tolerations:
# - key: "provisioner"
# value: "a"
# operator: "Equal"
# effect: "NoSchedule"