Skip to content

Instantly share code, notes, and snippets.

@zerda
Created April 8, 2017 21:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save zerda/d17ef57c904b447ec676fb7908b99554 to your computer and use it in GitHub Desktop.
Save zerda/d17ef57c904b447ec676fb7908b99554 to your computer and use it in GitHub Desktop.
ELK in Kubernetes
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: elasticsearch-logging
namespace: kube-system
labels:
k8s-app: elasticsearch-logging
spec:
replicas: 1
template:
metadata:
labels:
k8s-app: elasticsearch-logging
spec:
containers:
- image: docker.elastic.co/elasticsearch/elasticsearch:5.3.0
name: elasticsearch
resources:
# need more cpu upon initialization, therefore burstable class
limits:
cpu: 1000m
memory: 900Mi
requests:
cpu: 500m
memory: 300Mi
ports:
- containerPort: 9200
name: db
protocol: TCP
- containerPort: 9300
name: transport
protocol: TCP
volumeMounts:
- name: es-persistent-storage
mountPath: /data
env:
- name: "NAMESPACE"
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: "ES_JAVA_OPTS"
value: "-Xms512m -Xmx512m"
volumes:
- name: es-persistent-storage
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: elasticsearch-logging
namespace: kube-system
labels:
k8s-app: elasticsearch-logging
kubernetes.io/name: "Elasticsearch"
spec:
ports:
- port: 9200
protocol: TCP
targetPort: db
selector:
k8s-app: elasticsearch-logging
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: kibana-logging
namespace: kube-system
labels:
k8s-app: kibana-logging
spec:
replicas: 1
selector:
matchLabels:
k8s-app: kibana-logging
template:
metadata:
labels:
k8s-app: kibana-logging
spec:
containers:
- name: kibana-logging
image: docker.elastic.co/kibana/kibana:5.3.0
resources:
requests:
memory: 300Mi
env:
- name: "ELASTICSEARCH_URL"
value: "http://elasticsearch-logging:9200"
- name: "SERVER_BASEPATH"
value: "/kibana"
ports:
- containerPort: 5601
name: ui
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
name: kibana-logging
namespace: kube-system
labels:
k8s-app: kibana-logging
kubernetes.io/name: "Kibana"
spec:
selector:
k8s-app: kibana-logging
ports:
- name: http
port: 80
targetPort: 5601
protocol: TCP
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment