Cluster monitoring stack for clusters based on Prometheus Operator
Go to file
2019-02-05 11:58:22 -02:00
grafana-dashboards Update Grafana dashboard 2019-02-05 11:58:22 -02:00
manifests Add CoreDNS dashboard 2019-02-04 20:54:28 -02:00
manifests-old New prometheus-operator structure using jsonnet build 2018-12-12 15:18:00 -02:00
.gitignore Added anti-affinity to Prometheus and alertmanager 2019-02-04 18:07:37 -02:00
arm_exporter.jsonnet Fix arm_exporter 2019-02-04 17:23:24 -02:00
build_images.sh Fix image building script 2019-02-04 17:22:30 -02:00
build.sh New prometheus-operator structure using jsonnet build 2018-12-12 15:18:00 -02:00
create_gmail_auth.sh Add SMTP relay for Gmail 2019-02-04 17:24:49 -02:00
generate_ingress_auth.sh Added new config to the config generator. Import Grafana dashboards 2019-02-04 18:02:26 -02:00
image_sources_versions.jsonnet Update libs 2019-02-04 17:23:51 -02:00
jsonnetfile.json New prometheus-operator structure using jsonnet build 2018-12-12 15:18:00 -02:00
jsonnetfile.lock.json Update libs 2019-02-04 17:23:51 -02:00
main.jsonnet Import all jsonnet files 2019-02-04 18:02:42 -02:00
Makefile New prometheus-operator structure using jsonnet build 2018-12-12 15:18:00 -02:00
metallb.jsonnet Added MetalLB ServiceMonitor 2019-02-04 18:01:11 -02:00
operator_stack.jsonnet Add CoreDNS dashboard 2019-02-04 20:54:28 -02:00
Readme.md
smtp_server.jsonnet Add SMTP relay for Gmail 2019-02-04 17:24:49 -02:00
traefik.jsonnet Fix Traefik monitor 2019-02-04 17:25:28 -02: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 and images to the ARM platform. This have been tested on a ARM64 Kubernetes cluster deployed as this article.

Changes to Kubeadm for Prometheus Operator

According to the official deployment documentation here, 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:

# 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

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:

# 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

ARM_exporter

Prometheus-operator

Grafana

Kube-state-metrics

Addon-resizer

Obs. This image is a clone of ARM64 and ARM with a manifest. It's cloned and generated by the build_images.sh script

configmap_reload

prometheus-config-reloader

SMTP-server

Source: https://github.com/carlosedp/docker-smtp Autobuild: https://travis-ci.org/carlosedp/docker-smtp Images: https://hub.docker.com/r/carlosedp/docker-smtp