-
Notifications
You must be signed in to change notification settings - Fork 466
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Sync helm-chart with upstream. (#560)
Signed-off-by: Josh Baird <[email protected]>
- Loading branch information
1 parent
5b3161a
commit 149d575
Showing
9 changed files
with
118 additions
and
131 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,76 +1,35 @@ | ||
# Fluent Operator Helm Chart | ||
# Fluent Operator Helm chart | ||
|
||
[Fluent Operator](https://github.com/fluent/fluent-operator) provides great flexibility in building a logging layer based on Fluent Bit and Fluentd. | ||
[Fluent Operator](https://github.com/fluent/fluent-operator/) provides a Kubernetes-native logging pipeline based on Fluent-Bit and Fluentd. | ||
|
||
## Deploy Fluent Operator with Helm | ||
## Installation | ||
|
||
> Note: For the helm based install, Helm v3.2.1 or higher is needed. | ||
The Fluent Bit section of the Fluent Operator supports different CRI `docker`, `containerd`, and `CRI-O`. | ||
`containerd` and `CRI-O` use the `CRI Log` format which is different with `docker`, they requires additional parser to parse JSON application logs. You should set different `containerRuntime` depending on your container runtime. | ||
|
||
The default runtime is docker, you can choose other runtimes as follows. | ||
|
||
If your container runtime is `containerd` or `cri-o`, you can set the `containerRuntime` parameter to `containerd` or `crio`. e.g. | ||
To install or upgrade Fluent Operator using Helm: | ||
|
||
```shell | ||
helm install fluent-operator --create-namespace -n fluent charts/fluent-operator/ --set containerRuntime=containerd | ||
``` | ||
export FLUENT_OPERATOR_CONTAINER_RUNTIME="containerd" # or "cri-o", "docker" depending on the container runtime being used (see `values.yaml`) | ||
|
||
Install through the online chart link: | ||
|
||
```shell | ||
helm install fluent-operator --create-namespace -n fluent https://github.com/fluent/fluent-operator/releases/download/< version >/fluent-operator.tgz | ||
helm repo add fluent https://fluent.github.io/helm-charts | ||
helm upgrade --install fluent-operator fluent/fluent-operator \ | ||
--create-namespace \ | ||
--set containerRuntime=${FLUENT_OPERATOR_CONTAINER_RUNTIME} | ||
``` | ||
|
||
> Please replace < version > with a actual version like v1.0.0 | ||
By default, all CRDs required for Fluent Operator will be installed. To prevent `helm install` from installing CRDs, you can set `fluent-bit.crdsEnable` or `fluentd.crdsEnable` to `false`. | ||
|
||
Fluent Operator CRDs will be installed by default when running a helm install for the chart. But if the CRD already exists, it will be skipped with a warning. So make sure you install the CRDs by yourself if you upgrade your Fluent Operator version. | ||
## Upgrading | ||
|
||
> Note: During the upgrade process, if a CRD was previously created using the create operation, an error will occur during the apply operation. Using apply here allows the CRD to be replaced and created in its entirety in a single operation. | ||
Helm [does not manage the lifecycle of CRDs](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/), so if the Fluent Operator CRDs already exist, subsequent | ||
chart upgrades will not add or remove CRDs even if they have changed. During upgrades, users should manually update CRDs: | ||
|
||
To replace the CRDs pull the current helm chart: | ||
``` | ||
wget https://github.com/fluent/fluent-operator/releases/download/<version>/fluent-operator.tgz | ||
tar -xf fluent-operator.tgz | ||
``` | ||
|
||
To update the CRDs, run the following command: | ||
|
||
```shell | ||
kubectl replace -f fluent-operator/crds | ||
``` | ||
|
||
## Fluent Operator Walkthrough | ||
|
||
For more info on various use cases of Fluent Operator, you can refer to [Fluent-Operator-Walkthrough](https://github.com/kubesphere-sigs/fluent-operator-walkthrough). | ||
|
||
## Collect Kubernetes logs | ||
This guide provisions a logging pipeline including the Fluent Bit DaemonSet and its log input/filter/output configurations to collect Kubernetes logs including container logs and kubelet logs. | ||
|
||
![logging stack](https://raw.githubusercontent.com/fluent/fluent-operator/master/docs/images/logging-stack.svg) | ||
|
||
> Note that you need a running Elasticsearch v5+ cluster to receive log data before start. **Remember to adjust [output-elasticsearch.yaml](https://github.com/fluent/fluent-operator/blob/master/manifests/logging-stack/output-elasticsearch.yaml) to your own es setup**. Kafka and Fluentd outputs are optional and are turned off by default. | ||
#### Deploy the Kubernetes logging pipeline with Helm | ||
|
||
You can also deploy the Kubernetes logging pipeline with Helm, just need to set the `Kubernetes` parameter to `true`(default): | ||
|
||
```shell | ||
helm upgrade fluent-operator --create-namespace -n fluent charts/fluent-operator/ --set containerRuntime=docker | ||
``` | ||
|
||
If you want to deploy `fluentd`, just need to set the `fluentd.enable` parameter to `true`.: | ||
## Chart Values | ||
|
||
```shell | ||
helm upgrade fluent-operator --create-namespace -n fluent charts/fluent-operator/ --set containerRuntime=docker,fluentd.enable=true | ||
``` | ||
|
||
Within a couple of minutes, you should observe an index available: | ||
|
||
```shell | ||
$ curl localhost:9200/_cat/indices | ||
green open ks-logstash-log-2020.04.26 uwQuoO90TwyigqYRW7MDYQ 1 1 99937 0 31.2mb 31.2mb | ||
``` | ||
|
||
Success! | ||
helm show values fluent/fluent-operator | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,23 @@ | ||
apiVersion: v2 | ||
name: fluent-bit-crds | ||
description: A Helm chart delivering fluent-bit controller CRDS | ||
keywords: | ||
- logging | ||
- fluent-bit | ||
- operator | ||
description: A Helm chart delivering fluenbt-bit controller CRDS | ||
# A chart can be either an 'application' or a 'library' chart. | ||
# | ||
# Application charts are a collection of templates that can be packaged into versioned archives | ||
# to be deployed. | ||
# | ||
# Library charts provide useful utilities or functions for the chart developer. They're included as | ||
# a dependency of application charts to inject those utilities and functions into the rendering | ||
# pipeline. Library charts do not define any templates and therefore cannot be deployed. | ||
#type: application | ||
|
||
# This is the chart version. This version number should be incremented each time you make changes | ||
# to the chart and its templates, including the app version. | ||
# Versions are expected to follow Semantic Versioning (https://semver.org/) | ||
version: 3.2.0 | ||
appVersion: "3.2.0" | ||
sources: | ||
- https://github.com/fluent/fluent-operator | ||
maintainers: | ||
- name: wenchajun | ||
email: [email protected] | ||
|
||
# This is the version number of the application being deployed. This version number should be | ||
# incremented each time you make changes to the application. Versions are not expected to | ||
# follow Semantic Versioning. They should reflect the version the application is using. | ||
# It is recommended to use it with quotes. | ||
appVersion: "3.1.0" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,23 @@ | ||
apiVersion: v2 | ||
name: fluentd-crds | ||
description: A Helm chart delivering fluentd controller CRDS | ||
keywords: | ||
- logging | ||
- fluentd | ||
- operator | ||
# A chart can be either an 'application' or a 'library' chart. | ||
# | ||
# Application charts are a collection of templates that can be packaged into versioned archives | ||
# to be deployed. | ||
# | ||
# Library charts provide useful utilities or functions for the chart developer. They're included as | ||
# a dependency of application charts to inject those utilities and functions into the rendering | ||
# pipeline. Library charts do not define any templates and therefore cannot be deployed. | ||
#type: application | ||
|
||
# This is the chart version. This version number should be incremented each time you make changes | ||
# to the chart and its templates, including the app version. | ||
# Versions are expected to follow Semantic Versioning (https://semver.org/) | ||
version: 3.2.0 | ||
appVersion: "3.2.0" | ||
sources: | ||
- https://github.com/fluent/fluent-operator | ||
maintainers: | ||
- name: wenchajun | ||
email: [email protected] | ||
|
||
# This is the version number of the application being deployed. This version number should be | ||
# incremented each time you make changes to the application. Versions are not expected to | ||
# follow Semantic Versioning. They should reflect the version the application is using. | ||
# It is recommended to use it with quotes. | ||
appVersion: "3.1.0" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters