diff --git a/content/platform/integrations/kubernetes.md b/content/platform/integrations/kubernetes.md index 31bf74091..34554f808 100644 --- a/content/platform/integrations/kubernetes.md +++ b/content/platform/integrations/kubernetes.md @@ -7,23 +7,19 @@ menu: parent: integrate-platform --- -[Kubernetes](https://kubernetes.io/) is a container orchestration project that -has become a popular way to deploy and manage containers across multiple servers and cloud providers. - -![InfluxDB Kubernetes Logos](/img/platform/flux-kube.png) +[Kubernetes](https://kubernetes.io/) is a popular way to deploy and manage containers across multiple servers and cloud providers. {{% note %}} This page is about using Kubernetes with the TICK stack and 1.x versions of InfluxDB. - -To start experimenting with InfluxDB 2.0 and Kubernetes, go to the **Kubernetes** section of the [Get Started page for InfluxDB 2.0](/influxdb/v2/get-started/). +To install InfluxDB 2.x and Kubernetes, see the **Kubernetes** tab in [Install InfluxDB v2](/influxdb/v2/install/?t=Kubernetes). {{% /note %}} -There are several ways use the InfluxData Platform with Kubernetes: +Use InfluxData platform and Kubernetes to do the following: - [Monitor Kubernetes](#monitor-kubernetes) - - [kube-influxdb Kubernetes monitoring project](#kube-influxdb-kubernetes-monitoring-project) + - [Use the kube-influxdb project](#use-the-kube--influxdb-project) - [Collect Kubernetes metrics with Telegraf](#collect-kubernetes-metrics-with-telegraf) - - [Prometheus remote read and write support](#prometheus-remote-read-and-write-support) + - [Use the Prometheus remote read and write API](#use-the-prometheus-remote-read-and-write-api) - [Deploy the TICK stack in Kubernetes](#deploy-the-tick-stack-in-kubernetes) - [Helm Charts](#helm-charts) - [K8s Operator](#k8s-operator) @@ -34,9 +30,13 @@ There are several ways use the InfluxData Platform with Kubernetes: ## Monitor Kubernetes -The TICK stack is an easy and performant way to monitor the services that make up a Kubernetes cluster, whether or not you're running InfluxDB in a Kubernetes cluster or somewhere else. +Use the TICK stack to monitor services that make up a Kubernetes cluster, whether you're running InfluxDB in a Kubernetes cluster or somewhere else. Do the following to monitor Kubernetes: -### kube-influxdb Kubernetes monitoring project +- Use the [kube-influxdb project](#kube--influxdb-project) +- [Collect Kubernetes metrics with Telegraf](#collect-kubernetes-metrics-with-telegraf) +- [### Use the Prometheus remote read and write API](#use-the-prometheus-remote-read-and-write-api) + +### Use the kube-influxdb project The [kube-influxdb](https://github.com/influxdata/kube-influxdb) project is a set of Helm charts to make collection and visualization of Kubernetes metrics @@ -47,52 +47,41 @@ See the [kube-influxdb Getting Started guide](https://github.com/influxdata/kube ### Collect Kubernetes metrics with Telegraf -The [Telegraf metrics collection agent](/telegraf/v1/introduction/getting-started/) -can collect many types of metrics in a Kubernetes cluster, like [Docker container metrics](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/docker/README.md) +Use [Telegraf](/telegraf/v1/get-started/) to collect metrics in a Kubernetes cluster, including +[Docker container metrics](https://github.com/influxdata/telegraf/blob/master/plugins/inputs/docker/README.md) and [stats from kubelets](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/kubernetes). -It can even scrape [Prometheus metrics API endpoints](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/prometheus). +Or use Telegraf to scrape [Prometheus metrics API endpoints](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/prometheus). Telegraf is used in the [kube-influxdb project](#kube-influxdb-kubernetes-monitoring-project) to collect metrics. See [Set up a Kubernetes monitoring architecture using Telegraf](https://www.influxdata.com/blog/monitoring-kubernetes-architecture/). -### Prometheus remote read and write support +### Use the Prometheus remote read and write API -InfluxDB supports the Prometheus remote read and write API for clusters already -using Prometheus for metrics collection. See the -[FAQ](#frequently-asked-questions) for more information on why a more flexible -time series data store is useful. - -Read about [Prometheus remote read and write API support in InfluxDB](/influxdb/v1/supported_protocols/prometheus/). +Use the Prometheus remote read and write API for clusters already using Prometheus for metrics collection. +For more information, see [Prometheus remote read and write API support in InfluxDB](/influxdb/v1/supported_protocols/prometheus/). ## Deploy the TICK stack in Kubernetes -Instructions for installing and configuring all components of the open source -TICK stack – Telegraf, InfluxDB, Chronograf, and Kapacitor in Kubernetes. -{{% note %}} -Running InfluxDB in Kubernetes in production is not recommended. See the [FAQ](#frequently-asked-questions) for more info. -{{% /note %}} +To install and configure the open source TICK stack--Telegraf, InfluxDB, Chronograf, and Kapacitor--in Kubernetes, do one of the following: -### Helm Charts +- [Use Helm charts](#use-helm-charts) +- [Use K8s operator](#use-k8s-operator) +- [Use solutions for Kubernetes services](#use-solutions-for-kubernetes-services) + +### Use Helm charts InfluxData maintains [Helm charts](https://github.com/influxdata/helm-charts) for setting up data collection and monitoring in Kubernetes using InfluxDB and related applications. -{{% note %}} -Helm charts are currently in beta and subject to change. -{{% /note %}} - -### K8s Operator +### Use K8s operator The [InfluxData operator](https://github.com/influxdata/influxdata-operator) is -a [Kubernetes operator](https://coreos.com/operators/). The InfluxData operator -can be used to deploy InfluxDB in Kubernetes and can handle operational tasks -automatically, like creating a backup. The operator currently has been tested on -[AWS's Elastic Kubernetes Service](https://aws.amazon.com/eks/) and [GCP's Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine/). +a [Kubernetes operator](https://coreos.com/operators/). Use the InfluxData operator to deploy InfluxDB in Kubernetes and handle operational tasks automatically, like creating a backup. The operator has been tested on [AWS's Elastic Kubernetes Service](https://aws.amazon.com/eks/) and [GCP's Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine/). [Deploy InfluxDB using the InfluxData operator](https://github.com/influxdata/influxdata-operator) -### Solutions for Kubernetes services +### Use solutions for Kubernetes services InfluxData maintains ways to deploy the InfluxData Platform components to popular Kubernetes service providers. @@ -101,36 +90,10 @@ InfluxData maintains ways to deploy the InfluxData Platform components to popula ## Frequently asked questions -### How is the InfluxData Platform (TICK) different from Prometheus? +### How is the InfluxData platform (TICK) different from Prometheus? -InfluxDB was purpose-built as a time series database. Overall, it is more -flexible and can handle more use cases than Prometheus alone, such as irregular -events and string data types. +InfluxDB is specifically built to handle time series data. InfluxDB handles string data types and event data that occurs in irregular intervals, including structured logs, application events, and tracing data. -Many InfluxDB users find it provides several advantages over Prometheus: -- Handles event data that comes in at irregular intervals, e.g. structured logs, - application events, and trace data. -- Works well as a centralized long-term metrics store for federated Prometheus - servers in multiple clusters. +### How should I run InfluxDB in Kubernetes? -### Should I run InfluxDB in Kubernetes? - -While Kubernetes is rapidly becoming a stable deployment platform for stateful -applications, it still introduces significant complexity and few benefits for -database workloads. - -Therefore, we _do not_ currently recommend running InfluxDB or InfluxDB -Enterprise on Kubernetes in production. While many users have managed to run the -databases in Kubernetes successfully, many InfluxDB users have also experienced -issues including significant downtime and even loss of data due to Kubernetes -rescheduling pods or problems with mounted volumes. - -InfluxData provides several [ways to deploy InfluxDB in Kubernetes](/platform/install-and-deploy/deploying/kubernetes/), -which should be considered experimental and not for use in production. We -suggest exploring the [Terraform InfluxDB module](https://registry.terraform.io/modules/influxdata/influxdb/aws/1.0.4) -for a declarative way to deploy InfluxDB for production use. - -{{% note %}} -The other InfluxData Platform components (Telegraf, Chronograf, Kapacitor) run well on Kubernetes. -The above recommendation only applies to the database. -{{% /note %}} +InfluxData provides several [ways to deploy InfluxDB in Kubernetes](/platform/install-and-deploy/deploying/kubernetes/). For a declarative way to deploy InfluxDB, we recommend exploring the [Terraform InfluxDB module](https://registry.terraform.io/modules/influxdata/influxdb/aws/1.0.4).