Skip to content

Commit

Permalink
Merge pull request #79 from sighupio/add_release_note
Browse files Browse the repository at this point in the history
Add release notes
  • Loading branch information
nandajavarma authored Jan 28, 2022
2 parents 7c0c518 + d4ebbbb commit 9889ec8
Show file tree
Hide file tree
Showing 19 changed files with 470 additions and 280 deletions.
1 change: 1 addition & 0 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -560,6 +560,7 @@ volumes:

---
kind: pipeline
type: docker
name: release

depends_on:
Expand Down
386 changes: 195 additions & 191 deletions README.md

Large diffs are not rendered by default.

45 changes: 45 additions & 0 deletions docs/COMPATIBILITY_MATRIX.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Compatibility Matrix

| Module Version / Kubernetes Version | 1.14.X | 1.15.X | 1.16.X | 1.17.X | 1.18.X | 1.19.X | 1.20.X | 1.21.X | 1.22.X | 1.23.X |
|-------------------------------------|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|-----------|
| v1.0.0 | | :white_check_mark: | | | | | | | | |
| v1.1.0 | :white_check_mark: | :white_check_mark: | :x: | | | | | | | |
| v1.2.0 | :white_check_mark: | :white_check_mark: | :x: | | | | | | | |
| v1.3.0 | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | | | |
| v1.4.0 | :warning: | :warning: | :white_check_mark: | | | | | | | |
| v1.4.1 | :warning: | :warning: | :white_check_mark: | | | | | | | |
| v1.5.0 | :warning: | :warning: | :white_check_mark: | | | | | | | |
| v1.6.0 | :warning: | :warning: | :white_check_mark: | | | | | | | |
| v1.6.1 | :warning: | :warning: | :white_check_mark: | | | | | | | |
| v1.7.0 | :warning: | :warning: | :white_check_mark: | | | | | | | |
| v1.7.1 | :warning: | :warning: | :white_check_mark: | | | | | | | |
| v1.8.0 | | | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | |
| v1.9.0 | | | :white_check_mark: | :white_check_mark: | :white_check_mark: | | | | | |
| v1.10.0 | | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :warning: | | | | |
| v1.10.1 | | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :warning: | | | | |
| v1.10.2 | | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :warning: | | | | |
| v1.11.0 | | | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :warning: | | | |
| v1.12.0 | | | | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :warning: | | |
| v1.12.1 | | | | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :warning: | | |
| v1.12.2 | | | | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :warning: | | |
| v1.13.0 | | | | | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :warning: | |
| v1.14.0 | | | | | | | :white_check_mark: | :white_check_mark: | :white_check_mark: | :warning: |

- :white_check_mark: Compatible
- :warning: Has issues
- :x: Incompatible

## Warning

- [kube-state-metrics](katalog/kube-state-metrics) is not able to scrape
`ValidatingWebhookConfiguration` in Kubernetes < 1.16.X.
- :warning: : module version: `v1.11.0` and Kubernetes Version: `1.20.x`. It works as expected. Marked as warning
because it is not officially supported by [SIGHUP](https://sighup.io).
- :warning: : module version: `v1.12.0` and Kubernetes Version: `1.21.x`. It works as expected. Marked as warning
because it is not officially supported by [SIGHUP](https://sighup.io).
- :warning: : module version: `v1.13.0` and Kubernetes Version: `1.22.x`. It works as expected. Marked as warning
because it is not officially supported by [SIGHUP](https://sighup.io).
- :warning: : module version: `v1.14.0` and Kubernetes Version: `1.23.x`. It works as expected. Marked as warning
because it is not officially supported by [SIGHUP](https://sighup.io).


80 changes: 80 additions & 0 deletions docs/releases/v1.14.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Monitoring Core Module Release 1.14.0

Welcome to the latest release of `monitoring` module of [`Kubernetes Fury
Distribution`](https://github.com/sighupio/fury-distribution) maintained by team
SIGHUP.

This latest release is an attempt on upgrading the components in the module to
its latest stable release along with adding the tech preview of the latest
kubernetes release `v1.23.0`.

## Component Images 🚢

| Component | Supported Version | Previous Version |
|-----------------------|----------------------------------------------------------------------------------------------|------------------|
| `prometheus-operator` | [`v0.53.1`](https://github.com/prometheus-operator/prometheus-operator/releases/tag/v0.53.1) | `v0.50.0` |
| `prometheus` | [`v2.32.1`](https://github.com/prometheus/prometheus/releases/tag/v2.32.1) | `v2.29.1` |
| `alertmanager` | [`v0.23.0`](https://github.com/prometheus/alertmanager/releases/tag/v0.23.0) | `v0.22.2` |
| `grafana` | [`v8.3.3`](https://github.com/grafana/grafana/releases/tag/v8.3.3) | `v8.1.2` |
| `goldpinger` | [`v3.3.0`](https://github.com/bloomberg/goldpinger/releases/tag/v3.3.0) | `v3.2.0` |
| `kube-rbac-proxy` | [`v0.11.0`](https://github.com/brancz/kube-rbac-proxy/releases/tag/v0.11.0) | `No update` |
| `kube-state-metrics` | [`v2.3.0`](https://github.com/kubernetes/kube-state-metrics/releases/tag/v2.3.0) | `v2.2.0` |
| `node-exporter` | [`v1.3.1`](https://github.com/prometheus/node_exporter/releases/tag/v1.3.1) | `1.2.2` |
| `metrics-server` | [`0.5.2`](https://github.com/kubernetes-sigs/metrics-server/releases/tag/v0.5.2) | `0.5.0` |
| `thanos` | [`v0.24.0`](https://github.com/thanos-io/thanos/releases/tag/v0.24.0) | `v0.22.0` |
| `x509-exporter` | [`v2.12.1`](https://github.com/enix/x509-certificate-exporter/releases/tag/v2.12.1) | `2.11.0` |

> Please refer the individual release notes to get a detailed info on the
> releases.
## Known Issues ⚠️

- This release involves recreation of certain resources like daemonset, deployments, etc. We recommend deleting it with `--cascade=orphan`, to avoid changes being made to the pods.
- We drop support of Kubernetes versions <= v1.19.x

## Breaking Changes 💔

- [#77](https://github.com/sighupio/fury-kubernetes-monitoring/pull/77) Added Kubernetes labels to all the components of the module: Since `labels` are immutable fields in deployments, daemonsets, etc., this change requires a recreation of those resources.
- component breaking changes:
- thanos: breaking ⚠️ Add --endpoint flag to the querier. The --store flag will eventually be replaced .

## Features 💥

- [#78](https://github.com/sighupio/fury-kubernetes-monitoring/pull/78) Sync module with the latest `kube-prometheus` updates
- [#77](https://github.com/sighupio/fury-kubernetes-monitoring/pull/77) Added Makefile, JSON builder and .bumpversion config to the module
- [#76](https://github.com/sighupio/fury-kubernetes-monitoring/pull/76) Upgrade the component images
- [#75](https://github.com/sighupio/fury-kubernetes-monitoring/pull/75) Added e2e-test support for k8s runtime `1.23`
- [#80](https://github.com/sighupio/fury-kubernetes-monitoring/pull/80) Updating the README structure for monitoring module

## Update Guide 🦮

### Warnings

- Since the release ships changes to some immutable fields, if `deployments` and `daemonsets`, are not deleted first before applying the module, it will error out, we advice deletion of those objects with the flag `cascade=orphan`

### Process

To upgrade this core module from `v1.13.x` to `v1.14.0`, you need to download this new version, then apply the `kustomize` project.

```bash
kubectl delete deployment.apps/prometheus-operator -n monitoring --cascade=orphan
kustomize build katalog/prometheus-operator | kubectl apply -f -
kubectl delete statefulset.apps/prometheus-k8s -n monitoring --cascade=orphan
kustomize build katalog/prometheus-operated | kubectl apply -f -
kubectl delete deployment.apps/grafana -n monitoring --cascade=orphan
kustomize build katalog/grafana | kubectl apply -f -
kubectl delete -n kube-system deployment.apps/metrics-server --cascade=orphan
kustomize build katalog/metrics-server | kubectl apply -f -
kubectl delete daemonset.apps/goldpinger -n monitoring --cascade=orphan
kustomize build katalog/goldpinger | kubectl apply -f-
kustomize build katalog/kubeadm-sm | kubectl apply -f-
kubectl delete deployment.apps/kube-proxy-metrics -n monitoring --cascade=orphan
kustomize build katalog/kube-proxy-metrics | kubectl apply -f-
kubectl delete daemonset.apps/kube-state-metrics -n monitoring --cascade=orphan
kustomize build katalog/kube-state-metrics | kubectl apply -f-
kubectl delete daemonset.apps/node-exporter -n monitoring --cascade=orphan
kustomize build katalog/node-exporter | kubectl apply -f-
kubectl delete statefulset.apps/alertmanager-main -n monitoring --cascade=orphan
kustomize build katalog/alertmanager-operated | kubectl apply -f-
```

4 changes: 4 additions & 0 deletions katalog/aks-sm/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# AKS ServiceMonitor

<!-- <KFD-DOCS> -->

This package provides monitoring for Kubernetes components `kubelet`, `coredns` and
`api-server` on AKS.

Expand All @@ -26,6 +28,8 @@ Fury distribution AKS ServiceMonitor has the following configuration:
- `pod-total`: Kubernetes / Networking / Pod
- `workload-total`: Kubernetes / Networking / Workload

<!-- </KFD-DOCS> -->

## License

For license details please see [LICENSE](../../LICENSE)
33 changes: 20 additions & 13 deletions katalog/alertmanager-operated/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Alertmanager Operated

<!-- <KFD-DOCS> -->

Alertmanager handles alerts sent by Prometheus server and routes them to
configured receiver integrations such as email, Slack, PageDuty, or OpsGenie. It
helps you to manage alerts flexibly with its grouping, inhibition
Expand All @@ -9,33 +11,30 @@ Fury Prometheus deployment (see [prometheus-operated](../prometheus-operated))
is already configured to automatically discover Alertmanager instances deployed
with this package.


## Image repository and tag

* Alertmanager image: `quay.io/prometheus/alertmanager:v0.22.2`
* Alertmanager repository: [https://github.com/prometheus/alertmanager](https://github.com/prometheus/alertmanager)
* Alertmanager documentation: [https://prometheus.io/docs/alerting/alertmanager](https://prometheus.io/docs/alerting/alertmanager)

* Alertmanager image: `registry.sighup.io/prometheus/alertmanager:v0.22.2`
* Alertmanager repository: [Alertmanager on Github][am-gh]
* Alertmanager documentation: [Alertmanager Homepage][am-doc]

## Requirements

- Kubernetes >= `1.20.0`
- Kustomize >= `v3`
- Kustomize >= `v3.3.X`
- [prometheus-operator](../prometheus-operator)


## Configuration

Fury distribution Alertmanager is deployed with the following configuration:

- Replica number: `3`
- Listens on port `9093`
- Alertmanager metrics are scraped by Prometheus every `30s`


## Deployment

Before deploying this, please take a look at how to configure the alertmanager [the
right way](../../examples/alertmanger-configuration).
right way][example-2].

You can deploy Alertmanager by running the following command in the root of the
project:
Expand All @@ -52,12 +51,20 @@ You can access to Alertmanager dashboard by port-forwarding on port 9093:
kubectl port-forward svc/alertmanager-main 9093:9093 --namespace monitoring
```

Now you can go to [http://127.0.0.1:9093](http://127.0.0.1:9093) on your browser to see and manage your
alerts.
Now you can go to [http://127.0.0.1:9093](http://127.0.0.1:9093) on your browser
to see and manage your alerts.

To learn how to add external URL to access Alertmanager please see the
[example][example].

Links

To learn how to add external URL to acess Alertmanager please see the
[example](../../examples/prometheus-alertmanager-externalUrl).
[am-gh]: https://github.com/prometheus/alertmanager
[am-doc]: https://prometheus.io/docs/alerting/alertmanager
[example]: https://github.com/sighupio/fury-kubernetes-monitoring/examples/prometheus-alertmanager-externalUrl
[example-2]: https://github.com/sighupio/fury-kubernetes-monitoring/examples/alertmanger-configuration

<!-- </KFD-DOCS> -->

## License

Expand Down
4 changes: 4 additions & 0 deletions katalog/eks-sm/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# EKS ServiceMonitor

<!-- <KFD-DOCS> -->

This package provides monitoring for Kubernetes components `kubelet` and
`api-server` on EKS.

Expand All @@ -26,6 +28,8 @@ Fury distribution EKS ServiceMonitor has following configuration:
- `pod-total`: Kubernetes / Networking / Pod
- `workload-total`: Kubernetes / Networking / Workload

<!-- </KFD-DOCS> -->

## License

For license details please see [LICENSE](../../LICENSE)
6 changes: 5 additions & 1 deletion katalog/gke-sm/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# GKE ServiceMonitor

<!-- <KFD-DOCS> -->

This package provides monitoring for Kubernetes components `kubelet` and
`api-server` on GKE.
`api-server` on GKE, the managed cluster solution by GCP.

## Requirements

Expand All @@ -24,6 +26,8 @@ Fury distribution GKE ServiceMonitor has following configuration:
- `pod-total`: Kubernetes / Networking / Pod
- `workload-total`: Kubernetes / Networking / Workload

<!-- </KFD-DOCS> -->

## License

For license details please see [LICENSE](../../LICENSE)
19 changes: 13 additions & 6 deletions katalog/grafana/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Grafana

<!-- <KFD-DOCS> -->

Grafana is an open-source data visualization and graph composer platform for
numeric time-series data with Prometheus integration.

Expand All @@ -15,7 +17,7 @@ numeric time-series data with Prometheus integration.
## Requirements

- Kubernetes >= `1.20.0`
- Kustomize = `v3.5.3`
- Kustomize = `v3.3.x`

## Configuration

Expand All @@ -30,10 +32,12 @@ Fury distribution Grafana is deployed with the following configuration:

## Add new dashboards

You can create a Configmap in your project with a JSON of a grafana dashboard and then labeling it with the label
key = "grafana-sighup-dashboard", the value of the label is up to you (for mental healthiness should be better than
the value respects some sort of reference with the project to with the dashboard is related). Labeling it, the sidecar
k8s-sidecar will take care of it and inject it into a shared volume where grafana does a lookup and discover it.
You can create a Configmap in your project with a JSON of a grafana dashboard
and then labeling it with the label key `grafana-sighup-dashboard`, the value
of the label is up to you (for mental healthiness should be better than the
value respects some sort of reference with the project to with the dashboard is
related). Labeling it, the sidecar k8s-sidecar will take care of it and inject
it into a shared volume where grafana does a lookup and discover it.
Look at the [dashboards](dashboards) folder kustomization.yml for an example.

## Deployment
Expand All @@ -52,13 +56,16 @@ You can access Grafana Dashboard by port-forwarding on port `3000`:
kubectl port-forward svc/grafana 3000:3000 --namespace monitoring
```

Grafana will be available on [http://127.0.0.1:3000](http://127.0.0.1:3000) from your browser.
Grafana will be available on [http://127.0.0.1:3000](http://127.0.0.1:3000) from
your browser.

### Adding/Removing Dashboards

To learn how to add or remove dashboards to Grafana please see the
[examples](../../examples) folder.

<!-- </KFD-DOCS> -->

## License

For license details please see [LICENSE](../../LICENSE)
21 changes: 14 additions & 7 deletions katalog/kube-proxy-metrics/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
# kube-proxy exporter

It is highly recommended gathering metrics from kube-proxy as it is a critical piece of any Kubernetes Cluster.
Sometimes (especially in managed clusters) it is not possible to configure kube-proxy to expose metrics, this is why
this package exists. Another reason to run this exporter instead of just exposing metrics from kube-proxy is the
ability to run it independently of the environment, on-premise installed by kubeadm or a managed Kubernetes Cluster.
<!-- <KFD-DOCS> -->

It is highly recommended gathering metrics from kube-proxy as it is a critical
piece of any Kubernetes Cluster. Sometimes (especially in managed clusters) it
is not possible to configure kube-proxy to expose metrics, this is why this
package exists. Another reason to run this exporter instead of just exposing
metrics from kube-proxy is the ability to run it independently of the
environment, on-premise installed by kubeadm or a managed Kubernetes Cluster.

## Requirements

Expand All @@ -15,9 +18,8 @@ ability to run it independently of the environment, on-premise installed by kube

## Image repository and tag

- kube-rbac-proxy image: `quay.io/brancz/kube-rbac-proxy:v0.11.0`
- kube-rbac-proxy repository:
[https://quay.io/repository/brancz/kube-rbac-proxy](https://quay.io/repository/brancz/kube-rbac-proxy)
- kube-rbac-proxy image: `registry.sighup.io/fury/brancz/kube-rbac-proxy:v0.11.0`
- kube-rbac-proxy repository: [kube-rbac-proxy on Github][krp-gh]


## Configuration
Expand All @@ -40,6 +42,11 @@ the project:
kustomize build | kubectl apply -f -
```

<!-- Links -->

[krp-gh]: https://quay.io/repository/brancz/kube-rbac-proxy

<!-- </KFD-DOCS> -->

## License

Expand Down
Loading

0 comments on commit 9889ec8

Please sign in to comment.