[英]How can I edit elasticsearch.yml on kubernetes pods, with a statefulset, or something similar?
我必須編輯 elasticsearch.yml 以創建備份(必須像這樣設置 path.repo): path.repo: /mnt/backup
但是我在 Kubernetes 上運行了 elasticsearch,我想同時從 statefulset 或類似於所有 pod 的東西設置 path.repo。 誰能告訴我該怎么做? 謝謝
我試着用這樣的 configmap 來做到這一點: https ://discuss.elastic.co/t/modify-elastic-yml-file-in-kubernetes-pod/103612
但是當我重新啟動 pod 時它拋出了一個錯誤: /usr/share/elasticsearch/bin/run.sh: line 28: ./config/elasticsearch.yml: Read-only file system
ConfigMaps 作為只讀文件系統掛載到 pod,此行為無法更改。
如果您希望能夠為所有 pod 修改一次配置,那么您必須將 config/ 目錄掛載為 ReadWriteMany 持久卷(NFS、GlusterFS 等)。
我剛剛意識到,你甚至不必編輯 elasticsearch.yml 來設置 path.repo 設置,你可以將它作為環境變量添加到你的 statefulset 中,如下所示:
env:
- name: path.repo
value: "/mnt/backup"
在 6.8 版中,配置文件是保密的。 我無法更改密碼以更新 base64 編碼配置。 但是,顯然配置它的方法是按照此處的記錄進行設置:
https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-node-configuration.html
yaml 文件是可以在對象瀏覽器下找到的文件:
從命令行你可以使用:
kubectl get -o yaml Elasticsearch elasticsearch-name-of-your-deployment > your.yml
然后修改它並應用它
kubectl apply -f your.yml
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.