123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- #部署 Service Headless,用于Kafka间相互通信
- apiVersion: v1
- kind: Service
- metadata:
- name: kafka-headless
- namespace: [ENV]
- labels:
- app: kafka
- spec:
- type: ClusterIP
- clusterIP: None
- ports:
- - name: kafka
- port: 9093
- targetPort: kafka
- selector:
- app: kafka
- ---
- #部署 Service,用于外部访问 Kafka
- apiVersion: v1
- kind: Service
- metadata:
- name: kafka
- namespace: [ENV]
- labels:
- app: kafka
- spec:
- type: ClusterIP
- ports:
- - name: kafka
- port: 9093
- targetPort: kafka
- selector:
- app: kafka
- ---
- apiVersion: apps/v1
- kind: StatefulSet
- metadata:
- namespace: [ENV]
- name: "kafka"
- labels:
- app: kafka
- spec:
- selector:
- matchLabels:
- app: kafka
- serviceName: kafka-headless
- podManagementPolicy: "Parallel"
- replicas: 3
- updateStrategy:
- type: "RollingUpdate"
- template:
- metadata:
- name: "kafka"
- labels:
- app: kafka
- spec:
- initContainers:
- - name: init
- image: hub.evbj.easou.com/dev/busybox
- command: [ "chmod","777","-R","/data" ]
- imagePullPolicy: Always
- volumeMounts:
- - name: volume
- mountPath: /data
- containers:
- - name: kafka
- image: "docker.io/bitnami/kafka:2.12-2.4.1"
- imagePullPolicy: Always
- resources:
- limits:
- cpu: 500m
- memory: 512Mi
- requests:
- cpu: 250m
- memory: 256Mi
- env:
- - name: MY_POD_IP
- valueFrom:
- fieldRef:
- fieldPath: status.podIP
- - name: MY_POD_NAME
- valueFrom:
- fieldRef:
- fieldPath: metadata.name
- - name: KAFKA_CFG_ZOOKEEPER_CONNECT
- value: "zk-cs.[ENV].svc.cluster.local:2181" #Zookeeper Service 名称
- - name: KAFKA_PORT_NUMBER
- value: "9093"
- - name: KAFKA_CFG_LISTENERS
- value: "PLAINTEXT://:$(KAFKA_PORT_NUMBER)"
- - name: KAFKA_CFG_ADVERTISED_LISTENERS
- value: 'PLAINTEXT://$(MY_POD_NAME).kafka-headless:$(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 #指定为上面创建的 storageclass
- accessModes:
- - "ReadWriteOnce"
- resources:
- requests:
- storage: 100Gi
|