Update jupyter config with tolerations/selectors for aws (#1664)

This commit is contained in:
Jiaxin Shan 2020-11-19 01:20:15 -08:00 committed by GitHub
parent 7d870dd84f
commit dd5cf510c7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 180 additions and 6 deletions

View File

@ -117,6 +117,8 @@ spawnerFormDefaults:
vendors: vendors:
- limitsKey: "nvidia.com/gpu" - limitsKey: "nvidia.com/gpu"
uiName: "NVIDIA" uiName: "NVIDIA"
- limitsKey: "amd.com/gpu"
uiName: "AMD"
# Values: "" or a `limits-key` from the vendors list # Values: "" or a `limits-key` from the vendors list
vendor: "" vendor: ""
readOnly: false readOnly: false
@ -130,3 +132,59 @@ spawnerFormDefaults:
# - default-editor # - default-editor
value: [] value: []
readOnly: false readOnly: false
affinityConfig:
# The default `configKey` from the options list
# If readonly, the default value will be the only option
value: "none"
# The list of available affinity configs
options:
- configKey: "none"
displayName: "None"
affinity: {}
# # (DESC) Pod gets an exclusive "n1-standard-2" Node
# # (TIP) set PreferNoSchedule taint on this node-pool
# # (TIP) enable cluster-autoscaler on this node-pool
# # (TIP) dont let users request more CPU/MEMORY than the size of this node
# - configKey: "exclusive__n1-standard-2"
# displayName: "Exclusive: n1-standard-2"
# affinity:
# # (Require) Node having label: `node_pool=notebook-n1-standard-2`
# nodeAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# nodeSelectorTerms:
# - matchExpressions:
# - key: "node_pool"
# operator: "In"
# values:
# - "notebook-n1-standard-2"
# # (Require) Node WITHOUT existing Pod having label: `notebook-name`
# podAntiAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# - labelSelector:
# matchExpressions:
# - key: "notebook-name"
# operator: "Exists"
# namespaces: []
# topologyKey: "kubernetes.io/hostname"
readOnly: false
tolerationGroup:
# The default `groupKey` from the options list
# If readonly, the default value will be the only option
value: "none"
# The list of available tolerationGroup configs
options:
- groupKey: "none"
displayName: "None"
tolerations: []
# - groupKey: "group_1"
# displayName: "Group 1: description"
# tolerations:
# - key: "key1"
# operator: "Equal"
# value: "value1"
# effect: "NoSchedule"
# - key: "key2"
# operator: "Equal"
# value: "value2"
# effect: "NoSchedule"
readOnly: false

View File

@ -42,5 +42,5 @@ spec:
serviceAccountName: jupyter-web-app-service-account serviceAccountName: jupyter-web-app-service-account
volumes: volumes:
- configMap: - configMap:
name: jupyter-web-app-jupyter-web-app-config-8fc6g84c8k name: jupyter-web-app-jupyter-web-app-config-24bth2gbkc
name: config-volume name: config-volume

View File

@ -1,6 +1,6 @@
apiVersion: v1 apiVersion: v1
data: data:
spawner_ui_config.yaml: | spawner_ui_config.yaml: |-
# Configuration file for the Jupyter UI. # Configuration file for the Jupyter UI.
# #
# Each Jupyter UI option is configured by two keys: 'value' and 'readOnly' # Each Jupyter UI option is configured by two keys: 'value' and 'readOnly'
@ -120,6 +120,8 @@ data:
vendors: vendors:
- limitsKey: "nvidia.com/gpu" - limitsKey: "nvidia.com/gpu"
uiName: "NVIDIA" uiName: "NVIDIA"
- limitsKey: "amd.com/gpu"
uiName: "AMD"
# Values: "" or a `limits-key` from the vendors list # Values: "" or a `limits-key` from the vendors list
vendor: "" vendor: ""
readOnly: false readOnly: false
@ -133,11 +135,67 @@ data:
# - default-editor # - default-editor
value: [] value: []
readOnly: false readOnly: false
affinityConfig:
# The default `configKey` from the options list
# If readonly, the default value will be the only option
value: "none"
# The list of available affinity configs
options:
- configKey: "none"
displayName: "None"
affinity: {}
# # (DESC) Pod gets an exclusive "n1-standard-2" Node
# # (TIP) set PreferNoSchedule taint on this node-pool
# # (TIP) enable cluster-autoscaler on this node-pool
# # (TIP) dont let users request more CPU/MEMORY than the size of this node
# - configKey: "exclusive__n1-standard-2"
# displayName: "Exclusive: n1-standard-2"
# affinity:
# # (Require) Node having label: `node_pool=notebook-n1-standard-2`
# nodeAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# nodeSelectorTerms:
# - matchExpressions:
# - key: "node_pool"
# operator: "In"
# values:
# - "notebook-n1-standard-2"
# # (Require) Node WITHOUT existing Pod having label: `notebook-name`
# podAntiAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# - labelSelector:
# matchExpressions:
# - key: "notebook-name"
# operator: "Exists"
# namespaces: []
# topologyKey: "kubernetes.io/hostname"
readOnly: false
tolerationGroup:
# The default `groupKey` from the options list
# If readonly, the default value will be the only option
value: "none"
# The list of available tolerationGroup configs
options:
- groupKey: "none"
displayName: "None"
tolerations: []
# - groupKey: "group_1"
# displayName: "Group 1: description"
# tolerations:
# - key: "key1"
# operator: "Equal"
# value: "value1"
# effect: "NoSchedule"
# - key: "key2"
# operator: "Equal"
# value: "value2"
# effect: "NoSchedule"
readOnly: false
kind: ConfigMap kind: ConfigMap
metadata: metadata:
annotations: {} annotations: {}
labels: labels:
app: jupyter-web-app app: jupyter-web-app
kustomize.component: jupyter-web-app kustomize.component: jupyter-web-app
name: jupyter-web-app-jupyter-web-app-config-8fc6g84c8k name: jupyter-web-app-jupyter-web-app-config-24bth2gbkc
namespace: kubeflow namespace: kubeflow

View File

@ -42,5 +42,5 @@ spec:
serviceAccountName: jupyter-web-app-service-account serviceAccountName: jupyter-web-app-service-account
volumes: volumes:
- configMap: - configMap:
name: jupyter-web-app-jupyter-web-app-config-8fc6g84c8k name: jupyter-web-app-jupyter-web-app-config-24bth2gbkc
name: config-volume name: config-volume

View File

@ -1,6 +1,6 @@
apiVersion: v1 apiVersion: v1
data: data:
spawner_ui_config.yaml: | spawner_ui_config.yaml: |-
# Configuration file for the Jupyter UI. # Configuration file for the Jupyter UI.
# #
# Each Jupyter UI option is configured by two keys: 'value' and 'readOnly' # Each Jupyter UI option is configured by two keys: 'value' and 'readOnly'
@ -120,6 +120,8 @@ data:
vendors: vendors:
- limitsKey: "nvidia.com/gpu" - limitsKey: "nvidia.com/gpu"
uiName: "NVIDIA" uiName: "NVIDIA"
- limitsKey: "amd.com/gpu"
uiName: "AMD"
# Values: "" or a `limits-key` from the vendors list # Values: "" or a `limits-key` from the vendors list
vendor: "" vendor: ""
readOnly: false readOnly: false
@ -133,11 +135,67 @@ data:
# - default-editor # - default-editor
value: [] value: []
readOnly: false readOnly: false
affinityConfig:
# The default `configKey` from the options list
# If readonly, the default value will be the only option
value: "none"
# The list of available affinity configs
options:
- configKey: "none"
displayName: "None"
affinity: {}
# # (DESC) Pod gets an exclusive "n1-standard-2" Node
# # (TIP) set PreferNoSchedule taint on this node-pool
# # (TIP) enable cluster-autoscaler on this node-pool
# # (TIP) dont let users request more CPU/MEMORY than the size of this node
# - configKey: "exclusive__n1-standard-2"
# displayName: "Exclusive: n1-standard-2"
# affinity:
# # (Require) Node having label: `node_pool=notebook-n1-standard-2`
# nodeAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# nodeSelectorTerms:
# - matchExpressions:
# - key: "node_pool"
# operator: "In"
# values:
# - "notebook-n1-standard-2"
# # (Require) Node WITHOUT existing Pod having label: `notebook-name`
# podAntiAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# - labelSelector:
# matchExpressions:
# - key: "notebook-name"
# operator: "Exists"
# namespaces: []
# topologyKey: "kubernetes.io/hostname"
readOnly: false
tolerationGroup:
# The default `groupKey` from the options list
# If readonly, the default value will be the only option
value: "none"
# The list of available tolerationGroup configs
options:
- groupKey: "none"
displayName: "None"
tolerations: []
# - groupKey: "group_1"
# displayName: "Group 1: description"
# tolerations:
# - key: "key1"
# operator: "Equal"
# value: "value1"
# effect: "NoSchedule"
# - key: "key2"
# operator: "Equal"
# value: "value2"
# effect: "NoSchedule"
readOnly: false
kind: ConfigMap kind: ConfigMap
metadata: metadata:
annotations: {} annotations: {}
labels: labels:
app: jupyter-web-app app: jupyter-web-app
kustomize.component: jupyter-web-app kustomize.component: jupyter-web-app
name: jupyter-web-app-jupyter-web-app-config-8fc6g84c8k name: jupyter-web-app-jupyter-web-app-config-24bth2gbkc
namespace: kubeflow namespace: kubeflow