123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- apiVersion: v1
- kind: Service
- metadata:
- name: kafka-svc
- namespace: qa
- labels:
- app: kafka
- spec:
- ports:
- - port: 9093
- name: server
- clusterIP: None #创建无头服务,如果需要对外暴露端口可自行创建service
- selector:
- app: kafka
- ---
- apiVersion: policy/v1beta1
- kind: PodDisruptionBudget
- metadata:
- name: kafka-pdb
- namespace: qa
- spec:
- selector:
- matchLabels:
- app: kafka
- minAvailable: 2
- ---
- apiVersion: apps/v1
- kind: StatefulSet
- metadata:
- name: kafka
- namespace: qa
- spec:
- selector:
- matchLabels:
- app: kafka
- serviceName: kafka-svc
- replicas: 3
- updateStrategy:
- type: RollingUpdate
- podManagementPolicy: OrderedReady
- template:
- metadata:
- name: kafka
- labels:
- app: kafka
- spec:
- affinity:
- podAntiAffinity:
- requiredDuringSchedulingIgnoredDuringExecution:
- - labelSelector:
- matchExpressions:
- - key: "app"
- operator: In
- values:
- - kafka
- topologyKey: "kubernetes.io/hostname"
- initContainers:
- - name: init
- image: hub.evbj.easou.com/dev/busybox
- command: [ "chmod","777","-R","/data" ]
- imagePullPolicy: Always
- volumeMounts:
- - name: data
- mountPath: /data
- containers:
- - name: kafka
- image: "docker.io/bitnami/kafka:2.4.1-debian-10-r58"
- imagePullPolicy: Always
- resources:
- limits:
- cpu: 500m
- memory: 512Mi
- requests:
- cpu: 250m
- memory: 256Mi
- env:
- - name: KAFKA_POD_IP
- valueFrom:
- fieldRef:
- fieldPath: status.podIP
- - name: KAFKA_POD_NAME
- valueFrom:
- fieldRef:
- fieldPath: metadata.name
- - name: KAFKA_CFG_ZOOKEEPER_CONNECT
- value: "zk-cs.qa.svc.cluster.local:2181"
- - name: KAFKA_PORT_NUMBER
- value: "9093"
- - name: KAFKA_CFG_LISTENERS
- value: "PLAINTEXT://:$(KAFKA_PORT_NUMBER)"
- - name: KAFKA_CFG_ADVERTISED_LISTENERS
- value: 'PLAINTEXT://$(KAFKA_POD_NAME).kafka-svc:$(KAFKA_PORT_NUMBER)'
- - name: ALLOW_PLAINTEXT_LISTENER
- value: "yes"
- - name: KAFKA_HEAP_OPTS
- value: "-Xmx512m -Xms512m"
- - name: KAFKA_CFG_LOGS_DIRS
- value: /data/kafka/data
- - name: JMX_PORT
- value: "9988"
- ports:
- - name: kafka
- containerPort: 9093
- livenessProbe:
- tcpSocket:
- port: kafka
- initialDelaySeconds: 10
- periodSeconds: 10
- timeoutSeconds: 5
- successThreshold: 1
- failureThreshold: 2
- readinessProbe:
- tcpSocket:
- port: kafka
- initialDelaySeconds: 5
- periodSeconds: 10
- timeoutSeconds: 5
- successThreshold: 1
- failureThreshold: 6
- volumeMounts:
- - name: data
- mountPath: /data/kafka
- volumeClaimTemplates:
- - metadata:
- name: data
- spec:
- storageClassName: rbd
- accessModes:
- - "ReadWriteOnce"
- resources:
- requests:
- storage: 100Gi
|