Şöyle yaparız. Burada servis için clusterIP: None kullanılıyor. Böylece headless bir servis yaratılıyor. Bu sayede DNS'e uğramandan direkt Pod'a gidilir. Ayrıca 3 tane StatefulSet Pod yaratılıyor. Bu Pod'lar her zaman sabit bir kimliğe sahip. Yani DNS'e gerek yok.
apiVersion: apps/v1kind: StatefulSetmetadata:name: kafkaspec:selector:matchLabels:app: kafkaserviceName: kafkareplicas: 3updateStrategy:type: RollingUpdatetemplate:metadata:labels:app: kafkaspec:hostname: kafkacontainers:- name: kafkaimage: <kafka-image>env:- name: KAFKA_ZOOKEEPER_CONNECTvalue: <zookeeper-endpoints>- name: KAFKA_ADVERTISED_LISTENERSvalue: PLAINTEXT://$(hostname -f):9092ports:- containerPort: 9092name: kafkavolumeMounts:- name: datamountPath: /var/lib/kafka/datavolumes:- name: datapersistentVolumeClaim:claimName: kafka-datavolumeClaimTemplates:- metadata:name: kafka-dataspec:accessModes:- ReadWriteOnceresources:requests:storage: 10Gi---apiVersion: v1kind: Servicemetadata:name: kafkaspec:clusterIP: Noneports:- name: kafkaport: 9092targetPort: 9092selector:app: kafka
No comments:
Post a Comment