ECK Elasticsearch Helm部署无法禁用X-Pack Security及Kibana连接问题求助
禁用ECK中Elasticsearch的X-Pack Security解决方案
核心注意点
ECK Operator会自动管理Elasticsearch的配置文件,直接修改Pod内的elasticsearch.yml或对应的Secret会被Operator覆盖,必须通过Elasticsearch自定义资源(CR)来配置,这是之前修改无效的关键原因。
具体操作步骤
1. 通过Helm values配置(部署前或更新时)
如果用Helm部署ECK Operator,修改values.yml,在Elasticsearch配置块中添加禁用Security的参数:
elasticsearch: enabled: true config: xpack.security.enabled: false # 可选:同时禁用其他不需要的X-Pack组件,避免依赖冲突 xpack.monitoring.enabled: false xpack.watcher.enabled: false
同步更新Kibana配置,去掉认证相关参数,避免Kibana尝试用账号密码连接:
kibana: enabled: true config: elasticsearch.username: "" elasticsearch.password: ""
执行Helm更新命令使配置生效:
helm upgrade <你的ECK发布名称> elastic/eck-operator -f values.yml -n <命名空间>
2. 直接编辑已部署的Elasticsearch CR
如果已经部署了Elasticsearch集群,直接编辑对应的CR:
kubectl edit elasticsearch <你的ES集群名称> -n <命名空间>
在spec.config节点下添加配置:
spec: config: xpack.security.enabled: false # 可选:禁用其他X-Pack组件 xpack.monitoring.enabled: false
保存后,ECK Operator会自动重启Elasticsearch Pod,更新配置。
3. 同步更新Kibana配置
同样编辑Kibana的CR,移除认证相关配置:
kubectl edit kibana <你的Kibana名称> -n <命名空间>
修改spec.config:
spec: config: elasticsearch.username: "" elasticsearch.password: ""
验证配置
等待Pod重启完成后,进入Elasticsearch Pod查看配置:
kubectl exec -it <ES Pod名称> -n <命名空间> -- cat /usr/share/elasticsearch/config/elasticsearch.yml
确认xpack.security.enabled: false已生效,此时Kibana应该可以正常连接Elasticsearch获取版本信息。
内容的提问来源于stack exchange,提问作者Leo
相关产品推荐
相关产品推荐

