Intro

kube-state-metrics is focused on generating completely new metrics from Kubernetes’ object state (e.g. metrics based on deployments, replica sets, etc.). It holds an entire snapshot of Kubernetes state in memory and continuously generates new metrics based on it.

Metrics by themselves are documented on the project’s GitHub. You can dig into every metrics details on github, however, it’s not one listing.

On many occasions (debugging situations) it’s helpful to check the complete list of all exposed metrics. So here is what kube-state-metrics v1.8.0 exports on my EKS Kubernetes (v1.15).

kube-state-metrics 1.8.0 list

# HELP kube_certificatesigningrequest_labels Kubernetes labels converted to Prometheus labels.
 kube_certificatesigningrequest_labels gauge
# HELP kube_certificatesigningrequest_created Unix creation timestamp
 kube_certificatesigningrequest_created gauge
# HELP kube_certificatesigningrequest_condition The number of each certificatesigningrequest condition
 kube_certificatesigningrequest_condition gauge
# HELP kube_certificatesigningrequest_cert_length Length of the issued cert
 kube_certificatesigningrequest_cert_length gauge

# HELP kube_configmap_info Information about configmap.
 kube_configmap_info gauge
# HELP kube_configmap_created Unix creation timestamp
 kube_configmap_created gauge
# HELP kube_configmap_metadata_resource_version Resource version representing a specific version of the configmap.
 kube_configmap_metadata_resource_version gauge

# HELP kube_cronjob_labels Kubernetes labels converted to Prometheus labels.
 kube_cronjob_labels gauge
# HELP kube_cronjob_info Info about cronjob.
 kube_cronjob_info gauge
# HELP kube_cronjob_created Unix creation timestamp
 kube_cronjob_created gauge
# HELP kube_cronjob_status_active Active holds pointers to currently running jobs.
 kube_cronjob_status_active gauge
# HELP kube_cronjob_status_last_schedule_time LastScheduleTime keeps information of when was the last time the job was successfully scheduled.
 kube_cronjob_status_last_schedule_time gauge
# HELP kube_cronjob_spec_suspend Suspend flag tells the controller to suspend subsequent executions.
 kube_cronjob_spec_suspend gauge
# HELP kube_cronjob_spec_starting_deadline_seconds Deadline in seconds for starting the job if it misses scheduled time for any reason.
 kube_cronjob_spec_starting_deadline_seconds gauge
# HELP kube_cronjob_next_schedule_time Next time the cronjob should be scheduled. The time after lastScheduleTime, or after the cron job's creation time if it's never been scheduled. Use this to determine if the job is delayed.
 kube_cronjob_next_schedule_time gauge

# HELP kube_daemonset_created Unix creation timestamp
 kube_daemonset_created gauge
# HELP kube_daemonset_status_current_number_scheduled The number of nodes running at least one daemon pod and are supposed to.
 kube_daemonset_status_current_number_scheduled gauge
# HELP kube_daemonset_status_desired_number_scheduled The number of nodes that should be running the daemon pod.
 kube_daemonset_status_desired_number_scheduled gauge
# HELP kube_daemonset_status_number_available The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and available
 kube_daemonset_status_number_available gauge
# HELP kube_daemonset_status_number_misscheduled The number of nodes running a daemon pod but are not supposed to.
 kube_daemonset_status_number_misscheduled gauge
# HELP kube_daemonset_status_number_ready The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready.
 kube_daemonset_status_number_ready gauge
# HELP kube_daemonset_status_number_unavailable The number of nodes that should be running the daemon pod and have none of the daemon pod running and available
 kube_daemonset_status_number_unavailable gauge
# HELP kube_daemonset_updated_number_scheduled The total number of nodes that are running updated daemon pod
 kube_daemonset_updated_number_scheduled gauge
# HELP kube_daemonset_metadata_generation Sequence number representing a specific generation of the desired state.
 kube_daemonset_metadata_generation gauge
# HELP kube_daemonset_labels Kubernetes labels converted to Prometheus labels.
 kube_daemonset_labels gauge

# HELP kube_deployment_created Unix creation timestamp
 kube_deployment_created gauge
# HELP kube_deployment_status_replicas The number of replicas per deployment.
 kube_deployment_status_replicas gauge
# HELP kube_deployment_status_replicas_available The number of available replicas per deployment.
 kube_deployment_status_replicas_available gauge
# HELP kube_deployment_status_replicas_unavailable The number of unavailable replicas per deployment.
 kube_deployment_status_replicas_unavailable gauge
# HELP kube_deployment_status_replicas_updated The number of updated replicas per deployment.
 kube_deployment_status_replicas_updated gauge
# HELP kube_deployment_status_observed_generation The generation observed by the deployment controller.
 kube_deployment_status_observed_generation gauge
# HELP kube_deployment_spec_replicas Number of desired pods for a deployment.
 kube_deployment_spec_replicas gauge
# HELP kube_deployment_spec_paused Whether the deployment is paused and will not be processed by the deployment controller.
 kube_deployment_spec_paused gauge
# HELP kube_deployment_spec_strategy_rollingupdate_max_unavailable Maximum number of unavailable replicas during a rolling update of a deployment.
 kube_deployment_spec_strategy_rollingupdate_max_unavailable gauge
# HELP kube_deployment_spec_strategy_rollingupdate_max_surge Maximum number of replicas that can be scheduled above the desired number of replicas during a rolling update of a deployment.
 kube_deployment_spec_strategy_rollingupdate_max_surge gauge
# HELP kube_deployment_metadata_generation Sequence number representing a specific generation of the desired state.
 kube_deployment_metadata_generation gauge

# HELP kube_endpoint_info Information about endpoint.
 kube_endpoint_info gauge
# HELP kube_endpoint_created Unix creation timestamp
 kube_endpoint_created gauge
# HELP kube_endpoint_labels Kubernetes labels converted to Prometheus labels.
 kube_endpoint_labels gauge
# HELP kube_endpoint_address_available Number of addresses available in endpoint.
 kube_endpoint_address_available gauge
# HELP kube_endpoint_address_not_ready Number of addresses not ready in endpoint
 kube_endpoint_address_not_ready gauge

# HELP kube_hpa_metadata_generation The generation observed by the HorizontalPodAutoscaler controller.
 kube_hpa_metadata_generation gauge
# HELP kube_hpa_spec_max_replicas Upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas.
 kube_hpa_spec_max_replicas gauge
# HELP**** kube_hpa_spec_min_replicas Lower limit for the number of pods that can be set by the autoscaler, default 1.
 kube_hpa_spec_min_replicas gauge
# HELP kube_hpa_status_current_replicas Current number of replicas of pods managed by this autoscaler.
 kube_hpa_status_current_replicas gauge
# HELP kube_hpa_status_desired_replicas Desired number of replicas of pods managed by this autoscaler.
 kube_hpa_status_desired_replicas gauge
# HELP kube_hpa_labels Kubernetes labels converted to Prometheus labels.
 kube_hpa_labels gauge
# HELP kube_hpa_status_condition The condition of this autoscaler.
 kube_hpa_status_condition gauge

# HELP kube_ingress_info Information about ingress.
 kube_ingress_info gauge
# HELP kube_ingress_labels Kubernetes labels converted to Prometheus labels.
 kube_ingress_labels gauge
# HELP kube_ingress_created Unix creation timestamp
 kube_ingress_created gauge
# HELP kube_ingress_metadata_resource_version Resource version representing a specific version of ingress.
 kube_ingress_metadata_resource_version gauge
# HELP kube_ingress_path Ingress host, paths and backend service information.
 kube_ingress_path gauge
# HELP kube_ingress_tls Ingress TLS host and secret information.
 kube_ingress_tls gauge

# HELP kube_job_labels Kubernetes labels converted to Prometheus labels.
 kube_job_labels gauge
# HELP kube_job_info Information about job.
 kube_job_info gauge
# HELP kube_job_created Unix creation timestamp
 kube_job_created gauge
# HELP kube_job_spec_parallelism The maximum desired number of pods the job should run at any given time.
 kube_job_spec_parallelism gauge
# HELP kube_job_spec_completions The desired number of successfully finished pods the job should be run with.
 kube_job_spec_completions gauge
# HELP kube_job_spec_active_deadline_seconds The duration in seconds relative to the startTime that the job may be active before the system tries to terminate it.
 kube_job_spec_active_deadline_seconds gauge
# HELP kube_job_status_succeeded The number of pods which reached Phase Succeeded.
 kube_job_status_succeeded gauge
# HELP kube_job_status_failed The number of pods which reached Phase Failed.
 kube_job_status_failed gauge
# HELP kube_job_status_active The number of actively running pods.
 kube_job_status_active gauge
# HELP kube_job_complete The job has completed its execution.
 kube_job_complete gauge
# HELP kube_job_failed The job has failed its execution.
 kube_job_failed gauge
# HELP kube_job_status_start_time StartTime represents time when the job was acknowledged by the Job Manager.
 kube_job_status_start_time gauge
# HELP kube_job_status_completion_time CompletionTime represents time when the job was completed.
 kube_job_status_completion_time gauge
# HELP kube_job_owner Information about the Job's owner.
 kube_job_owner gauge

# HELP kube_limitrange Information about limit range.
 kube_limitrange gauge
# HELP kube_limitrange_created Unix creation timestamp
 kube_limitrange_created gauge

# HELP kube_namespace_created Unix creation timestamp
 kube_namespace_created gauge
# HELP kube_namespace_labels Kubernetes labels converted to Prometheus labels.
 kube_namespace_labels gauge
# HELP kube_namespace_status_phase kubernetes namespace status phase.
 kube_namespace_status_phase gauge

# HELP kube_node_info Information about a cluster node.
 kube_node_info gauge
# HELP kube_node_created Unix creation timestamp
 kube_node_created gauge
# HELP kube_node_labels Kubernetes labels converted to Prometheus labels.
 kube_node_labels gauge
# HELP kube_node_role The role of a cluster node.
 kube_node_role gauge
# HELP kube_node_spec_unschedulable Whether a node can schedule new pods.
 kube_node_spec_unschedulable gauge
# HELP kube_node_spec_taint The taint of a cluster node.
 kube_node_spec_taint gauge
# HELP kube_node_status_condition The condition of a cluster node.
 kube_node_status_condition gauge
# HELP kube_node_status_phase The phase the node is currently in.
 kube_node_status_phase gauge
# HELP kube_node_status_capacity The capacity for different resources of a node.
 kube_node_status_capacity gauge
# HELP kube_node_status_capacity_pods The total pod resources of the node.
 kube_node_status_capacity_pods gauge
# HELP kube_node_status_capacity_cpu_cores The total CPU resources of the node.
 kube_node_status_capacity_cpu_cores gauge
# HELP kube_node_status_capacity_memory_bytes The total memory resources of the node.
 kube_node_status_capacity_memory_bytes gauge
# HELP kube_node_status_allocatable The allocatable for different resources of a node that are available for scheduling.
 kube_node_status_allocatable gauge
# HELP kube_node_status_allocatable_pods The pod resources of a node that are available for scheduling.
 kube_node_status_allocatable_pods gauge
# HELP kube_node_status_allocatable_cpu_cores The CPU resources of a node that are available for scheduling.
 kube_node_status_allocatable_cpu_cores gauge
# HELP kube_node_status_allocatable_memory_bytes The memory resources of a node that are available for scheduling.
 kube_node_status_allocatable_memory_bytes gauge

# HELP kube_persistentvolumeclaim_labels Kubernetes labels converted to Prometheus labels.
 kube_persistentvolumeclaim_labels gauge
# HELP kube_persistentvolumeclaim_info Information about persistent volume claim.
 kube_persistentvolumeclaim_info gauge
# HELP kube_persistentvolumeclaim_status_phase The phase the persistent volume claim is currently in.
 kube_persistentvolumeclaim_status_phase gauge
# HELP kube_persistentvolumeclaim_resource_requests_storage_bytes The capacity of storage requested by the persistent volume claim.
 kube_persistentvolumeclaim_resource_requests_storage_bytes gauge
# HELP kube_persistentvolumeclaim_access_mode The access mode(s) specified by the persistent volume claim.
 kube_persistentvolumeclaim_access_mode gauge
# HELP kube_persistentvolume_labels Kubernetes labels converted to Prometheus labels.
 kube_persistentvolume_labels gauge
# HELP kube_persistentvolume_status_phase The phase indicates if a volume is available, bound to a claim, or released by a claim.
 kube_persistentvolume_status_phase gauge
# HELP kube_persistentvolume_info Information about persistentvolume.
 kube_persistentvolume_info gauge
# HELP kube_persistentvolume_capacity_bytes Persistentvolume capacity in bytes.
 kube_persistentvolume_capacity_bytes gauge

# HELP kube_poddisruptionbudget_created Unix creation timestamp
 kube_poddisruptionbudget_created gauge
# HELP kube_poddisruptionbudget_status_current_healthy Current number of healthy pods
 kube_poddisruptionbudget_status_current_healthy gauge
# HELP kube_poddisruptionbudget_status_desired_healthy Minimum desired number of healthy pods
 kube_poddisruptionbudget_status_desired_healthy gauge
# HELP kube_poddisruptionbudget_status_pod_disruptions_allowed Number of pod disruptions that are currently allowed
 kube_poddisruptionbudget_status_pod_disruptions_allowed gauge
# HELP kube_poddisruptionbudget_status_expected_pods Total number of pods counted by this disruption budget
 kube_poddisruptionbudget_status_expected_pods gauge
# HELP kube_poddisruptionbudget_status_observed_generation Most recent generation observed when updating this PDB status
 kube_poddisruptionbudget_status_observed_generation gauge
# HELP kube_pod_info Information about pod.
 kube_pod_info gauge
# HELP kube_pod_start_time Start time in unix timestamp for a pod.
 kube_pod_start_time gauge
# HELP kube_pod_completion_time Completion time in unix timestamp for a pod.
 kube_pod_completion_time gauge
# HELP kube_pod_owner Information about the Pod's owner.
 kube_pod_owner gauge
# HELP kube_pod_labels Kubernetes labels converted to Prometheus labels.
 kube_pod_labels gauge
# HELP kube_pod_created Unix creation timestamp
 kube_pod_created gauge
# HELP kube_pod_restart_policy Describes the restart policy in use by this pod.
 kube_pod_restart_policy gauge
# HELP kube_pod_status_scheduled_time Unix timestamp when pod moved into scheduled status
 kube_pod_status_scheduled_time gauge
# HELP kube_pod_status_unschedulable Describes the unschedulable status for the pod.
 kube_pod_status_unschedulable gauge
# HELP kube_pod_status_phase The pods current phase.
 kube_pod_status_phase gauge
# HELP kube_pod_status_ready Describes whether the pod is ready to serve requests.
 kube_pod_status_ready gauge
# HELP kube_pod_status_scheduled Describes the status of the scheduling process for the pod.
 kube_pod_status_scheduled gauge
# HELP kube_pod_container_info Information about a container in a pod.
 kube_pod_container_info gauge
# HELP kube_pod_init_container_info Information about an init container in a pod.
 kube_pod_init_container_info gauge
# HELP kube_pod_container_status_waiting Describes whether the container is currently in waiting state.
 kube_pod_container_status_waiting gauge
# HELP kube_pod_init_container_status_waiting Describes whether the init container is currently in waiting state.
 kube_pod_init_container_status_waiting gauge
# HELP kube_pod_container_status_waiting_reason Describes the reason the container is currently in waiting state.
 kube_pod_container_status_waiting_reason gauge
# HELP kube_pod_init_container_status_waiting_reason Describes the reason the init container is currently in waiting state.
 kube_pod_init_container_status_waiting_reason gauge
# HELP kube_pod_container_status_running Describes whether the container is currently in running state.
 kube_pod_container_status_running gauge
# HELP kube_pod_init_container_status_running Describes whether the init container is currently in running state.
 kube_pod_init_container_status_running gauge
# HELP kube_pod_container_status_terminated Describes whether the container is currently in terminated state.
 kube_pod_container_status_terminated gauge
# HELP kube_pod_init_container_status_terminated Describes whether the init container is currently in terminated state.
 kube_pod_init_container_status_terminated gauge
# HELP kube_pod_container_status_terminated_reason Describes the reason the container is currently in terminated state.
 kube_pod_container_status_terminated_reason gauge
# HELP kube_pod_init_container_status_terminated_reason Describes the reason the init container is currently in terminated state.
 kube_pod_init_container_status_terminated_reason gauge
# HELP kube_pod_container_status_last_terminated_reason Describes the last reason the container was in terminated state.
 kube_pod_container_status_last_terminated_reason gauge
# HELP kube_pod_init_container_status_last_terminated_reason Describes the last reason the init container was in terminated state.
 kube_pod_init_container_status_last_terminated_reason gauge
# HELP kube_pod_container_status_ready Describes whether the containers readiness check succeeded.
 kube_pod_container_status_ready gauge
# HELP kube_pod_init_container_status_ready Describes whether the init containers readiness check succeeded.
 kube_pod_init_container_status_ready gauge
# HELP kube_pod_container_status_restarts_total The number of container restarts per container.
 kube_pod_container_status_restarts_total counter
# HELP kube_pod_init_container_status_restarts_total The number of restarts for the init container.
 kube_pod_init_container_status_restarts_total counter
# HELP kube_pod_container_resource_requests The number of requested request resource by a container.
 kube_pod_container_resource_requests gauge
# HELP kube_pod_container_resource_limits The number of requested limit resource by a container.
 kube_pod_container_resource_limits gauge
# HELP kube_pod_init_container_resource_limits The number of requested limit resource by the init container.
 kube_pod_init_container_resource_limits gauge
# HELP kube_pod_container_resource_requests_cpu_cores The number of requested cpu cores by a container.
 kube_pod_container_resource_requests_cpu_cores gauge
# HELP kube_pod_container_resource_requests_memory_bytes The number of requested memory bytes by a container.
 kube_pod_container_resource_requests_memory_bytes gauge
# HELP kube_pod_container_resource_limits_cpu_cores The limit on cpu cores to be used by a container.
 kube_pod_container_resource_limits_cpu_cores gauge
# HELP kube_pod_container_resource_limits_memory_bytes The limit on memory to be used by a container in bytes.
 kube_pod_container_resource_limits_memory_bytes gauge
# HELP kube_pod_spec_volumes_persistentvolumeclaims_info Information about persistentvolumeclaim volumes in a pod.
 kube_pod_spec_volumes_persistentvolumeclaims_info gauge
# HELP kube_pod_spec_volumes_persistentvolumeclaims_readonly Describes whether a persistentvolumeclaim is mounted read only.
 kube_pod_spec_volumes_persistentvolumeclaims_readonly gauge
# HELP kube_replicaset_created Unix creation timestamp
 kube_replicaset_created gauge
# HELP kube_replicaset_status_replicas The number of replicas per ReplicaSet.
 kube_replicaset_status_replicas gauge
# HELP kube_replicaset_status_fully_labeled_replicas The number of fully labeled replicas per ReplicaSet.
 kube_replicaset_status_fully_labeled_replicas gauge
# HELP kube_replicaset_status_ready_replicas The number of ready replicas per ReplicaSet.
 kube_replicaset_status_ready_replicas gauge
# HELP kube_replicaset_status_observed_generation The generation observed by the ReplicaSet controller.
 kube_replicaset_status_observed_generation gauge
# HELP kube_replicaset_spec_replicas Number of desired pods for a ReplicaSet.
 kube_replicaset_spec_replicas gauge
# HELP kube_replicaset_metadata_generation Sequence number representing a specific generation of the desired state.
 kube_replicaset_metadata_generation gauge
# HELP kube_replicaset_owner Information about the ReplicaSet's owner.
 kube_replicaset_owner gauge
# HELP kube_replicaset_labels Kubernetes labels converted to Prometheus labels.
 kube_replicaset_labels gauge
# HELP kube_replicationcontroller_created Unix creation timestamp
 kube_replicationcontroller_created gauge
# HELP kube_replicationcontroller_status_replicas The number of replicas per ReplicationController.
 kube_replicationcontroller_status_replicas gauge
# HELP kube_replicationcontroller_status_fully_labeled_replicas The number of fully labeled replicas per ReplicationController.
 kube_replicationcontroller_status_fully_labeled_replicas gauge
# HELP kube_replicationcontroller_status_ready_replicas The number of ready replicas per ReplicationController.
 kube_replicationcontroller_status_ready_replicas gauge
# HELP kube_replicationcontroller_status_available_replicas The number of available replicas per ReplicationController.
 kube_replicationcontroller_status_available_replicas gauge
# HELP kube_replicationcontroller_status_observed_generation The generation observed by the ReplicationController controller.
 kube_replicationcontroller_status_observed_generation gauge
# HELP kube_replicationcontroller_spec_replicas Number of desired pods for a ReplicationController.
 kube_replicationcontroller_spec_replicas gauge
# HELP kube_replicationcontroller_metadata_generation Sequence number representing a specific generation of the desired state.
 kube_replicationcontroller_metadata_generation gauge
# HELP kube_resourcequota_created Unix creation timestamp
 kube_resourcequota_created gauge
# HELP kube_resourcequota Information about resource quota.
 kube_resourcequota gauge
# HELP kube_secret_info Information about secret.
 kube_secret_info gauge
# HELP kube_secret_type Type about secret.
 kube_secret_type gauge
# HELP kube_secret_labels Kubernetes labels converted to Prometheus labels.
 kube_secret_labels gauge
# HELP kube_secret_created Unix creation timestamp
 kube_secret_created gauge
# HELP kube_secret_metadata_resource_version Resource version representing a specific version of secret.
 kube_secret_metadata_resource_version gauge
# HELP kube_service_info Information about service.
 kube_service_info gauge
# HELP kube_service_created Unix creation timestamp
 kube_service_created gauge
# HELP kube_service_spec_type Type about service.
 kube_service_spec_type gauge
# HELP kube_service_labels Kubernetes labels converted to Prometheus labels.
 kube_service_labels gauge
# HELP kube_service_spec_external_ip Service external ips. One series for each ip
 kube_service_spec_external_ip gauge
# HELP kube_service_status_load_balancer_ingress Service load balancer ingress status
 kube_service_status_load_balancer_ingress gauge
# HELP kube_statefulset_created Unix creation timestamp
 kube_statefulset_created gauge
# HELP kube_statefulset_status_replicas The number of replicas per StatefulSet.
 kube_statefulset_status_replicas gauge
# HELP kube_statefulset_status_replicas_current The number of current replicas per StatefulSet.
 kube_statefulset_status_replicas_current gauge
# HELP kube_statefulset_status_replicas_ready The number of ready replicas per StatefulSet.
 kube_statefulset_status_replicas_ready gauge
# HELP kube_statefulset_status_replicas_updated The number of updated replicas per StatefulSet.
 kube_statefulset_status_replicas_updated gauge
# HELP kube_statefulset_status_observed_generation The generation observed by the StatefulSet controller.
 kube_statefulset_status_observed_generation gauge
# HELP kube_statefulset_replicas Number of desired pods for a StatefulSet.
 kube_statefulset_replicas gauge
# HELP kube_statefulset_metadata_generation Sequence number representing a specific generation of the desired state for the StatefulSet.
 kube_statefulset_metadata_generation gauge
# HELP kube_statefulset_labels Kubernetes labels converted to Prometheus labels.
 kube_statefulset_labels gauge
# HELP kube_statefulset_status_current_revision Indicates the version of the StatefulSet used to generate Pods in the sequence [0,currentReplicas).
 kube_statefulset_status_current_revision gauge
# HELP kube_statefulset_status_update_revision Indicates the version of the StatefulSet used to generate Pods in the sequence [replicas-updatedReplicas,replicas)
 kube_statefulset_status_update_revision gauge
# HELP kube_storageclass_info Information about storageclass.
 kube_storageclass_info gauge
# HELP kube_storageclass_created Unix creation timestamp
 kube_storageclass_created gauge
# HELP kube_storageclass_labels Kubernetes labels converted to Prometheus labels.
 kube_storageclass_labels gauge

Hope this helps someone.kubernetes