Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Helm to install Fluentd-Cloudwatch on Amazon EKS

While trying to install "incubator/fluentd-cloudwatch" using helm on Amazon EKS, and setting user to root, I am getting below response.

Command used :

helm install --name fluentd incubator/fluentd-cloudwatch --set awsRegion=eu-west-1,rbac.create=true --set extraVars[0]="{ name: FLUENT_UID, value: '0' }"

Error:

Error: YAML parse error on fluentd-cloudwatch/templates/daemonset.yaml: error converting YAML to JSON: yaml: line 38: did not find expected ',' or ']'

If we do not set user to root, then by default, fluentd runs with "fluent" user and its log shows:

[error]: unexpected error error_class=Errno::EACCES error=#<Errno::
EACCES: Permission denied @ rb_sysopen - /var/log/fluentd-containers.log.pos>`
like image 632
Abhizer Saifee Avatar asked Dec 31 '25 22:12

Abhizer Saifee


1 Answers

Based on this looks like it's just trying to convert eu-west-1,rbac.create=true to a JSON field as field and there's an extra comma(,) there causing it to fail.

And if you look at the values.yaml you'll see the right separate options are awsRegion and rbac.create so --set awsRegion=eu-west-1 --set rbac.create=true should fix the first error.

With respect to the /var/log/... Permission denied error, you can see here that its mounted as a hostPath so if you do a:

# (means read/write user/group/world)
$ sudo chmod 444 /var/log 

and all your nodes, the error should go away. Note that you need to add it to all the nodes because your pod can land anywhere in your cluster.

like image 116
Rico Avatar answered Jan 03 '26 13:01

Rico



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!