gpt4 book ai didi

elasticsearch - 如何在 YAML 文件中安装期间配置 Elasticsearch Index Lifecycle Management (ILM)

转载 作者:行者123 更新时间:2023-12-04 06:08:34 25 4
gpt4 key购买 nike

我想配置默认 Index Lifecycle Management (ILM)在kubernetes集群中安装ES时的策略和索引模板,在YAML安装文件中,而不是安装后调用ES API。我怎样才能做到这一点?

我在基于 YAML 文件的 kubernetes 集群中安装了 Elasticsearch。

以下工作查询工作。

PUT _ilm/policy/logstash_policy
{
"policy": {
"phases": {
"delete": {
"min_age": "30d",
"actions": {
"delete": {}
}
}
}
}
}
PUT _template/logstash_template
{
"index_patterns": ["logstash-*"],
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1,
"index.lifecycle.name": "logstash_policy"
}
}

我想在安装后立即进行上述设置,而不进行任何设置 curl查询。

最佳答案

我会尽量回答你的两个问题。
索引模板
您可以在 elasticsearch yaml 中使用此配置传递索引模板。例如:

setup.template:
name: "<chosen template name>-%{[agent.version]}"
pattern: "<chosen pattern name>-%{[agent.version]}-*"
查看 ES 文档以了解此 setup.template 的确切位置,您就可以开始使用了。
电影政策
完成这项工作的方法是将包含您的 ilm 配置的 ilm-policy.json 文件放到 pod 的/usr/share/filebeat/目录中。在你的 YAML 安装文件中,你可以在你的配置中使用这一行来让它工作(我已经添加了我的整个 ilm 配置):
setup.ilm:
enabled: true
policy_name: "<policy name>"
rollover_alias: "<rollover alias name
policy_file: "ilm-policy.json"
pattern: "{now/d}-000001"
那么,如何获取文件呢?成分是 1 个包含 ilm-policy.json 的 configmap,以及 daemonset 配置中的 volume 和 volumeMount,用于将 configmap 的内容挂载到 pod 的目录。
注:我使用 helm 将 filebeat 部署到连接到弹性云的 AKS 集群 (v 1.15)。在您的情况下,用于存储 json 的应用程序文件夹可能是 /usr/share/elasticsearch/ilm-policy.json .
在下面,您会看到类似 {{ .Files.Get <...> }} 的一行,这是一个用于 helm 获取文件内容的模板函数。或者,您可以将文件内容直接复制到 configmap yaml 中,但在我看来,将文件分开使其更易于管理。
configMap
确保您的 ilm-policy.json 位于您的部署可访问的某个位置。这是 configmap 的外观:
apiVersion: v1
kind: ConfigMap
metadata:
name: ilmpolicy-config
namespace: logging
labels:
k8s-app: filebeat
data:
ilm-policy.json: |-
{{ .Files.Get "ilm-policy.json" | indent 4 }}
守护进程
在 deamonSet 的 volumeMounts 部分,附加以下内容:
- name: ilm-configmap-volume
mountPath: /usr/share/filebeat/ilm-policy.json
subPath: ilm-policy.json
readOnly: true
并在卷部分附加:
 - name: ilm-configmap-volume
configMap:
name: ilmpolicy-config
我不确定浏览器中的间距是否正确,但这应该是一个很好的主意。
我希望这适用于您的设置!祝你好运。

关于elasticsearch - 如何在 YAML 文件中安装期间配置 Elasticsearch Index Lifecycle Management (ILM),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56393389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com