Update K8s info in InfluxDB enterprise (#3151)
Co-authored-by: Kelly <kelly@influxdata.com> Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>pull/5147/head^2
parent
5964a46d6e
commit
be793c7758
|
@ -7,23 +7,19 @@ menu:
|
||||||
parent: integrate-platform
|
parent: integrate-platform
|
||||||
---
|
---
|
||||||
|
|
||||||
[Kubernetes](https://kubernetes.io/) is a container orchestration project that
|
[Kubernetes](https://kubernetes.io/) is a popular way to deploy and manage containers across multiple servers and cloud providers.
|
||||||
has become a popular way to deploy and manage containers across multiple servers and cloud providers.
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
{{% note %}}
|
{{% note %}}
|
||||||
This page is about using Kubernetes with the TICK stack and 1.x versions of InfluxDB.
|
This page is about using Kubernetes with the TICK stack and 1.x versions of InfluxDB.
|
||||||
|
To install InfluxDB 2.x and Kubernetes, see the **Kubernetes** tab in [Install InfluxDB v2](/influxdb/v2/install/?t=Kubernetes).
|
||||||
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/).
|
|
||||||
{{% /note %}}
|
{{% /note %}}
|
||||||
|
|
||||||
There are several ways use the InfluxData Platform with Kubernetes:
|
Use InfluxData platform and Kubernetes to do the following:
|
||||||
|
|
||||||
- [Monitor Kubernetes](#monitor-kubernetes)
|
- [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)
|
- [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)
|
- [Deploy the TICK stack in Kubernetes](#deploy-the-tick-stack-in-kubernetes)
|
||||||
- [Helm Charts](#helm-charts)
|
- [Helm Charts](#helm-charts)
|
||||||
- [K8s Operator](#k8s-operator)
|
- [K8s Operator](#k8s-operator)
|
||||||
|
@ -34,9 +30,13 @@ There are several ways use the InfluxData Platform with Kubernetes:
|
||||||
|
|
||||||
## Monitor 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
|
The [kube-influxdb](https://github.com/influxdata/kube-influxdb) project is a
|
||||||
set of Helm charts to make collection and visualization of Kubernetes metrics
|
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
|
### Collect Kubernetes metrics with Telegraf
|
||||||
|
|
||||||
The [Telegraf metrics collection agent](/telegraf/v1/introduction/getting-started/)
|
Use [Telegraf](/telegraf/v1/get-started/) to collect metrics in a Kubernetes cluster, including
|
||||||
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)
|
[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).
|
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)
|
Telegraf is used in the [kube-influxdb project](#kube-influxdb-kubernetes-monitoring-project)
|
||||||
to collect metrics.
|
to collect metrics.
|
||||||
|
|
||||||
See [Set up a Kubernetes monitoring architecture using Telegraf](https://www.influxdata.com/blog/monitoring-kubernetes-architecture/).
|
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
|
Use the Prometheus remote read and write API for clusters already using Prometheus for metrics collection.
|
||||||
using Prometheus for metrics collection. See the
|
For more information, see [Prometheus remote read and write API support in InfluxDB](/influxdb/v1/supported_protocols/prometheus/).
|
||||||
[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/).
|
|
||||||
|
|
||||||
## Deploy the TICK stack in Kubernetes
|
## 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 %}}
|
To install and configure the open source TICK stack--Telegraf, InfluxDB, Chronograf, and Kapacitor--in Kubernetes, do one of the following:
|
||||||
Running InfluxDB in Kubernetes in production is not recommended. See the [FAQ](#frequently-asked-questions) for more info.
|
|
||||||
{{% /note %}}
|
|
||||||
|
|
||||||
### 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.
|
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 %}}
|
### Use K8s operator
|
||||||
Helm charts are currently in beta and subject to change.
|
|
||||||
{{% /note %}}
|
|
||||||
|
|
||||||
### K8s Operator
|
|
||||||
|
|
||||||
The [InfluxData operator](https://github.com/influxdata/influxdata-operator) is
|
The [InfluxData operator](https://github.com/influxdata/influxdata-operator) is
|
||||||
a [Kubernetes operator](https://coreos.com/operators/). The InfluxData operator
|
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/).
|
||||||
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/).
|
|
||||||
|
|
||||||
[Deploy InfluxDB using the InfluxData
|
[Deploy InfluxDB using the InfluxData
|
||||||
operator](https://github.com/influxdata/influxdata-operator)
|
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.
|
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
|
## 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
|
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.
|
||||||
flexible and can handle more use cases than Prometheus alone, such as irregular
|
|
||||||
events and string data types.
|
|
||||||
|
|
||||||
Many InfluxDB users find it provides several advantages over Prometheus:
|
### How should I run InfluxDB in Kubernetes?
|
||||||
- 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.
|
|
||||||
|
|
||||||
### Should I run InfluxDB in Kubernetes?
|
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).
|
||||||
|
|
||||||
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 %}}
|
|
||||||
|
|
Loading…
Reference in New Issue