Deploy

Deploy your monitoring stack

Fury Kubernetes modules are deployed by calling on three complementary tools.

First the furyctl command line tool, developed by SIGHUP, downloads the requested packages.

Packages are then customized with kustomize. (it lets you create customized Kubernetes resources based on other Kubernetes resource files, leaving the original YAML untouched) and then installed with the standard kubeclt apply command.

The kubeclt is the standard Kubernetes CLI, which can be used on any Fury cluster, as Fury is fully compliant with upstream Kubernetes.

Requirements

To deploy the Fury Kubernetes Monitoring module, you need the following

Compatibility

Module Version / Kubernetes Version 1.14.X 1.15.X 1.16.X 1.15.X 1.16.X
v1.0.0
v1.1.0
v1.2.0
v1.3.0
v1.4.0
v1.4.1
v1.5.0
v1.6.0
v1.6.1
v1.7.0
v1.7.1
v1.8.0
v1.9.0
  • Compatible
  • Has issues
  • Incompatible

Warning

  • kube-state-metrics is not able to scrape ValidatingWebhookConfiguration in Kubernetes < 1.16.X.

To mitigate the error in Kubernetes versions prior 1.16.x, specify the --collectors option as argument excluding ValidatingWebhookConfiguration from the list.

Deployment

To start using Fury Kubernetes Monitoring, you need to use the furyctl command line tool and create a Furyfile.yml with the list of all the packages you want to download.

You can download the packages for a full monitoring stack including Prometheus Operator, Prometheus, Alertmanager, node-exporter, kube-state-metrics and Grafana using the following Furyfile.yml :

bases:
  - name: monitoring/prometheus-operator
    version: "v1.8.0"
  - name: monitoring/prometheus-operated
    version: "v1.8.0"
  - name: monitoring/alertmanager-operated
    version: "v1.8.0"
  - name: monitoring/node-exporter
    version: "v1.8.0"
  - name: monitoring/kube-state-metrics
    version: "v1.8.0"
  - name: monitoring/grafana
    version: "v1.8.0"
  - name: monitoring/goldpinger
    version: "v1.8.0"

and execute

$ furyctl vendor

to download the packages under ./vendor/katalog/monitoring.

See furyctl documentation for details about the Furyfile.yml format.

To deploy the packages to your cluster, define a kustomization.yaml with the following content:

bases:
- ./vendor/katalog/monitoring/prometheus-operator

and execute

$ kustomize build . | kubectl apply -f -

to deploy Prometheus Operator and create the Custom Resource Definitions needed by the other packages.

Now you can add the other packages to kustomization.yaml, the final file will have the following content:

bases:
- ./vendor/katalog/monitoring/prometheus-operator
- ./vendor/katalog/monitoring/prometheus-operated
- ./vendor/katalog/monitoring/alertmanager-operated
- ./vendor/katalog/monitoring/node-exporter
- ./vendor/katalog/monitoring/kube-state-metrics
- ./vendor/katalog/monitoring/grafana
- ./vendor/katalog/monitoring/goldpinger

See kustomize documentation for details about kustomization.yaml format.

To deploy all the packages to your cluster, execute the following command:

$ kustomize build . | kubectl apply -f -

Available packages

Common packages:

For on-premises clusters and AWS or unmanaged cloud clusters, please use:

For Google Kubernetes Engine (GKE) clusters, please use:

For Azure Kubernetes Service (AKS) clusters, please use:

You can click on each package to see its documentation. For further details please refer to the single package directories in our repository.


Last modified 06.07.2020: Add v1.9.0 monitoring version (882a501)