Skip to content

Commit

Permalink
Initial Kubernetes manifests
Browse files Browse the repository at this point in the history
  • Loading branch information
geku committed Jun 15, 2017
0 parents commit 7ec5b78
Show file tree
Hide file tree
Showing 7 changed files with 329 additions and 0 deletions.
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Zipkin Setup

Zipkin demo with

* Kafka for transport
* MySQL as storage
* Zipkin configured with Kafka collector, API and UI
* Zookeeper and Kafka
* MySQL DB


## TODO

* Automate MYSQL schema installation
* https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql/README.md
* https://raw.githubusercontent.com/openzipkin/zipkin/master/zipkin-storage/mysql/src/main/resources/mysql.sql


58 changes: 58 additions & 0 deletions demo.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#
# Zipkin Demo App
#
apiVersion: v1
kind: Service
metadata:
name: zipkin-demo
namespace: tracing
labels:
app: zipkin-demo
spec:
ports:
- name: demo-svc
port: 8080
targetPort: 8080
protocol: TCP
selector:
app: zipkin-demo
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: zipkin-demo
namespace: tracing
labels:
app: zipki-demo
spec:
replicas: 1
template:
metadata:
labels:
app: zipkin-demo
spec:
containers:
- name: demo-app
image: zipkin-demo
imagePullPolicy: IfNotPresent
ports:
- name: web
containerPort: 8080
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: zipkin-demo
namespace: tracing
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
# any valid host for your ingress
- host: demo.demo.com
http:
paths:
- path: /
backend:
serviceName: demo-svc
servicePort: 8080
50 changes: 50 additions & 0 deletions kafka-manager.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
apiVersion: v1
kind: Service
metadata:
name: kafka-manager-svc
namespace: ephemeral-kafka
spec:
ports:
- port: 9000
protocol: TCP
selector:
service: kafka-manager
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: kafka-manager
namespace: ephemeral-kafka
spec:
replicas: 1
template:
metadata:
labels:
service: kafka-manager
spec:
containers:
- env:
- name: ZK_HOSTS
value: "zookeeper-svc:2181"
image: sheepkiller/kafka-manager
name: kafka-manager
ports:
- containerPort: 9000
protocol: TCP
restartPolicy: Always
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kafka-manager
namespace: ephemeral-kafka
spec:
rules:
# any valid host for your ingress
- host: kafka-manager.demo.com
http:
paths:
- path: /
backend:
serviceName: kafka-manager-svc
servicePort: 9000
40 changes: 40 additions & 0 deletions kafka.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
apiVersion: v1
kind: Service
metadata:
name: kafka-svc
namespace: ephemeral-kafka
spec:
ports:
- port: 9092
protocol: TCP
selector:
service: kafka
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: kafka
namespace: ephemeral-kafka
spec:
replicas: 2
template:
metadata:
labels:
service: kafka
spec:
containers:
- env:
- name: KAFKA_ADVERTISED_PORT
value: "9092"
- name: KAFKA_ZOOKEEPER_CONNECT
value: zookeeper-svc:2181
- name: KAFKA_ADVERTISED_HOST_NAME
valueFrom:
fieldRef:
fieldPath: status.podIP
image: wurstmeister/kafka:0.10.2.0-1
name: kafka
ports:
- containerPort: 9092
protocol: TCP
restartPolicy: Always
81 changes: 81 additions & 0 deletions zipkin-app.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
#
# Provides
# UI: /
# API: /api/v1
# health: /health
# metrics: /metrics
# see https://github.com/openzipkin/zipkin/blob/master/zipkin-server/README.md
apiVersion: v1
kind: Namespace
metadata:
name: tracing
---
apiVersion: v1
kind: Service
metadata:
name: zipkin-svc
namespace: tracing
spec:
ports:
- port: 9411
protocol: TCP
targetPort: 9411
selector:
app: zipkin-app
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: zipkin-app
namespace: tracing
spec:
replicas: 1
template:
metadata:
labels:
app: zipkin-app
spec:
containers:
- name: zipkin
image: openzipkin/zipkin
env:
# Enable Kafka collector
- name: KAFKA_BOOTSTRAP_SERVERS
value: kafka-svc.ephemeral-kafka:9092
- name: STORAGE_TYPE
value: mysql
- name: MYSQL_DB
value: zipkin
- name: MYSQL_USER
value: zipkin
- name: MYSQL_PASS
value: klj234jkhkj534bkfwl
- name: MYSQL_HOST
value: zipkin-mysql-svc
- name: MYSQL_TCP_PORT
value: "3306"
# COLLECTOR_SAMPLE_RATE: Percentage of traces to retain, defaults to always sample (1.0)
- name: COLLECTOR_SAMPLE_RATE
value: "1.0"
ports:
- containerPort: 9411
protocol: TCP
restartPolicy: Always
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: zipkin-ui
namespace: tracing
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
# any valid host for your ingress
- host: zipkin.demo.com
http:
paths:
- path: /
backend:
serviceName: zipkin-svc
servicePort: 9411
51 changes: 51 additions & 0 deletions zipkin-mysql.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
apiVersion: v1
kind: Namespace
metadata:
name: tracing
---
apiVersion: v1
kind: Service
metadata:
name: zipkin-mysql-svc
namespace: tracing
spec:
ports:
- port: 3306
protocol: TCP
targetPort: 3306
selector:
service: zipkin-mysql
---
apiVersion: v1
kind: Pod
metadata:
name: zipkin-mysql
namespace: tracing
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ""
labels:
service: zipkin-mysql
spec:
containers:
- name: mysql
image: mysql:5.7
env:
- name: MYSQL_ROOT_PASSWORD
value: dsfoh234jhkjkfs
- name: MYSQL_USER
value: zipkin
- name: MYSQL_PASSWORD
value: klj234jkhkj534bkfwl
- name: MYSQL_DATABASE
value: zipkin
ports:
- name: client
containerPort: 3306
protocol: "TCP"
volumeMounts:
- name: mysql-data
mountPath: /var/lib/mysql
volumes:
- name: mysql-data
hostPath:
path: /var/lib/data/myslq/zipkin
31 changes: 31 additions & 0 deletions zookeeper.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
apiVersion: v1
kind: Service
metadata:
name: zookeeper-svc
namespace: ephemeral-kafka
spec:
ports:
- port: 2181
protocol: TCP
selector:
service: zookeeper
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: zookeeper
namespace: ephemeral-kafka
spec:
replicas: 1
template:
metadata:
labels:
service: zookeeper
spec:
containers:
- name: zookeeper
image: wurstmeister/zookeeper
ports:
- containerPort: 2181
protocol: TCP
restartPolicy: Always

0 comments on commit 7ec5b78

Please sign in to comment.