在k8s集群上部署ELK
1.修订记录
日期 | 修订版本 | 修订描述 | 作者 | 审核者 |
---|---|---|---|---|
2022-02-19 | v1.0.0 | 文档内容新建,编辑初稿 | 云上凯歌 |
2.使用场景
ELK日志采集系统,适用于首次在k8s集群上部署安装该系统
3.准备环境
使用kubeadm或者其他方式部署一套k8s集群。
本地master节点在 192.168.174.131
在k8s集群创建一个namespace:elk
kubectl create ns elk
4.部署ElasticSearch
4.1 准备资源配置清单
创建 elaticsearch.yaml
---
apiVersion: apps/v1
kind: Deployment
metadata:
generation: 1
labels:
app: elasticsearch-logging
version: v1
name: elasticsearch
namespace: elk
spec:
minReadySeconds: 10
progressDeadlineSeconds: 600
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app: elasticsearch-logging
version: v1
strategy:
type: Recreate
template:
metadata:
creationTimestamp: null
labels:
app: elasticsearch-logging
version: v1
spec:
affinity:
nodeAffinity: {}
containers:
- env:
- name: discovery.type
value: single-node
- name: ES_JAVA_OPTS
value: -Xms512m -Xmx512m
- name: MINIMUM_MASTER_NODES
value: "1"
image: docker.elastic.co/elasticsearch/elasticsearch:7.12.0-amd64
imagePullPolicy: IfNotPresent
name: elasticsearch-logging
ports:
- containerPort: 9200
name: db
protocol: TCP
- containerPort: 9300
name: transport
protocol: TCP
resources:
limits:
cpu: "1"
memory: 1Gi
requests:
cpu: "1"
memory: 1Gi
terminationMessagePath: /dev/termination-log
ter