Skip to content

Commit a3eb237

Browse files
authored
Merge pull request #261 from zouyee/matrix
add Compatibility matrix
2 parents 26f01d5 + 586d852 commit a3eb237

1 file changed

Lines changed: 39 additions & 10 deletions

File tree

README.md

Lines changed: 39 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,24 @@ either by Prometheus itself or by a scraper that is compatible with scraping
1616
a Prometheus client endpoint. You can also open `/metrics` in a browser to see
1717
the raw metrics.
1818

19-
## Kubernetes Version
19+
## Table of Contents
20+
21+
- [Versioning](#versioning)
22+
- [Kubernetes Version](#kubernetes-version)
23+
- [Compatibility matrix](#compatibility-matrix)
24+
- [Container Image](#container-image)
25+
- [Metrics Documentation](#metrics-documentation)
26+
- [Resource recommendation](#resource-recommendation)
27+
- [kube-state-metrics vs. Heaspter](#kube-state-metrics-vs-heapster)
28+
- [Setup](#setup)
29+
- [Building the Docker container](#building-the-docker-container)
30+
- [Usage](#usage)
31+
- [Kubernetes Deployment](#kubernetes-deployment)
32+
- [Deployment](#deployment)
33+
34+
### Versioning
35+
36+
#### Kubernetes Version
2037

2138
kube-state-metrics uses [`client-go`](https://github.com/kubernetes/client-go) to talk with
2239
Kubernetes clusters. The supported Kubernetes cluster version is determined by `client-go`.
@@ -25,7 +42,19 @@ The compatibility matrix for client-go and Kubernetes cluster can be found
2542
All additional compatibility is only best effort, or happens to still/already be supported.
2643
Currently, `client-go` is in version `v4.0.0-beta.0`.
2744

28-
## Container Image
45+
#### Compatibility matrix
46+
47+
| kube-state-metrics | client-go | **Kubernetes 1.4** | **Kubernetes 1.5** | **Kubernetes 1.6** | **Kubernetes 1.7** |
48+
|--------------------|-----------|---------------------|--------------------|--------------------|--------------------|
49+
| **v0.4.0** | v2.0.0-alpha.1 ||| - | - |
50+
| **v0.5.0** | v2.0.0-alpha.1 ||| - | - |
51+
| **v1.0.x** | 4.0.0-beta.0 |||||
52+
| **master** | 4.0.0-beta.0 |||||
53+
54+
- `` Fully supported version range.
55+
- `-` The Kubernetes cluster has features the client-go library can't use (additional API objects, etc).
56+
57+
#### Container Image
2958

3059
The latest container image can be found at:
3160
* `quay.io/coreos/kube-state-metrics:v1.0.1`
@@ -35,7 +64,7 @@ The latest container image can be found at:
3564
The recommended docker registry for kube-state-metrics is `quay.io`. kube-state-metrics on
3665
`gcr.io` is only maintained on best effort as it requires external help from Google employees.
3766

38-
## Metrics Documentation
67+
### Metrics Documentation
3968

4069
There are many more metrics we could report, but this first pass is focused on
4170
those that could be used for actionable alerts. Please contribute PR's for
@@ -53,7 +82,7 @@ additional metrics!
5382
5483
See the [`Documentation`](Documentation) directory for documentation of the exposed metrics.
5584

56-
## Resource recommendation
85+
### Resource recommendation
5786

5887
Resource usage changes with the size of the cluster. As a general rule, you should allocate
5988

@@ -67,7 +96,7 @@ For clusters of more than 100 nodes, allocate at least
6796

6897
These numbers are based on [scalability tests](https://github.com/kubernetes/kube-state-metrics/issues/124#issuecomment-318394185) at 30 pods per node.
6998

70-
## kube-state-metrics vs. Heapster
99+
### kube-state-metrics vs. Heapster
71100

72101
[Heapster](https://github.com/kubernetes/heapster) is a project which fetches
73102
metrics (such as CPU and memory utilization) from the Kubernetes API server and
@@ -96,36 +125,36 @@ for metric collection at all and instead implement their own, but
96125
Having kube-state-metrics as a separate project enables access to these metrics
97126
from those monitoring systems.
98127

99-
# Setup
128+
### Setup
100129

101130
Install this project to your `$GOPATH` using `go get`:
102131

103132
```
104133
go get k8s.io/kube-state-metrics
105134
```
106135

107-
## Building the Docker container
136+
#### Building the Docker container
108137

109138
Simple run the following command in this root folder, which will create a
110139
self-contained, statically-linked binary and build a Docker image:
111140
```
112141
make container
113142
```
114143

115-
# Usage
144+
### Usage
116145

117146
Simply build and run kube-state-metrics inside a Kubernetes pod which has a
118147
service account token that has read-only access to the Kubernetes cluster.
119148

120-
## Kubernetes Deployment
149+
#### Kubernetes Deployment
121150

122151
To deploy this project, you can simply run `kubectl apply -f kubernetes` and a
123152
Kubernetes service and deployment will be created. The service already has a
124153
`prometheus.io/scrape: 'true'` annotation and if you added the recommended
125154
Prometheus service-endpoint scraping [configuration](https://raw.githubusercontent.com/prometheus/prometheus/master/documentation/examples/prometheus-kubernetes.yml), Prometheus will pick it up automatically and you can start using the generated
126155
metrics right away.
127156

128-
# Development
157+
#### Development
129158

130159
When developing, test a metric dump against your local Kubernetes cluster by
131160
running:

0 commit comments

Comments
 (0)