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

[Feature][Helm] Enable sidecar configuration in Helm chart #584

Closed
wants to merge 9 commits into from

Conversation

kevin85421
Copy link
Member

Why are these changes needed?

This PR exposed an interface in KubeRay helm charts to enable users to configure sidecar containers (See the logging documentation and #353 for more details).

Explanation of the interface:

.Values.fluentBitConfigMaps
fluentBitConfigMaps:
  - name: fluentbit-config
    fluentBitConf: |
      [INPUT]
          Name tail
          Path /tmp/ray/session_latest/logs/*
          Tag ray
          Path_Key true
          Refresh_Interval 5
      [OUTPUT]
          Name stdout
          Match *
  • .Values.fluentBitConfigMaps[0].name: Name of the ConfigMap.
  • .Values.fluentBitConfigMaps[0].fluentBitConf: Used to configure fluentBit. Note that this configuration assumes logs are mounted on /tmp/ray.
.Values.{head, worker, additionalWorkerGroups.smallGroup}.fluentBitConfigMap
fluentBitConfigMap:
  enabled: true
  logVolumeMount:
    mountPath: /tmp/ray
    name: log-volume
  configMapName: fluentbit-config
  • enabled: Whether enable sidecar feature on the head, worker, and smallGroup pods. This configuration is optional, and the default value is false.
  • logVolumeMount.mountPath: The mount path of the log volume should be synchronized with .Values.fluentBitConfigMaps.fluentBitConf
  • logVolumeMount.name: This field should be synchronized with .Values.{head, worker, additionalWorkerGroups.smallGroup}.volumes.
  • configMapName: The config map name should exist in .Values.fluentBitConfigMaps.

Related issue number

Closes #511

Checks

  • I've made sure the tests are passing.
  • Testing Strategy
    • Unit tests
    • Manual tests
    • This PR is not tested :(

@DmitriGekhtman
Copy link
Collaborator

Sorry, I was a bit unclear in the issue description --

I was suggesting adding support for arbitrary lists of sidecar containers, as in
https://github.com/helm/charts/blob/master/stable/prometheus/values.yaml#L565
https://github.com/helm/charts/blob/master/stable/prometheus/templates/deployments/server.yaml#L149-L151

This would enable users to specify sidecar containers for log processing using any tool (not just fluentbit).
There are other uses for sidecar containers too (e.g. custom networking setups).

@kevin85421 kevin85421 closed this Sep 29, 2022
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.

[Feature][Helm] Enable sidecar configuration in Helm chart
2 participants