linkedin / linkedin/Burrow

add an example for deploying in kubernetes with the strimzi operator

Open
#809 2 comments 1 reaction 0 assignees View on GitHub
Dominant language
Go
Stars
4k
Forks
818
Avg merge
1h 14m
Merged PRs (30d)
1

Description

This is a minimal example, the deployment should be tuned.
```
apiVersion: v1
kind: ConfigMap
metadata:
name: burrow-config
data:
burrow.toml: |
[zookeeper]
servers=[ "{{cluster}}-cluster-zookeeper-client.{{namespace}}.svc.cluster.local:2181" ]
timeout=30
root-path="/tmp/zh"
tls="zookeeper"

[tls.zookeeper]
keyfile="/burrow-ca-key/ca.key"
certfile="/burrow-ca-crt/ca.crt"
cafile="/burrow-ca-crt/ca.crt"

[client-profile.default]
kafka-version="2.0.1"
client-id="borrow-client"

[cluster.local]
client-profile="default"
class-name="kafka"
servers=[ "{{cluster}}-cluster-kafka-brokers.{{namespace}}.svc.cluster.local:9092" ]
topic-refresh=60
offset-refresh=30
groups-reaper-refresh=30

[httpserver.default]
address=":8000"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: burrow
labels:
k8s-app: burrow
spec:
replicas: 1
selector:
matchLabels:
k8s-app: burrow
template:
metadata:
labels:
k8s-app: burrow
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8000"
spec:
imagePullSecrets:
- name: {{imagePullSecret}}
containers:
- name: burrow
image: {{registry}}burrow:{{version}}
ports:
- name: api
containerPort: 8000
readinessProbe:
httpGet:
path: /burrow/admin
port: 8000
livenessProbe:
httpGet:
path: /burrow/admin
port: 8000
resources:
limits:
cpu: 100m
memory: 256M
requests:
cpu: 10m
memory: 10M
volumeMounts:
- name: config
mountPath: /etc/burrow/
- name: tmp
mountPath: /tmp
- name: ca-key
mountPath: /burrow-ca-key
- name: ca-crt
mountPath: /burrow-ca-crt
volumes:
- name: config
configMap:
name: burrow-config
- name: ca-key
secret:
secretName: {{cluster}}-cluster-cluster-ca
- name: ca-crt
secret:
secretName: {{cluster}}-cluster-cluster-ca-cert
- name: tmp
emptyDir:
sizeLimit: 10Mi
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: burrow-network-policy-zookeeper
spec:
ingress:
- from:
- podSelector:
matchLabels:
k8s-app: burrow
ports:
- port: 2181
protocol: TCP
podSelector:
matchLabels:
strimzi.io/cluster: {{cluster}}-cluster
strimzi.io/kind: Kafka
strimzi.io/name: {{cluster}}-cluster-zookeeper
policyTypes:
- Ingress
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the repository's existing deployment or example documentation and compare the proposed ConfigMap, Deployment, and NetworkPolicy with Strimzi conventions. Done means adding a documented minimal Kubernetes example for Burrow that covers the shown placeholders, TLS mounts, probes, and Zookeeper network policy.

Written by the indexing model from the issue text.

Assessment

Tech stack
kafka, kubernetes
Domain
devops, infrastructure
Issue type
Documentation
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.