Deploy Fluent Bit

Let’s start by downloading the fluentbit.yaml deployment file and replace some variables.

cd ~/environment/logging

# get the Elasticsearch Endpoint
export ES_ENDPOINT=$(aws es describe-elasticsearch-domain --domain-name ${ES_DOMAIN_NAME} --output text --query "DomainStatus.Endpoint")

curl -Ss https://www.eksworkshop.com/intermediate/230_logging/deploy.files/fluentbit.yaml \
    | envsubst > ~/environment/logging/fluentbit.yaml

Explore the file to see what will be deployed. The fluent bit log agent configuration is located in the Kubernetes ConfigMap and will be deployed as a DaemonSet, i.e. one pod per worker node. In our case, a 3 node cluster is used and so 3 pods will be shown in the output when we deploy.

kubectl apply -f ~/environment/logging/fluentbit.yaml

Wait for all of the pods to change to running status

kubectl --namespace=logging get pods

Output


NAME               READY   STATUS    RESTARTS   AGE
fluent-bit-2wrs4   1/1     Running   0          6s
fluent-bit-9lkkm   1/1     Running   0          6s
fluent-bit-x545p   1/1     Running   0          6s