rpi.carlosedp.cluster-monit.../Readme.md

100 lines
4.3 KiB
Markdown
Raw Normal View History

2018-03-02 01:03:53 +01:00
# Prometheus Operator for ARM platform
The Prometheus Operator for Kubernetes provides easy monitoring definitions for Kubernetes services and deployment and management of Prometheus instances.
This project aims on porting the [official manifests](https://github.com/coreos/prometheus-operator/tree/master/contrib/kube-prometheus) and images to the ARM platform. This have been tested on a ARM64 Kubernetes cluster deployed as [this article](medium.com/@carlosedp/building-an-arm-kubernetes-cluster-ef31032636f9).
## Changes to Kubeadm for Prometheus Operator
According to the official deployment documentation [here](https://github.com/coreos/prometheus-operator/blob/master/contrib/kube-prometheus/docs/kube-prometheus-on-kubeadm.md), a couple of changes on the cluster are required:
We need to expose the cadvisor that is installed and managed by the kubelet daemon and allow webhook token authentication. To do so, we do the following on **all the masters and nodes**:
2018-05-29 19:33:05 +02:00
```bash
# Enable cadvisor port
sudo sed -e "/cadvisor-port=0/d" -i /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
# Enable Webhook authorization
sudo perl -pi -e "s/(?:--authentication-token-webhook=true )*--authorization-mode=Webhook/--authentication-token-webhook=true --authorization-mode=Webhook/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
sudo systemctl daemon-reload
sudo systemctl restart kubelet
```
2018-03-02 01:03:53 +01:00
In case you already have a Kubernetes deployed with kubeadm, change the address kube-controller-manager and kube-scheduler listens **on master node** in addition to previous kubelet change:
2018-05-29 19:33:05 +02:00
```bash
# Make kube-controller ad kube-scheduler listen on all addresses
sudo sed -e "s/- --address=127.0.0.1/- --address=0.0.0.0/" -i /etc/kubernetes/manifests/kube-controller-manager.yaml
sudo sed -e "s/- --address=127.0.0.1/- --address=0.0.0.0/" -i /etc/kubernetes/manifests/kube-scheduler.yaml
```
## Images
This project depends on the following images:
**Alertmanager**
**Blackbox_exporter**
**Node_exporter**
**Snmp_exporter**
**Prometheus**
* Source: https://github.com/carlosedp/prometheus-ARM
* Autobuild: https://travis-ci.org/carlosedp/prometheus-ARM
* Images:
* https://hub.docker.com/r/carlosedp/prometheus/
* https://hub.docker.com/r/carlosedp/alertmanager/
* https://hub.docker.com/r/carlosedp/blackbox_exporter/
* https://hub.docker.com/r/carlosedp/node_exporter/
* https://hub.docker.com/r/carlosedp/snmp_exporter/
**ARM_exporter**
* Source: https://github.com/carlosedp/docker-arm_exporter
* Autobuild: https://travis-ci.org/carlosedp/docker-arm_exporter
* Images: https://hub.docker.com/r/carlosedp/arm_exporter/
**Prometheus-operator**
* Source: https://github.com/carlosedp/prometheus-operator
2018-06-11 17:31:49 +02:00
* Autobuild: No autobuild yet. Use provided `build_images.sh` script.
2018-05-29 19:33:05 +02:00
* Images: https://hub.docker.com/r/carlosedp/prometheus-operator
**Grafana**
* Source: https://github.com/carlosedp/grafana-ARM
* Autobuild: https://travis-ci.org/carlosedp/grafana-ARM
* Images: https://hub.docker.com/r/carlosedp/monitoring-grafana/
**Kube-state-metrics**
* Source: https://github.com/kubernetes/kube-state-metrics
2018-06-11 17:31:49 +02:00
* Autobuild: No autobuild yet. Use provided `build_images.sh` script.
2018-05-29 19:33:05 +02:00
* Images: https://hub.docker.com/r/carlosedp/kube-state-metrics
**Addon-resizer**
* Source:
2018-06-11 17:31:49 +02:00
* Autobuild: No autobuild yet. Use provided `build_images.sh` script.
2018-05-29 19:33:05 +02:00
* Images: https://hub.docker.com/r/carlosedp/addon-resizer
*Obs.* This image is a clone of [ARM64](https://console.cloud.google.com/gcr/images/google-containers/GLOBAL/addon-resizer-arm64) and [ARM](https://console.cloud.google.com/gcr/images/google-containers/GLOBAL/addon-resizer-arm64) with a manifest. It's cloned and generated by the `build_images.sh` script
**configmap_reload**
* Source: https://github.com/carlosedp/configmap-reload
* Autobuild: https://travis-ci.org/carlosedp/configmap-reload
* Images: https://hub.docker.com/r/carlosedp/configmap-reload
2018-03-02 01:03:53 +01:00
2018-06-11 17:31:49 +02:00
**prometheus-config-reloader**
* Source: https://github.com/coreos/prometheus-operator/tree/master/contrib/prometheus-config-reloader
* Autobuild: No autobuild yet. Use provided `build_images.sh` script.
* Images: https://hub.docker.com/r/carlosedp/prometheus-config-reloader
2018-05-29 19:33:05 +02:00
**SMTP-server**
2018-03-02 01:03:53 +01:00
2018-05-29 19:33:05 +02:00
Source: https://github.com/carlosedp/docker-smtp
Autobuild: https://travis-ci.org/carlosedp/docker-smtp
Images: https://hub.docker.com/r/carlosedp/docker-smtp