123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- apiVersion: v1
- kind: Service
- metadata:
- name: kafka-service
- labels:
- run: kafka
- annotations:
- metallb.universe.tf/allow-shared-ip: "kafka"
- # namespace: kafka
- spec:
- ports:
- - name: kafka
- protocol: TCP
- port: 9092
- targetPort: 9092
- selector:
- run: kafka
- type: LoadBalancer
- loadBalancerIP: 10.42.42.238
- externalTrafficPolicy: Local
- #---
- #apiVersion: v1
- #kind: Service
- #metadata:
- # name: kafka-udp
- # labels:
- # run: kafka
- # annotations:
- # metallb.universe.tf/allow-shared-ip: "kafka"
- #spec:
- # ports:
- # - name: dns
- # protocol: UDP
- # port: 53
- # targetPort: 53
- # selector:
- # run: kafka
- # type: LoadBalancer
- # loadBalancerIP: 10.42.42.238
- # externalTrafficPolicy: Local
- ---
- apiVersion: v1
- kind: PersistentVolume
- metadata:
- name: kafka
- # namespace: kafka
- spec:
- capacity:
- storage: 5Mi
- volumeMode: Filesystem
- accessModes:
- - ReadWriteMany
- persistentVolumeReclaimPolicy: Retain # Keep 4eva
- storageClassName: default
- mountOptions:
- - hard
- - nfsvers=3
- nfs:
- path: /mnt/DroboFS/Shares/Kubernetes/volumes/static/kafka
- server: 10.42.42.10
- claimRef:
- name: kafka
- # namespace: default
- ---
- apiVersion: v1
- kind: PersistentVolumeClaim
- metadata:
- name: kafka
- annotations:
- nfs.io/storage-path: "kafka"
- # namespace: kafka
- spec:
- storageClassName: default
- accessModes:
- - ReadWriteMany
- resources:
- requests:
- storage: 5Mi
- status: {}
- ---
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: kafka
- # namespace: kafka
- spec:
- replicas: 1
- selector:
- matchLabels:
- run: kafka
- strategy:
- type: Recreate
- template:
- metadata:
- labels:
- run: kafka
- spec:
- terminationGracePeriodSeconds: 30
- containers:
- - image: ubuntu/kafka:latest
- imagePullPolicy: "Always"
- name: kafka
- env:
- - name: TZ
- value: US/Michigan
- - name: ZOOKEEPER_HOST
- value: 10.152.183.45
- # Gather from kubectl get services -n kafka
- - name: ZOOKEEPER_PORT
- value: "2181"
- args: ["/etc/kafka/server.properties"]
- # args: ["/etc/kafka/server.properties", "--override", "advertised.listeners=PLAINTEXT://kafka-service:9092"]
- # args: ["--override", "advertised.listeners=PLAINTEXT://kafka.home.monkeybox.org:9092"]
- ports:
- - containerPort: 9092
- name: kafka
- protocol: TCP
- resources: {}
- volumeMounts:
- - mountPath: /kafka
- name: kafka
- restartPolicy: Always
- volumes:
- - name: kafka
- persistentVolumeClaim:
- claimName: kafka
- status: {}
- #---
- ## Hosting
- #apiVersion: networking.k8s.io/v1
- #kind: Ingress
- #metadata:
- # name: kafka-management
- # annotations:
- # #nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
- # #nginx.ingress.kubernetes.io/proxy-ssl-verify: "off"
- # cert-manager.io/cluster-issuer: "letsencrypt-prod"
- #spec:
- # tls:
- # - hosts:
- # - kafka.monkeybox.org
- # secretName: kafka-tls
- # rules:
- # - host: kafka.monkeybox.org
- # http:
- # paths:
- # - path: /
- # pathType: Prefix
- # backend:
- # service:
- # name: kafka-service
- # port:
- # number: 80
|