From ee897eac606cff77c4dea008717035d75e3335c1 Mon Sep 17 00:00:00 2001 From: Staffan Olsson Date: Mon, 8 Jan 2018 17:13:56 +0100 Subject: [PATCH] Adds volumes for https://github.com/Yolean/kubernetes-kafka/pull/118 --- README.md | 6 ++++ local-volume/kafka/data-kafka-0.yml | 45 +++++++++++++++++++++++++ local-volume/kafka/data-kafka-1.yml | 45 +++++++++++++++++++++++++ local-volume/kafka/data-pzoo-0.yml | 46 ++++++++++++++++++++++++++ local-volume/kafka/data-pzoo-1.yml | 46 ++++++++++++++++++++++++++ local-volume/kafka/kafka-broker.yml | 6 ++++ local-volume/kafka/kafka-zookeeper.yml | 6 ++++ 7 files changed, 200 insertions(+) create mode 100644 local-volume/kafka/data-kafka-0.yml create mode 100644 local-volume/kafka/data-kafka-1.yml create mode 100644 local-volume/kafka/data-pzoo-0.yml create mode 100644 local-volume/kafka/data-pzoo-1.yml create mode 100644 local-volume/kafka/kafka-broker.yml create mode 100644 local-volume/kafka/kafka-zookeeper.yml diff --git a/README.md b/README.md index d4a8ce0..64fe61a 100644 --- a/README.md +++ b/README.md @@ -63,4 +63,10 @@ vagrant ssh yolean-k8s-1 -c 'sudo mkdir -p /mnt/local-storage/mysql-mariadb-0' vagrant ssh yolean-k8s-2 -c 'sudo mkdir -p /mnt/local-storage/mysql-mariadb-1' kubectl apply -f local-volume/mysql-cluster/ # and now that the PVC is created (with matchLabels), apply the manifests from kubernetes-mysql-cluster + +# https://github.com/Yolean/kubernetes-kafka/tree/scale-2 +vagrant ssh yolean-k8s-1 -c 'sudo mkdir /mnt/local-storage/data-pzoo-0' +vagrant ssh yolean-k8s-2 -c 'sudo mkdir /mnt/local-storage/data-pzoo-1' +vagrant ssh yolean-k8s-1 -c 'sudo mkdir /mnt/local-storage/data-kafka-0' +vagrant ssh yolean-k8s-2 -c 'sudo mkdir /mnt/local-storage/data-kafka-1' ``` diff --git a/local-volume/kafka/data-kafka-0.yml b/local-volume/kafka/data-kafka-0.yml new file mode 100644 index 0000000..e028f7c --- /dev/null +++ b/local-volume/kafka/data-kafka-0.yml @@ -0,0 +1,45 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + app: kafka + name: data-kafka-0 + namespace: kafka +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Gi + storageClassName: kafka-broker + selector: + matchLabels: + pod-name: kafka-0 +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: data-kafka-0 + labels: + pod-name: kafka-0 + annotations: + "volume.alpha.kubernetes.io/node-affinity": '{ + "requiredDuringSchedulingIgnoredDuringExecution": { + "nodeSelectorTerms": [ + { "matchExpressions": [ + { "key": "kubernetes.io/hostname", + "operator": "In", + "values": ["yolean-k8s-1"] + } + ]} + ]}}' +spec: + capacity: + storage: 200Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: kafka-broker + local: + path: /mnt/local-storage/data-kafka-0 diff --git a/local-volume/kafka/data-kafka-1.yml b/local-volume/kafka/data-kafka-1.yml new file mode 100644 index 0000000..0d22939 --- /dev/null +++ b/local-volume/kafka/data-kafka-1.yml @@ -0,0 +1,45 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + app: kafka + name: data-kafka-1 + namespace: kafka +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 200Gi + storageClassName: kafka-broker + selector: + matchLabels: + pod-name: kafka-1 +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: data-kafka-1 + labels: + pod-name: kafka-1 + annotations: + "volume.alpha.kubernetes.io/node-affinity": '{ + "requiredDuringSchedulingIgnoredDuringExecution": { + "nodeSelectorTerms": [ + { "matchExpressions": [ + { "key": "kubernetes.io/hostname", + "operator": "In", + "values": ["yolean-k8s-2"] + } + ]} + ]}}' +spec: + capacity: + storage: 200Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: kafka-broker + local: + path: /mnt/local-storage/data-kafka-1 diff --git a/local-volume/kafka/data-pzoo-0.yml b/local-volume/kafka/data-pzoo-0.yml new file mode 100644 index 0000000..4e3b4ec --- /dev/null +++ b/local-volume/kafka/data-pzoo-0.yml @@ -0,0 +1,46 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + app: zookeeper + storage: persistent + name: data-pzoo-0 + namespace: kafka +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageClassName: kafka-zookeeper + selector: + matchLabels: + pod-name: pzoo-0 +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: data-pzoo-0 + labels: + pod-name: pzoo-0 + annotations: + "volume.alpha.kubernetes.io/node-affinity": '{ + "requiredDuringSchedulingIgnoredDuringExecution": { + "nodeSelectorTerms": [ + { "matchExpressions": [ + { "key": "kubernetes.io/hostname", + "operator": "In", + "values": ["yolean-k8s-1"] + } + ]} + ]}}' +spec: + capacity: + storage: 1Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: kafka-zookeeper + local: + path: /mnt/local-storage/data-pzoo-0 diff --git a/local-volume/kafka/data-pzoo-1.yml b/local-volume/kafka/data-pzoo-1.yml new file mode 100644 index 0000000..bce12b5 --- /dev/null +++ b/local-volume/kafka/data-pzoo-1.yml @@ -0,0 +1,46 @@ +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + app: zookeeper + storage: persistent + name: data-pzoo-1 + namespace: kafka +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageClassName: kafka-zookeeper + selector: + matchLabels: + pod-name: pzoo-1 +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: data-pzoo-1 + labels: + pod-name: pzoo-1 + annotations: + "volume.alpha.kubernetes.io/node-affinity": '{ + "requiredDuringSchedulingIgnoredDuringExecution": { + "nodeSelectorTerms": [ + { "matchExpressions": [ + { "key": "kubernetes.io/hostname", + "operator": "In", + "values": ["yolean-k8s-2"] + } + ]} + ]}}' +spec: + capacity: + storage: 1Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: kafka-zookeeper + local: + path: /mnt/local-storage/data-pzoo-1 diff --git a/local-volume/kafka/kafka-broker.yml b/local-volume/kafka/kafka-broker.yml new file mode 100644 index 0000000..6e09ece --- /dev/null +++ b/local-volume/kafka/kafka-broker.yml @@ -0,0 +1,6 @@ +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: kafka-broker +provisioner: kubernetes.io/no-provisioner +volumeBindingMode: WaitForFirstConsumer diff --git a/local-volume/kafka/kafka-zookeeper.yml b/local-volume/kafka/kafka-zookeeper.yml new file mode 100644 index 0000000..048eae2 --- /dev/null +++ b/local-volume/kafka/kafka-zookeeper.yml @@ -0,0 +1,6 @@ +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: kafka-zookeeper +provisioner: kubernetes.io/no-provisioner +volumeBindingMode: WaitForFirstConsumer