Kuantifier is installed and configured via a Helm chart. You must install helm prior to configuring and installing Kuantifier in your Kubernetes cluster.
The Kuantifier Helm Chart is hosted at the OSG Harbor OCI registry. To find the latest version of the Kuantifier helm chart:
helm show chart oci://hub.opensciencegrid.org/iris-hep/kuantifier
Then install it:
helm install kuantifier oci://hub.opensciencegrid.org/iris-hep/kuantifier --version <latest-version> --values my-values.yaml
Or upgrade an existing installation with a new helm chart version or set of configuration values:
helm upgrade kuantifier oci://hub.opensciencegrid.org/iris-hep/kuantifier --version <latest-version> --values my-values.yaml
Helm charts are configured via a YAML configuration file. The default
configuration for Kuantifier is found at values.yaml. A custom values.yaml may be applied to a chart during
installation or upgrade via the --values
or -f
helm command line option. The parameters of Kuantifier's values.yaml are documented
below.
.Values.outputFormat
: The outlet to report records to. Supports two values:.Values.cronjob
: Configuration for the Kubernetes CronJob object that periodically runs Kuantifier..schedule
: Cron expression for scheduling the CronJob..priorityClassName
: Priority Class for the pods that run the Kuantifier job..ttlSecondsAfterFinished
: Duration to persist completed pods after completion..nodeSelector
: Optional, set the nodeSelector for pods created by the CronJob.tolerations
: Optional, set the tolerations for pods created by the CronJob
.Values.pspName
: If specified, a Pod Security Policy name to use. Deprecated in newer versions of Kubernetes..Values.user
: Can be used to change the user id and group id the pod runs as if needed..Values.containerSecurityContext
: For configuring the securityContext of containers..Values.dataVolumeSize
: The size of the volume where Kuantifier stores its intermediate results between querying Prometheus and outputting to an external service. Note that Gratia output may require a significantly larger data volume size, as it operates on non-summarized records..Values.processor
: Configuration for the container that queries Prometheus to generate Job metric records..image_repository
: OCI image repository from which to pull the processor image..image_tag
: Optionally specify an image version..image_pull_policy
: Image Pull Policy for the processor container..resources
: Resource requests and limits for the processor container. Allow approximately 10KB of memory per job record being processed..config
: Environment variables for the processor. See KAPELConfig.py for full details. Must specify at least the following:NAMESPACE
: The namespace of the pods for which Kuantifier will collect and report metrics.SITE_NAME
: The name of the site being reported.SUBMIT_HOST
: Uniquely identifying name for the cluster.VO_NAME
: VO of jobs.PROMETHEUS_SERVER
: DNS name for the cluster's Prometheus instance. The default value works with a default installation of the bitnami/kube-prometheus Helm chart. Otherwise, for a Prometheus instance internal to the cluster, construct the URL based on the standard Kubernetes service discovery mechanism (i.e. service name and namespace).BENCHMARK_VALUE
: The value to use for normalizing by CPU performance. Required for APEL accounting.
.prometheus_auth
: If your Prometheus instance is configured to require Authentication from within the cluster, specify a Secret containing a value for the authentication header.
The following values only apply if .Values.outputFormat
equals "gratia"
:
.Values.gratia
: Configuration for the container that outputs job records to GRACC..image_repository
: OCI image repository from which to pull the Gratia output image..image_tag
: Optionally specify an image version..resources
: Resource requests and limits for the Gratia output container..config
: Environment variables for the Gratia output container. Currently, it is strongly recommended to use the default.
The following values only apply if .Values.outputFormat
equals "ssmsend"
:
.Values.ssmsend
: Configuration for the container that outputs job records to APEL..image_repository
: OCI image repository from which to pull the SSM output image..image_tag
: Optionally specify an image version..resources
: Resource requests and limits for the SSM output container..x509cert
and.x509key
: Base64-encoded public cert and private key for content signing when sending messages with SSM for APEL.