Usage Reporting

Opting in or out of anonymous usage data reported from Kubeflow

When enabled, Kubeflow will report anonymous usage data using Spartakus, Kubernetes’ reporting tool. Spartakus does not report any personal information. See the Spartakus docs for more detail.

Allowing usage reporting is entirely voluntary.

Disable usage reporting on an existing Kubeflow deployment

If you’ve already deployed Kubeflow, run the following command to disable usage reporting on your existing deployment. The command removes the spartakus-volunteer application:

export NAMESPACE=kubeflow
kubectl delete -n ${NAMESPACE} deploy spartakus-volunteer

You can run the following command to check for existence of the application:

kubectl get -n ${NAMESPACE} deploy spartakus-volunteer

Remove usage reporting before deploying Kubeflow

The following instructions assume that you plan to use the kfctl command-line interface to deploy Kubeflow.

This guide refers to the ${CONFIG_FILE}, which is the Kubeflow configuration file in your Kubeflow deployment directory. For example, ${KF_DIR}/kfctl_k8s_istio.0.7.1.yaml or ${KF_DIR}/kfctl_gcp_iap.0.7.1.yaml.

To prevent Spartakus from being deployed:

  1. Follow your chosen guide to deploying Kubeflow, but stop before you deploy Kubeflow. For example, see the guide to deploying Kubeflow with kfctl_k8s_istio.
  2. When you reach the setup and deploy step, skip the kfctl apply command and run the kfctl build command instead, as described in the above guide. Now you can edit the configuration files before deploying Kubeflow.
  3. Edit your ${CONFIG_FILE} file as described below.

  4. Run the kfctl apply command to deploy Kubeflow:

    cd ${KF_DIR}
    kfctl apply -V -f ${CONFIG_FILE}
    

Removing Spartakus from your configuration

You need to remove the Spartakus entry from KfDef.Spec.Applications in the ${CONFIG_FILE} file. Find the applications section of the YAML file and delete the following lines:

- kustomizeConfig:
    parameters:
    - initRequired: true
      name: usageId
      value: <randomly-generated-id>
    - initRequired: true
      name: reportUsage
      value: "true"
    repoRef:
      name: manifests
      path: common/spartakus
  name: spartakus

Alternatively, some YAML configuration files may include entries for KfDef.Spec.Components and KfDef.Spec.ComponentParams instead of KfDef.Spec.Applications. In this case:

  • Find the componentParams section of the YAML file and delete the following lines:

    spartakus:
    - initRequired: true
      name: usageId
      value: "<randomly-generated-id>"
    - initRequired: true
      name: reportUsage
      value: "true"
    
  • Find the components section of the YAML file and delete the following line:

    - spartakus