我試圖使用 helm chart 在 AKS 中設定一個 elasticsearch 集群,但由于 log4j 漏洞,我想將它的選項-Dlog4j2.formatMsgNoLookups設定為true. 在 helm 命令中傳遞引數時出現未知標志錯誤。參考:https : //artifacthub.io/packages/helm/elastic/elasticsearch/6.8.16
helm upgrade elasticsearch elasticsearch --set imageTag=6.8.16 esJavaOpts "-Dlog4j2.formatMsgNoLookups=true"
Error: unknown shorthand flag: 'D' in -Dlog4j2.formatMsgNoLookups=true
我也嘗試在values.yaml檔案中添加以下內容
esConfig: {}
# elasticsearch.yml: |
# key:
# nestedkey: value
log4j2.properties: |
-Dlog4j2.formatMsgNoLookups = true
但這些值沒有添加到/usr/share/elasticsearch/config/jvm.options,/usr/share/elasticsearch/config/log4j2.properties或環境變數中。
uj5u.com熱心網友回復:
首先,如果這是您到達此處的原因,這里是有關緩解Log4j2 安全問題的很好的知識來源。
以下是values.yaml為 Elasticsearch 圖表撰寫圖表的方法:
esConfig:
log4j2.properties: |
logger.discovery.name = org.elasticsearch.discovery
logger.discovery.level = debug
Helm 將生成一個 ConfigMap:
apiVersion: v1
kind: ConfigMap
metadata:
name: elasticsearch-master-config
...
data:
log4j2.properties: |
logger.discovery.name = org.elasticsearch.discovery
logger.discovery.level = debug
Log4j 配置將掛載到您的 Elasticsearch,如下所示:
...
volumeMounts:
...
- name: esconfig
mountPath: /usr/share/elasticsearch/config/log4j2.properties
subPath: log4j2.properties
更新:如何設定和添加多個組態檔。
您可以在您的 .conf 檔案中設定其他 ES 組態檔,您values.yaml在此處指定的所有檔案都將成為 ConfigMap 的一部分,每個檔案都將掛載在/usr/share/elasticsearch/config/Elasticsearch 容器中。例子:
esConfig:
elasticsearch.yml: |
node.master: true
node.data: true
log4j2.properties: |
logger.discovery.name = org.elasticsearch.discovery
logger.discovery.level = debug
jvm.options: |
# You can also place a comment here.
-Xmx1g -Xms1g -Dlog4j2.formatMsgNoLookups=true
roles.yml: |
click_admins:
run_as: [ 'clicks_watcher_1' ]
cluster: [ 'monitor' ]
indices:
- names: [ 'events-*' ]
privileges: [ 'read' ]
field_security:
grant: ['category', '@timestamp', 'message' ]
query: '{"match": {"category": "click"}}'
以上所有配置僅用于說明如何在values.yaml中添加多個組態檔。請用您自己的設定替換這些配置。
uj5u.com熱心網友回復:
如果更新并在 esConfig 下放置一個值,則需要洗掉大括號
esConfig:
log4j2.properties: |
key = value
uj5u.com熱心網友回復:
我寧愿建議更改 /config/jvm.options 檔案并在最后添加
-Dlog4j2.formatMsgNoLookups=true
uj5u.com熱心網友回復:
helm chart有一個選項來設定 java 選項。
esJavaOpts: "" # example: "-Xmx1g -Xms1g"
在您的情況下,像這樣設定應該是解決方案:
esJavaOpts: "-Dlog4j2.formatMsgNoLookups=true"
uj5u.com熱心網友回復:
正如我在彈性存盤庫values.yml 中看到的那樣:
esConfig: {}
log4j2.properties: |
鍵 = 值
可能需要取消注釋 log4j2.properties 部分。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/384131.html
標籤:弹性搜索 Kubernetes 日志4j kubernetes-helm 麋鹿
