elasticsearch 如何编辑Kubernetes上elasticsearch的path.data和path.log?
我创建了一个elasticsearch 如何编辑Kubernetes上elasticsearch的path.data和path.log?,elasticsearch,kubernetes,elasticsearch,Kubernetes,我创建了一个es deploy.yml文件,然后键入path.log和path.data值 创建pod后,我检查了该目录,然后什么都没有 设置不起作用 如何编辑Kubernetes上elasticsearch的path.data和path.log 我还尝试使用PATH_数据 那些值path.data和path.log不是环境变量。是的 基于默认值ES_HOME=/usr/share/elasticsearch/的官方elasticsearch图像的默认path.data是/usr/share/
es deploy.yml
文件,然后键入path.log
和path.data
值
创建pod后,我检查了该目录,然后什么都没有
设置不起作用
如何编辑Kubernetes上elasticsearch的path.data
和path.log
我还尝试使用PATH_数据
那些值
path.data
和path.log
不是环境变量。是的
基于默认值ES_HOME=/usr/share/elasticsearch/
的官方elasticsearch图像的默认path.data
是/usr/share/elasticsearch/data
,如果您不想使用该路径,则必须在elasticsearch.yaml
配置中覆盖它
您必须创建一个包含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
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>
(请注意,上面的ConfigMap还允许您使用数据路径
环境变量)
然后使用如下方式将卷装载到Pod中:
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
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>
volumeMounts:
-名称:仓库
挂载路径:/data/elk
-名称:配置卷
挂载路径:/usr/share/elasticsearch/config/elasticsearch.yml
子路径:elasticsearch.yml
卷数:
-名称:配置卷
配置映射:
名称:elasticsearch配置
-名称:仓库
是否真的将/data/elk装入了容器?b塞达尔沃特“真的装入”的意思是?我想您已经得到了问题的答案,但我想问的是,如果/data/elk目录确实存在于容器中,并且它指向您希望它指向的位置。验证“es deploy.yml”时出错:验证数据时出错:ValidationError(Deployment.spec.template.spec.containers[0]):io.k8s.api.core.v1.Container中的未知字段“volumes”;如果选择忽略这些错误,请使用--validate=false关闭验证。卷不在容器定义中,它在pod定义中。检查缩进。