niutendo 求助,更换xpack外置ES出现问题 背景:集群创建时,我先使用了内置ES。后需要改成带xpack的外置ES。 1.我在cc中增加了如下配置 2.打开集群设置的日志收集器发现并没有发生变化,还是内置ES地址 3.随即我删除了这个收集器,打算自己新增,但是发现并没有密码框 4.不输入账号密码的情况下,fluent-bit.conf配置文件中没有密码 ,fluent-bit pod报错未认证 5.随即我修改了output,增加了账号密码 然后:fluent-bit.conf依然没有增加账号密码的配置,并且我按照fluent手册中手动加入HTTP_User & HTTP_Passwd 更新后配置文件自动还原。 请问我该进行什么操作呢?
niutendo 我刚才通过kubectl -n kubesphere-system get cm kubesphere-config -oyaml 检查到我的password输成passwork了。更新了一下cc,kubesphere-config 已经正常。通过界面去查询日志也已经不提示报错了。看来就剩下fluent-bit.conf中配置如何生效的问题了。
wanjunlei 你的output配置错了,https://github.com/kubesphere/fluentbit-operator/blob/master/api/fluentbitoperator/v1alpha2/plugins/output/elasticsearch_types.go#L37 看下这个,user和password是存在secret中的
niutendo 终于解决了。 kubectl -n kubesphere-system edit cc ks-installer 增加配置 es: basicAuth: enabled: true password: Yourpassword username: elastic elasticsearchDataVolumeSize: 20Gi elasticsearchMasterVolumeSize: 4Gi elkPrefix: logstash externalElasticsearchPort: 9200 externalElasticsearchUrl: kid-es-logging.logging.svc logMaxAge: 7 2.kubectl -n kubesphere-system edit cc ks-installer 删除status以便集群管理-日志收集器配置自动更新 3.我执行完这些操作后,fluent-bit.conf中output字段消失了(不知道是什么原因,没有自动带过来)。手动加入如下配置段。稍等fluent自动重新加载配置文件就可以了 [Output] Name es Match kube.* Host kid-es-logging.logging.svc HTTP_Passwd Yourpassword HTTP_User elastic Port 9200 Logstash_Format true Logstash_Prefix ks-logstash-log Time_Key @timestamp [Output] Name es Match kube_events Host kid-es-logging.logging.svc HTTP_Passwd Yourpassword HTTP_User elastic Port 9200 Logstash_Format true Logstash_Prefix ks-logstash-events [Output] Name es Match kube_auditing Host kid-es-logging.logging.svc HTTP_Passwd Yourpassword HTTP_User elastic Port 9200 Logstash_Format true Logstash_Prefix ks-logstash-auditing 最新更新,不删除fluentbit的status,应该就可以自动带配置到fluent-bit.conf了