簡體   English   中英

我如何使用有狀態集或類似的東西在 kubernetes pod 上編輯 elasticsearch.yml?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM