0

我是为弹性搜索打开发行版并尝试在 Kubernetes 集群上运行它的新手。部署集群后,我需要更改admin用户的密码。

我浏览了这篇文章-默认密码重置

我知道,要更改密码,我需要执行以下步骤:

  • exec在其中一个主节点中
  • /usr/share/elasticsearch/plugins/opendistro_security/tools/hash.sh使用脚本为新密码生成哈希
  • /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml用新的哈希更新
  • /usr/share/elasticsearch/plugins/opendistro_security/tools/securityadmin.sh带参数运行

问题:

  • 有没有办法在引导集群期间设置这些(通过env或)?elasticsearch.yml
4

3 回答 3

2

我必须使用更新的密码哈希重新创建internal_users.yml文件,并将文件安装在/usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml数据库 pod 的目录中。

因此,当 Elasticsearch 节点自举时,它会使用默认用户(即admin)的更新密码进行自举。

我使用bcrypt go 包来生成密码哈希。

于 2020-06-08T17:02:48.600 回答
2

docker exec -ti ELASTIC_MASTER bash

/usr/share/elasticsearch/plugins/opendistro_security/tools/hash.sh

##输入密码

百胜安装纳米

#用新的 nano /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/internal_users.yml 替换生成的哈希

#执行此命令 sh /usr/share/elasticsearch/plugins/opendistro_security/tools/securityadmin.sh -cd /usr/share/elasticsearch/plugins/opendistro_security/securityconfig/ -icl -nhnv -cacert config/root-ca .pem -cert config/admin.pem -key config/admin-key.pem

于 2021-05-26T17:23:40.470 回答
0

您还可以执行以下命令从您的 kubernetes 集群中获取用户名、密码的值:

kubectl get secret -n wazuh elastic-cred -o go-template='{{.data.username | base64decode}}'
kubectl get secret -n wazuh elastic-cred -o go-template='{{.data.password | base64decode}}'

注意:'-n wazuh' 表示命名空间,使用适合你的

参考:https ://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-deploy-elasticsearch.html

于 2021-05-27T01:06:09.820 回答