elasticsearch - 在 Kubernetes 容器上自动调用 bash 命令
问题描述
我在 Kubernetes 上运行带有 Kibana 和 Fluent Bit 的 Elasticsearch 堆栈。要设置安全性,我使用以下命令设置密码:
kubectl exec -it $(kubectl get pods -n logging | grep elasticsearch-client | sed -n 1p | awk '{print $1}') -n logging -- bin/elasticsearch-setup-passwords auto -b
按照本教程
在开发过程中,我必须经常进行此设置,我想自动执行此步骤,但我无法使其正常工作。当我使用Tiltfiles时,我的第一直觉是从那里调用一个 bash 脚本,但由于Starlark
不支持这个,所以它不是一个选项。我的下一个尝试是尝试它,Init Containers
但由于他们无法访问其他容器,这也不起作用。有谁知道这样做的正确方法是什么?
解决方案
正如@David Maze 指出的那样,我应该将(引导)密码放入secret
.
我最初的问题是我认为该elasticsearch-setup-passwords
工具是设置(用户)密码的唯一方法。
换句话说,在程序启动之前我不知道密码。但是我只是在这里找到了一种预先更改引导密码的方法,因此问题解决了。
推荐阅读
- php - Slack 通知在 Laravel 8 生产环境中不起作用
- python - 如何将 json 序列化字典恢复为原始对象形式
- flutter - Flutter 将数据从类传递到小部件变量的最佳方法
- javascript - 如何解决 Illustrator 中的这个 ScriptUI 错误?
- jsf - JSF2.3 FacesConverter 托管无法注入无状态服务
- colors - 如何在 SwiftUI 中自定义 SystemBackground 颜色?
- html - 可下载字体:下载失败(字体系列:“FontAwesome”)
- ios - 错误的键盘隐藏
- android-studio - 我可以在不使用 startActivityForResult() 的情况下返回上一个活动(保存数据)吗?
- javascript - Nodejs图像未正确转换为base64