gpt4 book ai didi

elasticsearch - 如何在Kubernetes上编辑path.data和path.log以进行Elasticsearch?

转载 作者:行者123 更新时间:2023-12-02 12:15:11 25 4
gpt4 key购买 nike

我制作了一个es-deploy.yml文件,然后键入了path.logpath.data值。

创建Pod之后,我检查了该目录,然后什么也没有。

设置无效!

如何在Kubernetes上编辑path.datapath.log进行Elasticsearch!

我也尝试使用PATH_DATA

apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: es
labels:
component: elasticsearch
spec:
replicas: 1
template:
metadata:
labels:
component: elasticsearch
spec:
serviceAccount: elasticsearch
initContainers:
- name: init-sysctl
image: busybox
imagePullPolicy: IfNotPresent
command: ["sysctl", "-w", "vm.max_map_count=262144"]
securityContext:
privileged: true
containers:
- name: es
securityContext:
capabilities:
add:
- IPC_LOCK
image: docker.elastic.co/elasticsearch/elasticsearch:7.3.0
env:
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: "CLUSTER_NAME"
value: "myesdb"
- name: "DISCOVERY_SERVICE"
value: "elasticsearch"
- name: NODE_MASTER
value: "true"
- name: NODE_DATA
value: "true"
- name: HTTP_ENABLE
value: "true"
- name: ES_JAVA_OPTS
value: "-Xms256m -Xmx256m"
- name: "path.data"
value: "/data/elk/data"
- name: "path.logs"
value: "/data/elk/log"
ports:
- containerPort: 9200
name: http
protocol: TCP
- containerPort: 9300
name: transport
protocol: TCP
volumeMounts:
- mountPath: /data/elk/

最佳答案

这些值path.datapath.logs不是环境变量。它们是config options

官方elasticsearch图像的默认path.data/usr/share/elasticsearch/data,基于ES_HOME=/usr/share/elasticsearch/的默认值。如果您不想使用该路径,则必须在elasticsearch.yaml配置中覆盖它。

您将必须创建一个ConfigMap,其中包含带有以下内容的elasticsearch.yaml:

apiVersion: v1
kind: ConfigMap
metadata:
name: elasticsearch-config
namespace: es
data:
elasticsearch.yml: |
cluster:
name: ${CLUSTER_NAME:elasticsearch-default}

node:
master: ${NODE_MASTER:true}
data: ${NODE_DATA:true}
name: ${NODE_NAME}
ingest: ${NODE_INGEST:true}
max_local_storage_nodes: ${MAX_LOCAL_STORAGE_NODES:1}

processors: ${PROCESSORS:1}

network.host: ${NETWORK_HOST:_site_}

path:
data: ${DATA_PATH:"/data/elk"}
repo: ${REPO_LOCATIONS:[]}

bootstrap:
memory_lock: ${MEMORY_LOCK:false}

http:
enabled: ${HTTP_ENABLE:true}
compression: true
cors:
enabled: true
allow-origin: "*"

discovery:
zen:
ping.unicast.hosts: ${DISCOVERY_SERVICE:elasticsearch-discovery}
minimum_master_nodes: ${NUMBER_OF_MASTERS:1}

xpack:
license.self_generated.type: basic

(请注意,上面的ConfigMap也将允许您使用 DATA_PATH环境变量)

然后使用以下方法将卷装入Pod:
    volumeMounts:
- name: storage
mountPath: /data/elk
- name: config-volume
mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
subPath: elasticsearch.yml

volumes:
- name: config-volume
configMap:
name: elasticsearch-config
- name: storage
<add-whatever-volume-you-are-using-for-data>

关于elasticsearch - 如何在Kubernetes上编辑path.data和path.log以进行Elasticsearch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57719710/

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