This commit is contained in:
jooho
2021-12-26 17:08:41 +09:00
parent d6e543eb24
commit 628f2ace5a
97 changed files with 3958 additions and 0 deletions

View File

@@ -0,0 +1,44 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: elasticsearch-deployment
labels:
env: production
tier: backend
app: elasticsearch
name: elasticsearch-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: backend
app: elasticsearch
name: elasticsearch-pod
template:
metadata:
labels:
env: production
tier: backend
app: elasticsearch
name: elasticsearch-pod
spec:
containers:
- name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.1
imagePullPolicy: Always
env:
- name: discovery.type
value: single-node
- name: ES_JAVA_OPTS
value: "-Xms512m -Xmx512m"
- name: TZ
valueFrom:
configMapKeyRef:
name: common-configmap
key: TZ
ports:
- containerPort: 9200
name: http
- containerPort: 9300
name: tcp

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
name: elasticsearch
labels:
env: production
tier: backend
app: elasticsearch
name: elasticsearch-service
spec:
selector:
env: production
tier: backend
app: elasticsearch
name: elasticsearch-pod
ports:
- port: 9200
protocol: TCP
targetPort: 9200

View File

@@ -0,0 +1,19 @@
# kubectl create configmap kibana-configmap --from-file=config/kibana.yml
apiVersion: v1
kind: ConfigMap
metadata:
name: kibana-configmap
labels:
env: production
tier: backend
app: kibana
name: kibana-configmap
data:
kibana.yml: |
server.name: kibana
server.host: "0.0.0.0"
## X-Pack security credentials
# xpack.monitoring.ui.container.elasticsearch.enabled: true
# elasticsearch.username: elastic
# elasticsearch.password: changeme

View File

@@ -0,0 +1,48 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: kibana-deployment
labels:
env: production
tier: backend
app: kibana
name: kibana-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: backend
app: kibana
name: kibana-pod
template:
metadata:
labels:
env: production
tier: backend
app: kibana
name: kibana-pod
spec:
containers:
- name: kibana
image: docker.elastic.co/kibana/kibana:7.10.1
env:
- name: ELASTICSEARCH_URL
value: http://elasticsearch.default.svc.cluster.local:9200
- name: ELASTICSEARCH_HOSTS
value: '["http://elasticsearch.default.svc.cluster.local:9200"]'
- name: TZ
valueFrom:
configMapKeyRef:
name: common-configmap
key: TZ
ports:
- containerPort: 5601
name: http
volumeMounts:
- name: kibana-config-volumne
mountPath: /usr/share/kibana/config/
volumes:
- name: kibana-config-volumne
configMap:
name: kibana-configmap

View File

@@ -0,0 +1,18 @@
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: kibana-ingress
labels:
env: production
tier: logging
app: kibana
name: kibana-ingress
spec:
rules:
- host: <ELK Kibana 도메인> # TODO
http:
paths:
- path: /
backend:
serviceName: kibana
servicePort: 5601

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
name: kibana
labels:
env: production
tier: backend
app: kibana
name: kibana-service
spec:
selector:
env: production
tier: backend
app: kibana
name: kibana-pod
ports:
- protocol: TCP
port: 5601
targetPort: 5601

View File

@@ -0,0 +1,36 @@
#kubectl create configmap logstash-configmap --from-file=config/logstash.yml --from-file=pipeline/logstash.conf
apiVersion: v1
kind: ConfigMap
metadata:
name: logstash-configmap
labels:
env: production
tier: backend
app: logstash
name: logstash-configmap
data:
logstash.conf: |
# LogstashTcpSocketAppender
input {
tcp {
port => 8088
codec => json_lines
}
}
output {
elasticsearch {
hosts => "http://elasticsearch.default.svc.cluster.local:9200"
}
}
logstash.yml: |-
# http.host: "0.0.0.0"
http.host: "127.0.0.1"
path.config: /usr/share/logstash/pipeline
# pipeline.workers: 2
## X-Pack security credentials
#
# xpack.monitoring.enabled: true
# xpack.monitoring.elasticsearch.username: elastic
# xpack.monitoring.elasticsearch.password: changeme

View File

@@ -0,0 +1,55 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: logstash-deployment
labels:
env: production
tier: backend
app: logstash
name: logstash-deployment
spec:
replicas: 1
selector:
matchLabels:
env: production
tier: backend
app: logstash
name: logstash-pod
template:
metadata:
labels:
env: production
tier: backend
app: logstash
name: logstash-pod
spec:
containers:
- name: logstash
image: docker.elastic.co/logstash/logstash:7.10.1
ports:
- containerPort: 8088
resources:
requests:
cpu: 300m
memory: 512Mi
limits:
cpu: 300m
memory: 512Mi
volumeMounts:
- name: logstash-config-volume
mountPath: /usr/share/logstash/config
- name: logstash-pipeline-volume
mountPath: /usr/share/logstash/pipeline
volumes:
- name: logstash-config-volume
configMap:
name: logstash-configmap
items:
- key: logstash.yml
path: logstash.yml
- name: logstash-pipeline-volume
configMap:
name: logstash-configmap
items:
- key: logstash.conf
path: logstash.conf

View File

@@ -0,0 +1,19 @@
apiVersion: v1
kind: Service
metadata:
name: logstash
labels:
env: production
tier: backend
app: logstash
name: logstash-service
spec:
selector:
env: production
tier: backend
app: logstash
name: logstash-pod
ports:
- protocol: TCP
port: 8088
targetPort: 8088