Skip to content

Commit ece07d5

Browse files
authored
Merge pull request #85 from Yolean/storage-classes-1.8
Use k8s 1.8 storage class syntax and set Retain by default
2 parents 2e90c7e + 9c6f0e1 commit ece07d5

File tree

7 files changed

+37
-9
lines changed

7 files changed

+37
-9
lines changed

50kafka.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ spec:
7979
name: data
8080
spec:
8181
accessModes: [ "ReadWriteOnce" ]
82+
storageClassName: kafka-broker
8283
resources:
8384
requests:
8485
storage: 200Gi

README.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ The goal is to provide [Bootstrap servers](http://kafka.apache.org/documentation
3030

3131
Zookeeper at `zookeeper.kafka.svc.cluster.local:2181`.
3232

33+
## Prepare storage classes
34+
35+
For Minikube run `kubectl apply -f configure/minikube-storageclass-broker.yml; kubectl apply -f configure/minikube-storageclass-zookeeper.yml`.
36+
37+
There's a similar setup for GKE, `configure/gke-*`. You might want to tweak it before creating.
38+
3339
## Start Zookeeper
3440

3541
The [Kafka book](https://www.confluent.io/resources/kafka-definitive-guide-preview-edition/) recommends that Kafka has its own Zookeeper cluster with at least 5 instances.
@@ -64,14 +70,6 @@ For clusters that enfoce [RBAC](https://kubernetes.io/docs/admin/authorization/r
6470
kubectl apply -f rbac-namespace-default/
6571
```
6672

67-
## Caution: `Delete` Reclaim Policy is default
68-
69-
In production you likely want to [manually set Reclaim Policy](https://kubernetes.io/docs/tasks/administer-cluster/change-pv-reclaim-policy/),
70-
or your data will be gone if the generated [volume claim](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims)s are deleted.
71-
72-
This can't be done [in manifests](https://github.com/Yolean/kubernetes-kafka/pull/50),
73-
at least not [until Kubernetes 1.8](https://github.com/kubernetes/features/issues/352).
74-
7573
## Tests
7674

7775
Tests are based on the [kube-test](https://github.com/Yolean/kube-test) concept.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
kind: StorageClass
2+
apiVersion: storage.k8s.io/v1
3+
metadata:
4+
name: kafka-broker
5+
provisioner: kubernetes.io/gce-pd
6+
reclaimPolicy: Retain
7+
parameters:
8+
type: pd-standard
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
kind: StorageClass
2+
apiVersion: storage.k8s.io/v1
3+
metadata:
4+
name: kafka-zookeeper
5+
provisioner: kubernetes.io/gce-pd
6+
reclaimPolicy: Retain
7+
parameters:
8+
type: pd-ssd
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
kind: StorageClass
2+
apiVersion: storage.k8s.io/v1
3+
metadata:
4+
name: kafka-broker
5+
provisioner: k8s.io/minikube-hostpath
6+
reclaimPolicy: Retain
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
kind: StorageClass
2+
apiVersion: storage.k8s.io/v1
3+
metadata:
4+
name: kafka-zookeeper
5+
provisioner: k8s.io/minikube-hostpath
6+
reclaimPolicy: Retain

zookeeper/50pzoo.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ spec:
6363
name: data
6464
spec:
6565
accessModes: [ "ReadWriteOnce" ]
66+
storageClassName: kafka-zookeeper
6667
resources:
6768
requests:
68-
storage: 10Gi
69+
storage: 1Gi

0 commit comments

Comments
 (0)