2 Feb 2022
ELK 구성및 APM 도입
APM 구성
service
apiVersion: v1
kind: Service
metadata:
name: apmserver
spec:
ports:
- name: apmserver-nodeport
nodePort: 30082
port: 8200
protocol: TCP
targetPort: 8200
selector:
app.kubernetes.io/name: apmserver
type: NodePort
deployment
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: apmserver
name: apm-server
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: apmserver
template:
metadata:
labels:
app.kubernetes.io/name: apmserver
spec:
containers:
- name: apmserver
image: docker.elastic.co/apm/apm-server:7.3.2
ports:
- containerPort: 8200
name: http
protocol: TCP
resources: {}
volumeMounts:
- mountPath: /usr/share/apm-server/apm-server.yml
name: apmserver-config
readOnly: true
subPath: apm-server.yml
volumes:
- configMap:
defaultMode: 420
name: apmserver-config
name: apmserver-config
configMap
apiVersion: v1
kind: ConfigMap
metadata:
labels:
app.kubernetes.io/name: apmserver
name: apmserver-config
data:
apm-server.yml: |-
apm-server:
host: "0.0.0.0:8200"
output.elasticsearch:
hosts: [ "http://elasticsearch-svc.elastic.svc.cluster.local:9200" ]
elasticSearch 구성
elasticSearch service
apiVersion: v1
kind: Service
metadata:
labels:
app: elasticsearch
name: elasticsearch-svc
namespace: elastic
spec:
ports:
- name: elasticsearch-rest
nodePort: 30920
port: 9200
protocol: TCP
targetPort: 9200
- name: elasticsearch-nodecom
nodePort: 30930
port: 9300
protocol: TCP
targetPort: 9300
selector:
app: elasticsearch
type: NodePort
elasticSearch deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: elasticsearch
namespace: elastic
labels:
app: elasticsearch
spec:
replicas: 1
selector:
matchLabels:
app: elasticsearch
template:
metadata:
labels:
app: elasticsearch
spec:
containers:
- name: elasticsearch
image: elastic/elasticsearch:7.15.0
env:
- name: discovery.type
value: single-node
ports:
- containerPort: 9200
- containerPort: 9300
kibana 구성
kibana service
apiVersion: v1
kind: Service
metadata:
labels:
app: kibana
name: kibana-svc
namespace: elastic
spec:
ports:
- nodePort: 30561
port: 5601
protocol: TCP
targetPort: 5601
selector:
app: kibana
type: NodePort
kibana deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: kibana
namespace: elastic
labels:
app: kibana
spec:
replicas: 1
selector:
matchLabels:
app: kibana
template:
metadata:
labels:
app: kibana
spec:
containers:
- name: kibana
image: elastic/kibana:7.15.0
env:
- name: SERVER_NAME
value: "kibana.kubenetes.example.com"
- name: SERVER_HOST
value: "0.0.0.0"
- name: ELASTICSEARCH_HOSTS
value: "http://elasticsearch-svc.elastic.svc.cluster.local:9200"
ports:
- containerPort: 5601