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
kelseiv 2023-10-18 15:35:53 -07:00 committed by GitHub
parent 5964a46d6e
commit be793c7758
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 30 additions and 67 deletions

View File

@ -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).