Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add liveness and readiness probe to aws-for-fluent-bit #947

Closed

Conversation

razorsk8jz
Copy link
Contributor

Issue

#946

Description of changes

Added ability to configure livenessProbe and readinessProbe for aws-for-fluent-bit - also adjusted the defaults for .Values.service.extraService to turn on the healthcheck endpoint

Checklist

  • Added/modified documentation as required (such as the README.md for modified charts)
  • Incremented the chart version in Chart.yaml for the modified chart(s)
  • Manually tested. Describe what testing was done in the testing section below
  • Make sure the title of the PR is a good description that can go into the release notes

Testing

using helm template i made sure the new livenessProbe showed correctly and that the readinessProbe did not show up - i allowed for a readinessProbe but i dont think we need here

helm template ./stable/aws-for-fluent-bit/ --kube-version 1.19.0 --api-versions monitoring.coreos.com/v1 --set serviceMonitor.enabled=true --set serviceMonitor.service.port=2020 --set serviceMonitor.service.type=ClusterIP --set serviceMonitor.service.targetPort=2020

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@razorsk8jz razorsk8jz force-pushed the add-aws-for-fluent-bit-healthchecks branch from 2280f30 to f7a96e4 Compare May 16, 2023 15:27
@razorsk8jz razorsk8jz changed the title changes add liveness and readiness probe to aws-for-fluent-bit May 16, 2023
@@ -59,6 +59,19 @@ spec:
{{- end }}
resources:
{{- toYaml .Values.resources | nindent 12 }}

{{- if $.Values.serviceMonitor }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@razorsk8jz so the service monitor is the prometheus operator? I don't understand why that flag should also enable/disable the liveness probe. They are separate things right? Fluent Bit can have a health check even if you don't also run prom.

Copy link
Contributor Author

@razorsk8jz razorsk8jz May 17, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I do agree they can be done separately - we could enable a service and the liveness probe without the serviceMonitor - I think it was originally set up this way as it doesnt appear that aws-for-fluent-bit needed a service for anything other than the serviceMonitor. However we also now cant enable the healthcheck without the service.

What would you think about me changing the way this works to have the service always created unreleated to the serviceMonitor and having the healthcheck always on as well?

For simplicity if we go this route - i'd suggest we also default the values on the extraService at service.extraService with its default values as i have not seen any issues with this yet.

service:
  extraService | 
    HTTP_Server  On
    HTTP_Listen  0.0.0.0
    HTTP_PORT    2020
    Health_Check On 
    HC_Errors_Count 5 
    HC_Retry_Failure_Count 5 
    HC_Period 5

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea I think that's a good idea, enable the monitoring endpoint by default with healthcheck. Then user chooses if they want to use it (service monitor or/and liveness probe).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea I think that's a good idea, enable the monitoring endpoint by default with healthcheck. Then user chooses if they want to use it (service monitor or/and liveness probe).

are you ok with me keeping the liveness probe on by default set to the correct path?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yea.

@razorsk8jz
Copy link
Contributor Author

razorsk8jz commented May 18, 2023

Ok, I have made the requested adjustments - the k8s service will always be populated as well as the liveness check is now on by default. there was a conflict of naming in the values.yaml for service - updated to fix that similar to how fluent-bit handles their naming config.service I have also updated the readme with correct defaults and fixed a spacing error i saw just to keep readme consistent - Let me know if you see any more issues and i'll get them taken care of.

I also have been testing this by deploying it to our test environments to make sure i dont see any issues

Comment on lines 41 to 43
| `service.type`| Type of service to be created - options are ClusterIP, NodePort, LoadBalancer |`ClusterIP`|
| `service.port`| TCP port of the serviceMonitor service. | 2020 |
| `service.targetPort`| TCP targetPort for service to connect to fluent-bit. | 2020 |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@razorsk8jz is there any way to avoid this backwards breaking change? I will have to check into how EKS Charts should handle that.

|`volumeMounts`| Volume mounts for the pods, provided as a list of volumeMount objects (see values.yaml) | volumes for /var/log and /var/lib/docker/containers are mounted, along with a fluentbit config volume |
|`dnsPolicy`| Optional dnsPolicy |`ClusterFirst`|
|`hostNetwork`| If true, use hostNetwork |`false` |
| `s3.externalId`| Specify an external ID for the STS API, can be used w ith the role_arn parameter if your role requires an external ID.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know you just edited this slightly here but there's a space between w ith which would be ideal to fix

type: {{ .Values.serviceMonitor.service.type }}
{{- end }}
{{- end }}
type: {{ .Values.service.type }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I do not understand this, why change from Values.serviceMonitor to the backwards breaking name Values.service??

@razorsk8jz razorsk8jz force-pushed the add-aws-for-fluent-bit-healthchecks branch from e08db96 to 2ff57ec Compare May 22, 2023 16:14
@razorsk8jz
Copy link
Contributor Author

razorsk8jz commented May 22, 2023

If you let me know how to proceed i'd be happy to get this updated - should i make this more backwards compatible by leaving the .Values.service and add a different section for .Values.k8sService - should we keep it as is - or do you have another idea to proceed forward?

@PettitWesley
Copy link
Contributor

@razorsk8jz I like this idea, I think we need to keep it backwards compatible:

If you let me know how to proceed i'd be happy to get this updated - should i make this more backwards compatible by leaving the .Values.service and add a different section for .Values.k8sService - should we keep it as is - or do you have another idea to proceed forward?

@razorsk8jz
Copy link
Contributor Author

@razorsk8jz I like this idea, I think we need to keep it backwards compatible:

If you let me know how to proceed i'd be happy to get this updated - should i make this more backwards compatible by leaving the .Values.service and add a different section for .Values.k8sService - should we keep it as is - or do you have another idea to proceed forward?

Updated for backwards compatibility - and added k8sService

@razorsk8jz
Copy link
Contributor Author

Looking for updates - if any more changes are needed

Copy link
Contributor

@PettitWesley PettitWesley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@razorsk8jz sorry I am very busy right now, please ping me if I forget about this PR again.

Comment on lines 44 to 46
| `config.extraService` | Append to existing service with this value | HTTP_Server On <br> HTTP_Listen 0.0.0.0 <br> HTTP_PORT 2020 <br> Health_Check On <br> HC_Errors_Count 5 <br> HC_Retry_Failure_Count 5 <br> HC_Period 5 |
| `config.parsersFiles` | List of available parser files | `/fluent-bit/parsers/parsers.conf` |
| `config.extraParsers` | Adding more parsers with this value | `""` |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@razorsk8jz I think this needs to be changed? We agreed we wouldn't break backwards compatibility right? I don't see these options changed in the yaml either.

| `updateStrategy`| Optional update strategy |`type: RollingUpdate`|
| `affinity`| Map of node/pod affinities |`{}`|
| `env`| Optional List of pod environment variables for the pods |`[]`|
| `livenessProbe`| Optional yaml to define liveness probe |httpGet:<br> &nbsp;&nbsp; path: /api/v1/health <br> &nbsp;&nbsp; port: 2020 <br> &nbsp;&nbsp; scheme: HTTP <br> failureThreshold: 2 <br> initialDelaySeconds: 30 <br> timeoutSeconds: 10 |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the descriptoin, can you add a link to here: https://docs.fluentbit.io/manual/administration/monitoring#health-check-for-fluent-bit

And note that the monitoring server must be enabled to use this default health check.

I am worried that even though its in the values.yaml, someone might remove that and then break the default healthcheck. What do you think?

stable/aws-for-fluent-bit/values.yaml Show resolved Hide resolved
@razorsk8jz
Copy link
Contributor Author

All requested changes made - let me know if anything else

Comment on lines 41 to 43
| `k8sService.type`| Type of service to be created - options are ClusterIP, NodePort, LoadBalancer |`ClusterIP`|
| `k8sService.port`| TCP port of the serviceMonitor service. | 2020 |
| `k8sService.targetPort`| TCP targetPort for service to connect to fluent-bit. | 2020 |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I am still very confused by this change. Apologies for how much time its taking for you to help me to understand, but I need to understand before I can merge it.

  1. these options should go down next to the other serviceMonitor options right? Since logically they are related.
  2. There are two new namespaces here for options for monitoring FLB with the service monitor- k8sService.* and serviceMonitor.*- why is that? Could it all just be one namespace, serviceMonitor.*? Is there some logical distinction between these? From looking at the changes, it look like the k8sService ones are ports exposed by FLB for use by the service monitoring? I will make a comment on those yaml changes. If my understanding is correct, should we use the same serviceMonitor options for these?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@razorsk8jz Sorry, I am confused, so the k8sService is separate from serviceMonitor? The description here says serviceMonitor. Sorry, please explain exactly what these do to me, and I think the help text should be longer and more descriptive for these options.

the k8sService is not logically tied to the serviceMonitor as it is also needed for health check

I don't understand how its not tied to it. When I check how these configs affect the yaml, it looks like they only affect service monitor, not Fluent bit. I will make a comment on the yaml.

Comment on lines 13 to 14
port: {{ .Values.serviceMonitor.service.port }}
port: {{ .Values.k8sService.port }}
protocol: TCP
targetPort: {{ .Values.serviceMonitor.service.targetPort }}
targetPort: {{ .Values.k8sService.targetPort }}
selector:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is technically a backwards breaking change I think? I'm confused since they are not documented today: https://github.com/aws/eks-charts/tree/master/stable/aws-for-fluent-bit

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, please re-explain your thinking for adding these.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@razorsk8jz this is backwards breaking change right?

type: {{ .Values.serviceMonitor.service.type }}
{{- end }}
{{- end }}
type: {{ .Values.k8sService.type }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this an option on FLB container or on the service monitor container?

Copy link
Contributor

@PettitWesley PettitWesley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@razorsk8jz Sorry... I need some more help understanding this change. Thank for working on this and taking the time to educate me.

@razorsk8jz
Copy link
Contributor Author

@razorsk8jz Sorry... I need some more help understanding this change. Thank for working on this and taking the time to educate me.

no worries - i would like you comfortable in the changes being made and understand why they are needed

@PettitWesley
Copy link
Contributor

@razorsk8jz can you please reply to my previous comments asking for clarification on how these things work. Thanks!!

@razorsk8jz
Copy link
Contributor Author

@razorsk8jz can you please reply to my previous comments asking for clarification on how these things work. Thanks!!

Which changes do you need clarification on - the k8sService is not logically tied to the serviceMonitor as it is also needed for health check - since health check is on by default i left creation of service on by default - now you can create a serviceMonitor and the service will already be there for it to use as the health check is also using it.

The major change is that the k8sService will always be created now

@@ -10,12 +8,10 @@ metadata:
spec:
ports:
- name: monitor-agent
port: {{ .Values.serviceMonitor.service.port }}
port: {{ .Values.k8sService.port }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAICT, port and type for k8sService is not on FLB but is on the serviceMonitor, so to me it makes sense to keep it under the serviceMonitor config namespace?

| `env`| Optional List of pod environment variables for the pods |`[]`|
| `livenessProbe`| Optional yaml to define liveness probe, [details](https://docs.fluentbit.io/manual/administration/monitoring#health-check-for-fluent-bit) |httpGet:<br> &nbsp;&nbsp; path: /api/v1/health <br> &nbsp;&nbsp; port: 2020 <br> &nbsp;&nbsp; scheme: HTTP <br> failureThreshold: 2 <br> initialDelaySeconds: 30 <br> timeoutSeconds: 10 |
| `readinessProbe`| Optional yaml to define readiness probe |`{}`|
| `serviceMonitor.service.type`| Type of service to be created - options are ClusterIP, NodePort, LoadBalancer |`ClusterIP`|
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Please be more descriptive here: "Type of service to be created for the prometheus service monitor"

| `livenessProbe`| Optional yaml to define liveness probe, [details](https://docs.fluentbit.io/manual/administration/monitoring#health-check-for-fluent-bit) |httpGet:<br> &nbsp;&nbsp; path: /api/v1/health <br> &nbsp;&nbsp; port: 2020 <br> &nbsp;&nbsp; scheme: HTTP <br> failureThreshold: 2 <br> initialDelaySeconds: 30 <br> timeoutSeconds: 10 |
| `readinessProbe`| Optional yaml to define readiness probe |`{}`|
| `serviceMonitor.service.type`| Type of service to be created - options are ClusterIP, NodePort, LoadBalancer |`ClusterIP`|
| `serviceMonitor.service.port`| TCP port of the serviceMonitor service. | 2020 |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What port is this- the port that prometheus will expose the metrics it collected for scraping? Can you be more descriptive?

| `serviceMonitor.service.type`| Type of service to be created - options are ClusterIP, NodePort, LoadBalancer |`ClusterIP`|
| `serviceMonitor.service.port`| TCP port of the serviceMonitor service. | 2020 |
| `serviceMonitor.service.targetPort`| TCP targetPort for service to connect to fluent-bit. | 2020 |
| `serviceMonitor.enabled`| Whether serviceMonitor should be enabled or not, [details](https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/getting-started.md) |`false`| ✔ |`[]`|
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please move the .enabled option as the first serviceMonitor option

| `updateStrategy`| Optional update strategy |`type: RollingUpdate`|
| `affinity`| Map of node/pod affinities |`{}`|
| `env`| Optional List of pod environment variables for the pods |`[]`|
| `livenessProbe`| Optional yaml to define liveness probe, [details](https://docs.fluentbit.io/manual/administration/monitoring#health-check-for-fluent-bit) |httpGet:<br> &nbsp;&nbsp; path: /api/v1/health <br> &nbsp;&nbsp; port: 2020 <br> &nbsp;&nbsp; scheme: HTTP <br> failureThreshold: 2 <br> initialDelaySeconds: 30 <br> timeoutSeconds: 10 |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: may be, to be safe, we should add a sentence here with that link saying that the monitoring interface for Fluent Bit must be enabled in service.extraService

Copy link
Contributor

@PettitWesley PettitWesley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @razorsk8jz I think this is nearly ready to go, just need a few readme improvements to make things very clear to novice users

@razorsk8jz
Copy link
Contributor Author

Thanks @razorsk8jz I think this is nearly ready to go, just need a few readme improvements to make things very clear to novice users

@PettitWesley I have made your suggested changes to the README.md - if you see any other changes you would like please let me know

PettitWesley
PettitWesley previously approved these changes Jun 20, 2023
Copy link
Contributor

@PettitWesley PettitWesley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@PettitWesley
Copy link
Contributor

PettitWesley commented Jun 20, 2023

@razorsk8jz approved! Only thing left to merge this is to rebase (there was a recent release and new chart version). If you could also attach the dry run output from generating the template or other testing evidence that'd be awesome.

@PettitWesley
Copy link
Contributor

@razorsk8jz I aplogize, I was asked to do another chart release to fix the app version: aws/aws-for-fluent-bit#694 (comment)

So you'll have to rebase this one more time, ping when you do, and then I can merge it.

@razorsk8jz
Copy link
Contributor Author

@PettitWesley I have synced with master and fixed conflicts

@razorsk8jz
Copy link
Contributor Author

Here are the values i'm using

image:
  tag: 2.31.11
  
annotations:
  iam.amazonaws.com/role: "#{Kube2IAM.RoleName}" 

serviceMonitor:
  enabled: true

firehose:
  enabled: false
kinesis:
  enabled: false
elasticsearch:
  enabled: false
cloudWatch:
  logStreamPrefix: ""
  logRetentionDays: 90

cloudWatchLogs:
  logGroupName: /k8s/#{Kubernetes.Cluster.Name}/$kubernetes['namespace_name']
  logGroupTemplate: /k8s/#{Kubernetes.Cluster.Name}/$kubernetes['namespace_name']
  logStreamTemplate: $kubernetes['pod_name'].$kubernetes['container_name']

input:
  parser: "cri"

filter:
  bufferSize: "0"
  extraFilters: |
    Labels              Off
    Annotations         Off

additionalFilters: |
  [FILTER]
      Name parser
      Match *
      Key_Name message
      Parser cri
      Parser docker
      Reserve_Data On

Here are the results of a helm template. Let me know if you see any issues

(⎈ |:~/Downloads/workspace/charts/eks-charts/stable/aws-for-fluent-bit$ helm template . --values ../../../../devops/kubernetes/kube-system/aws-for-fluent-bit/values.yaml 
---
# Source: aws-for-fluent-bit/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
  name: release-name-aws-for-fluent-bit
  namespace: default
  labels:
    helm.sh/chart: aws-for-fluent-bit-0.1.28
    app.kubernetes.io/name: aws-for-fluent-bit
    app.kubernetes.io/instance: release-name-aws-for-fluent-bit
    app.kubernetes.io/version: "2.28.4"
    app.kubernetes.io/managed-by: Helm
---
# Source: aws-for-fluent-bit/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: release-name-aws-for-fluent-bit
  namespace: default
  labels:
    helm.sh/chart: aws-for-fluent-bit-0.1.28
    app.kubernetes.io/name: aws-for-fluent-bit
    app.kubernetes.io/instance: release-name-aws-for-fluent-bit
    app.kubernetes.io/version: "2.28.4"
    app.kubernetes.io/managed-by: Helm
data:
  fluent-bit.conf: |
    [SERVICE]
        HTTP_Server  On
        HTTP_Listen  0.0.0.0
        HTTP_PORT    2020
        Health_Check On 
        HC_Errors_Count 5 
        HC_Retry_Failure_Count 5 
        HC_Period 5 
        
        Parsers_File /fluent-bit/parsers/parsers.conf
    [INPUT]
        Name              tail
        Tag               kube.*
        Path              /var/log/containers/*.log
        DB                /var/log/flb_kube.db
        Parser            cri
        Docker_Mode       On
        Mem_Buf_Limit     5MB
        Skip_Long_Lines   On
        Refresh_Interval  10
    [FILTER]
        Name                kubernetes
        Match               kube.*
        Kube_URL            https://kubernetes.default.svc.cluster.local:443
        Merge_Log           On
        Merge_Log_Key       data
        Keep_Log            On
        K8S-Logging.Parser  On
        K8S-Logging.Exclude On
        Buffer_Size         0
        Labels              Off
        Annotations         Off
        
    [FILTER]
        Name parser
        Match *
        Key_Name message
        Parser cri
        Parser docker
        Reserve_Data On
    [OUTPUT]
        Name                  cloudwatch_logs
        Match                 *
        region                us-east-1
        log_group_name        /k8s/#{Kubernetes.Cluster.Name}/$kubernetes['namespace_name']
        log_group_template    /k8s/#{Kubernetes.Cluster.Name}/$kubernetes['namespace_name']
        log_stream_prefix     fluentbit-
        log_stream_template   $kubernetes['pod_name'].$kubernetes['container_name']
        auto_create_group     true
---
# Source: aws-for-fluent-bit/templates/clusterrole.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: release-name-aws-for-fluent-bit
rules:
  - apiGroups: [""]
    resources:
      - namespaces
      - pods
      - pods/logs
      - nodes
      - nodes/proxy
    verbs: ["get", "list", "watch"]
  - apiGroups: ["policy"]
    resources: ["podsecuritypolicies"]
    verbs: ["use"]
    resourceNames:
      - release-name-aws-for-fluent-bit
---
# Source: aws-for-fluent-bit/templates/clusterrolebinding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: release-name-aws-for-fluent-bit
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: release-name-aws-for-fluent-bit
subjects:
  - kind: ServiceAccount
    name: release-name-aws-for-fluent-bit
    namespace: default
---
# Source: aws-for-fluent-bit/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    helm.sh/chart: aws-for-fluent-bit-0.1.28
    app.kubernetes.io/name: aws-for-fluent-bit
    app.kubernetes.io/instance: release-name-aws-for-fluent-bit
    app.kubernetes.io/version: "2.28.4"
    app.kubernetes.io/managed-by: Helm
  name: release-name-aws-for-fluent-bit
  namespace: default
spec:
  ports:
  - name: monitor-agent
    port: 2020
    protocol: TCP
    targetPort: 2020
  selector:
    app.kubernetes.io/name: aws-for-fluent-bit
    app.kubernetes.io/instance: release-name-aws-for-fluent-bit
  sessionAffinity: None
  type: ClusterIP
---
# Source: aws-for-fluent-bit/templates/daemonset.yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: release-name-aws-for-fluent-bit
  namespace: default
  labels:
    helm.sh/chart: aws-for-fluent-bit-0.1.28
    app.kubernetes.io/name: aws-for-fluent-bit
    app.kubernetes.io/instance: release-name-aws-for-fluent-bit
    app.kubernetes.io/version: "2.28.4"
    app.kubernetes.io/managed-by: Helm
spec:
  updateStrategy:
    type: RollingUpdate
  selector:
    matchLabels:
      app.kubernetes.io/name: aws-for-fluent-bit
      app.kubernetes.io/instance: release-name-aws-for-fluent-bit
  template:
    metadata:
      annotations:
        checksum/config: 72a72491d7258b4b711c46673a6c68dc4d53bc912e2b7f99d23322c080362871
        iam.amazonaws.com/role: '#{Kube2IAM.RoleName}'
      labels:
        app.kubernetes.io/name: aws-for-fluent-bit
        app.kubernetes.io/instance: release-name-aws-for-fluent-bit
    spec:
      serviceAccountName: release-name-aws-for-fluent-bit
      dnsPolicy: ClusterFirst
      containers:
        - name: aws-for-fluent-bit
          imagePullPolicy: IfNotPresent
          image: "public.ecr.aws/aws-observability/aws-for-fluent-bit:2.31.11"
          volumeMounts:
            - name: fluentbit-config
              mountPath: /fluent-bit/etc/
            - mountPath: /var/log
              name: varlog
            - mountPath: /var/lib/docker/containers
              name: varlibdockercontainers
              readOnly: true
          resources:
            limits:
              memory: 250Mi
            requests:
              cpu: 50m
              memory: 50Mi
          livenessProbe:
            failureThreshold: 2
            httpGet:
              path: /api/v1/health
              port: 2020
              scheme: HTTP
            initialDelaySeconds: 30
            timeoutSeconds: 10
      volumes:
        - name: fluentbit-config
          configMap:
            name: release-name-aws-for-fluent-bit
        - hostPath:
            path: /var/log
          name: varlog
        - hostPath:
            path: /var/lib/docker/containers
          name: varlibdockercontainers

@PettitWesley
Copy link
Contributor

@razorsk8jz Sorry, but GitHub still won't allow me to merge this PR due to conflicts.

Please rebase:

git checkout master
git pull # update
git checkout {PR branch}
git rebase master # sync 
git push --force # update PR

@PettitWesley
Copy link
Contributor

@razorsk8jz if needed, I can pull your commits, rebase them, and then put up a PR myself. You will still get credit via your commits. Let me know.

@razorsk8jz
Copy link
Contributor Author

Please do, I did a rebase and if it still won’t let you merge please do whatever needs done to get this this in, Thanks!

@PettitWesley
Copy link
Contributor

@razorsk8jz #975

@PettitWesley
Copy link
Contributor

Closing as #975 was merged. I will release it today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants