Admin

Note: Starting with v0.12.0, Prometheus Operator requires use of Kubernetes v1.7.x and up.

Storage

To keep data cross deployments and version upgrades the data must be persisted to some volume other than emptyDir, to be able to reuse it by Pods after an upgrade.

There are various kinds of volumes supported by Kubernetes. The Prometheus Operator works with PersistentVolumeClaims. PersistentVolumeClaims are especially useful, because they support the underlying PersistentVolume to be provisioned when requested.

This document assumes you have a basic understanding of PersisentVolumes, PersisentVolumeClaims, and their provisioning.

Disabling Default StorageClasses

In order to manually provoision volumes, as of Kubernetes 1.6.0, you may need to disable the default StorageClass that is automatically created for certain Cloud Providers. Default StorageClasses are pre-installed on Azure, AWS, GCE, OpenStack, and vSphere.

To override this behavior, you must explicitely create the same resource, but set it to not be default (see changelog for details).

To accomplish this on a Google Container Engine cluster, create the following StorageClass:

kind:StorageClassapiVersion:storage.k8s.io/v1beta1metadata:name:standardannotations:# disable this default storage class by setting this annotation to false.storageclass.beta.kubernetes.io/is-default-class:"false"provisioner:kubernetes.io/gce-pdparameters:type:pd-ssdzone:us-east1-d