fluent / fluentd-kubernetes-daemonset

Fluentd daemonset for Kubernetes and it Docker image
Apache License 2.0
1.27k stars 981 forks source link

fluentd-kubernetes-daemonset:v1-debian-elasticsearch docker image appears broken now #1429

Closed yfvham closed 1 year ago

yfvham commented 1 year ago

Hello everyone, it appears that some time after the docker image with the sha256 sum of c9c5e53179005b5d6aff1b3cea236a0017ec2b8286ce553ea860756d5f783976 there was a breaking change to the v1-debian-elasticsearch tag

If we revert back that image the container starts as expected, however if we allow it to pull latest we get the following error on startup

2023-04-24 20:49:17 +0000 [info]: init supervisor logger path=nil rotate_age=nil rotate_size=nil
2023-04-24 20:49:17 +0000 [info]: parsing config file is succeeded path="/fluentd/etc/fluent.conf"
/fluentd/vendor/bundle/ruby/3.1.0/gems/elasticsearch-xpack-7.17.7/lib/elasticsearch/xpack.rb:46:in `<module:Elasticsearch>': Client is not a class (TypeError)
/fluentd/vendor/bundle/ruby/3.1.0/gems/elasticsearch-transport-7.4.0/lib/elasticsearch/transport.rb:27: previous definition of Client was here
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/elasticsearch-xpack-7.17.7/lib/elasticsearch/xpack.rb:45:in `<top (required)>'
      from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:160:in `require'
      from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
      from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:149:in `require'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluent-plugin-elasticsearch-5.3.0/lib/fluent/plugin/elasticsearch_compat.rb:13:in `<top (required)>'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluent-plugin-elasticsearch-5.3.0/lib/fluent/plugin/elasticsearch_simple_sniffer.rb:2:in `require_relative'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluent-plugin-elasticsearch-5.3.0/lib/fluent/plugin/elasticsearch_simple_sniffer.rb:2:in `<top (required)>'
      from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
      from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluentd-1.16.1/lib/fluent/supervisor.rb:646:in `block in configure'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluentd-1.16.1/lib/fluent/supervisor.rb:645:in `each'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluentd-1.16.1/lib/fluent/supervisor.rb:645:in `configure'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluentd-1.16.1/lib/fluent/command/fluentd.rb:351:in `<top (required)>'
      from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
      from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluentd-1.16.1/bin/fluentd:15:in `<top (required)>'
      from /fluentd/vendor/bundle/ruby/3.1.0/bin/fluentd:25:in `load'
      from /fluentd/vendor/bundle/ruby/3.1.0/bin/fluentd:25:in `<main>'
<internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require': cannot load such file -- elasticsearch/xpack (LoadError)
      from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluent-plugin-elasticsearch-5.3.0/lib/fluent/plugin/elasticsearch_compat.rb:13:in `<top (required)>'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluent-plugin-elasticsearch-5.3.0/lib/fluent/plugin/elasticsearch_simple_sniffer.rb:2:in `require_relative'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluent-plugin-elasticsearch-5.3.0/lib/fluent/plugin/elasticsearch_simple_sniffer.rb:2:in `<top (required)>'
      from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
      from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluentd-1.16.1/lib/fluent/supervisor.rb:646:in `block in configure'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluentd-1.16.1/lib/fluent/supervisor.rb:645:in `each'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluentd-1.16.1/lib/fluent/supervisor.rb:645:in `configure'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluentd-1.16.1/lib/fluent/command/fluentd.rb:351:in `<top (required)>'
      from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
      from <internal:/usr/local/lib/ruby/3.1.0/rubygems/core_ext/kernel_require.rb>:85:in `require'
      from /fluentd/vendor/bundle/ruby/3.1.0/gems/fluentd-1.16.1/bin/fluentd:15:in `<top (required)>'
      from /fluentd/vendor/bundle/ruby/3.1.0/bin/fluentd:25:in `load'
      from /fluentd/vendor/bundle/ruby/3.1.0/bin/fluentd:25:in `<main>'
ashie commented 1 year ago

/fluentd/vendor/bundle/ruby/3.1.0/gems/elasticsearch-transport-7.4.0/lib/elasticsearch/transport.rb:27: previous definition of Client was here

Sorry, elasticsearch-transport is unexpectedly locked to older version due to dependency conflict (faraday v1 vs v2). For elasticsearch v7, we should use fluent-plugin-elasticsearch 5.2.x to lock faraday v1.