Katib Configuration Overview
This page describes information about Katib config.
Katib config is the Kubernetes Config Map that contains information about:
- Current Metrics Collectors (
key = metrics-collector-sidecar) - Current Algorithms (Suggestions) (
key = suggestion).
Katib Config Map must be deployed in KATIB_CORE_NAMESPACE namespace with katib-config name. Katib controller parses Katib config when you submit Experiment.
You can edit this Config Map even after deploying Katib.
If you deploy Katib in Kubeflow namespace, to edit Katib config run this:
kubectl edit configMap katib-config -n kubeflow
Metrics Collector Sidecar settings
These settings are related to Katib Metrics Collectors, where:
- key =
metrics-collector-sidecar - value = corresponding settings JSON for each Metrics Collector.
Example for the File Metrics Collector with all settings:
metrics-collector-sidecar: |-
{
"File": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/file-metrics-collector",
"imagePullPolicy": "Always",
"resources": {
"requests": {
"memory": "200Mi",
"cpu": "250m",
"ephemeral-storage": "200Mi"
},
"limits": {
"memory": "1Gi",
"cpu": "500m",
"ephemeral-storage": "2Gi"
}
}
},
...
}
All of these settings except image can be omitted. If you don’t specify any other settings, default value is be set.
-
image- Docker image name for theFileMetrics Collector.Must be specified.
-
imagePullPolicy-FileMetrics Collector container image pull policy.Default value is
IfNotPresent. -
resources-FileMetrics Collector container resources. In the above example you can see how to specifylimitsandrequests. Currently, you can specify onlymemory,cpuandephemeral-storageresource.Default values for the
requestsare:memory = 10Mi.cpu = 50m.ephemeral-storage = 500Mi.
Default values for the
limitsare:memory = 100Mi.cpu = 500m.ephemeral-storage = 5Gi.
Suggestion settings
These settings are related to Katib suggestions, where:
- key =
suggestion - value = corresponding settings JSON for each algorithm.
If you want to use new algorithm, you must update Katib config with the new suggestion.
Example for the random suggestion with all settings:
suggestion: |-
{
"random": {
"image": "gcr.io/kubeflow-images-public/katib/v1alpha3/suggestion-hyperopt",
"imagePullPolicy": "Always",
"resources": {
"requests": {
"memory": "100Mi",
"cpu": "100m",
"ephemeral-storage": "100Mi"
},
"limits": {
"memory": "500Mi",
"cpu": "500m",
"ephemeral-storage": "3Gi"
}
},
"serviceAccountName": "suggestion-serviceaccount"
},
...
}
All of these settings except image can be omitted. If you don’t specify any other settings, default value is be set.
-
image- Docker image name for therandomsuggestion.Must be specified.
-
imagePullPolicy-Randomsuggestion container image pull policy.Default value is
IfNotPresent. -
resources-Randomsuggestion container resources. In the above example you can see how to specifylimitsandrequests. Currently, you can specify onlymemory,cpuandephemeral-storageresource.Default values for the
requestsare:memory = 10Mi.cpu = 50m.ephemeral-storage = 500Mi.
Default values for the
limitsare:memory = 100Mi.cpu = 500m.ephemeral-storage = 5Gi.
-
serviceAccountName-Randomsuggestion container service account. In the above example,suggestion-serviceaccountservice account is used for each Experiment withrandomalgorithm, until you change or delete this service account from the Katib config.By default suggestion pod doesn’t have specific service account. In that case, Suggestion pod uses default service account.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.