
travix/elasticsearch-kubernetes该Docker镜像专为在Kubernetes集群中部署ElasticSearch设计,集成Prometheus监控能力,可将ElasticSearch的运行状态和性能统计数据导出至Prometheus,实现统一监控与数据分析。
yamlapiVersion: apps/v1 kind: StatefulSet metadata: name: elasticsearch-cluster spec: serviceName: elasticsearch replicas: 3 selector: matchLabels: app: elasticsearch template: metadata: labels: app: elasticsearch spec: containers: - name: elasticsearch image: [镜像名称] # 替换为实际镜像地址 ports: - containerPort: 9200 # ElasticSearch API端口 - containerPort: 9300 # 节点间通信端口 - containerPort: 9114 # Prometheus指标导出端口 env: - name: discovery.seed_hosts value: "elasticsearch-0.elasticsearch,elasticsearch-1.elasticsearch,elasticsearch-2.elasticsearch" - name: cluster.initial_master_nodes value: "elasticsearch-0,elasticsearch-1,elasticsearch-2" - name: ES_JAVA_OPTS value: "-Xms1g -Xmx1g" # 根据集群规模调整JVM内存 - name: PROMETHEUS_EXPORTER_PORT value: "9114" # 指标导出端口 volumeMounts: - name: data mountPath: /usr/share/elasticsearch/data volumeClaimTemplates: - metadata: name: data spec: accessModes: ["ReadWriteOnce"] resources: requests: storage: 50Gi # 根据数据量调整存储大小
在Prometheus配置文件中添加如下抓取规则:
yamlscrape_configs: - job_name: 'elasticsearch' kubernetes_sd_configs: - role: pod namespaces: names: ['default'] # 替换为实际命名空间 relabel_configs: - source_labels: [__meta_kubernetes_pod_label_app] regex: elasticsearch action: keep - source_labels: [__meta_kubernetes_pod_container_port_number] regex: 9114 action: keep
| 环境变量 | 描述 | 默认值 |
|---|---|---|
discovery.seed_hosts | 集群节点发现地址列表 | elasticsearch-0.elasticsearch |
cluster.initial_master_nodes | 初始主节点名称列表 | elasticsearch-0 |
ES_JAVA_OPTS | JVM运行参数 | -Xms512m -Xmx512m |
PROMETHEUS_EXPORTER_PORT | Prometheus指标暴露端口 | 9114 |
cluster.name | ElasticSearch集群名称 | elasticsearch |
ES_JAVA_OPTS),通常设置为物理内存的50%。





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务