Kubernetes中为ELK组件配置持久化存储
在Kubernetes中为ELK组件配置持久化存储(PV/PVC)需根据存储类型(如NFS、云存储)和访问模式(如RWO/RWX)设计。
一、Elasticsearch持久化存储配置
1. 静态PV/PVC配置(以NFS为例)
步骤:
-
创建PV:定义NFS存储的容量、访问模式和回收策略。
# es-pv.yaml apiVersion: v1 kind: PersistentVolume metadata:name: es-pv-01 spec:capacity:storage: 50GiaccessModes:- ReadWriteOnce # Elasticsearch通常需单节点写入nfs:server: 192.168.1.100 # NFS服务器IPpath: "/nfs/elasticsearch" # NFS共享路径persistentVolumeReclaimPolicy: Retain # 保留数据,手动清理
kubectl apply -f es-pv.yaml
-
创建PVC:绑定PV并申请存储。
# es-pvc.yaml apiVersion: v1 kind: PersistentVolumeClaim metadata:name: es-pvc-01 spec:accessModes:- ReadWriteOnceresources:requests:storage: 50Gi
kubectl apply -f es-pvc.yaml
-
在Elasticsearch StatefulSet中挂载PVC:
# es-statefulset.yaml apiVersion: apps/v1 kind: StatefulSet metadata:name: elasticsearch spec:template:spec:containers:- name: elasticsearchimage: docker.elastic.co/elasticsearch/elasticsearch:8.10.0volumeMounts:- name: es-storage