Kafka เปƒเบ™ Kubernetes เบ”เบตเบšเป?

เบŠเบปเบกเป€เบŠเบตเบ, Habr!

เปƒเบ™เป€เบงเบฅเบฒเบซเบ™เบถเปˆเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเปเบ™เบฐเบ™เปเบฒเบซเบปเบงเบ‚เปเป‰เบเบฑเบšเบ•เบฐเบซเบผเบฒเบ”เบฅเบฑเบ”เป€เบŠเบ Kafka เปเบฅเบฐเบชเบทเบšเบ•เปเปˆ เบ•เบดเบ”เบ•เบฒเบก เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เบ‚เบญเบ‡โ€‹เบ•เบปเบ™โ€‹. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบปเบšเป€เบซเบฑเบ™เบซเบปเบงเบ‚เปเป‰เบ‚เบญเบ‡เบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ Kafka เปเบฅเบฐ Kubernetes. เบชเบฑเบ‡เป€เบเบ”เป„เบ”เป‰ (เปเบฅเบฐเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡) เบšเบปเบ”เบ„เบงเบฒเบก เบซเบปเบงเบ‚เปเป‰เบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบžเบตเบกเบกเบฒเบขเบนเปˆเปƒเบ™ blog Confluent เบเบฑเบšเบ„เบทเบ™เป„เบ›เบšเปˆเบญเบ™เปƒเบ™เป€เบ”เบทเบญเบ™เบ•เบธเบฅเบฒเบ›เบตเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เบ›เบฐเบžเบฑเบ™เบ‚เบญเบ‡ Gwen Shapira. เบกเบทเป‰เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบขเบฒเบเบ”เบถเบ‡เบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป„เบ›เบซเบฒเบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบˆเบฒเบเป€เบ”เบทเบญเบ™เป€เบกเบชเบฒเป‚เบ”เบ Johann Gyger, เบœเบนเป‰เบ—เบตเปˆ, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบšเปเปˆเบกเบตเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบ„เปเบฒเบ–เบฒเบกเบขเบนเปˆเปƒเบ™เบซเบปเบงเบ‚เปเป‰, เบเบงเบ”เป€เบšเบดเปˆเบ‡เบซเบปเบงเบ‚เปเป‰เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบเบงเปˆเบฒ, เบกเบฒเบžเป‰เบญเบกเบเบฑเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆ. เบเบฐโ€‹เบฅเบธโ€‹เบ™เบฒโ€‹เบญเบฐโ€‹เป„เบžโ€‹เปƒเบซเป‰โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบเบฒเบ™โ€‹เปเบ›โ€‹เบžเบฒโ€‹เบชเบฒโ€‹เบŸเบฃเบตโ€‹เบ‚เบญเบ‡ "chaos monkeyโ€‹" เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบฎเบฑเบ”โ€‹เป„เบ”เป‰โ€‹!

Kafka เปƒเบ™ Kubernetes เบ”เบตเบšเป?

เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต

Kubernetes เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบงเบฝเบเบ—เบตเปˆเบšเปเปˆเบกเบตเบฅเบฑเบ”. เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบด, เบงเบฝเบเบ‡เบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบˆเบธเบฅเบฐเบžเบฒเบ, เบกเบฑเบ™เบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒ, เบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฒเบกเปเบ™เบงเบ™เบญเบ™, เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบซเบผเบฑเบเบเบฒเบ™เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ 12 เบ›เบฑเบ”เปƒเบˆ, เปเบฅเบฐเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ•เบปเบงเบ•เบฑเบ”เบงเบปเบ‡เบˆเบญเบ™เปเบฅเบฐเบฅเบตเบ‡ chaos.

Kafka, เปƒเบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, เบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เป€เบฎเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเปเบˆเบเบขเบฒเบ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบฅเบฑเบ”, เปเบฅเบฐเบกเบฑเบ™เบซเบ™เบฑเบเบเบงเปˆเบฒ microservice เบซเบผเบฒเบ. Kubernetes เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบญเบ‡เบฅเบฑเบ”, เปเบ•เปˆเบเป‰เบญเบ™เบงเปˆเบฒ Kelsey Hightower เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เปƒเบ™เบชเบญเบ‡ tweets, เบžเบงเบเป€เบ‚เบปเบฒเบ„เบงเบ™เบˆเบฐเบ–เบทเบเบˆเบฑเบ”เบเบฒเบ™เบ”เป‰เบงเบเบ„เบงเบฒเบกเบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡:

เบšเบฒเบ‡เบ„เบปเบ™เบฎเบนเป‰เบชเบถเบเบงเปˆเบฒเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเป‰เบงเบ™ Kubernetes เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบงเบฝเบเบ—เบตเปˆเบกเบตเบฅเบฑเบ”, เบกเบฑเบ™เบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆเบ—เบตเปˆเบ„เบนเปˆเปเบ‚เปˆเบ‡ RDS. เบญเบฑเบ™เบ™เบตเป‰เบœเบดเบ”. เบšเบฒเบ‡เบ—เบต, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบซเบ™เบฑเบเบžเบฝเบ‡เบžเป, เป€เบžเบตเปˆเบกเบญเบปเบ‡เบ›เบฐเบเบญเบšเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปเบฅเบฐเบ”เบถเบ‡เบ”เบนเบ”เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบงเบดเบชเบฐเบงเบฐเบเบญเบ™ SRE, เบ—เปˆเบฒเบ™เบˆเบฐเบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡ RDS เบขเบนเปˆเป€เบ—เบดเบ‡ Kubernetes.

เบ‚เป‰เบญเบเบ‚เปเปเบ™เบฐเบ™เบณเปƒเบซเป‰เบ—เบธเบเบ„เบปเบ™เปƒเบŠเป‰เบ„เบงเบฒเบกเบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เบขเปˆเบฒเบ‡เบชเบธเบ”เบ‚เบตเบ”เปƒเบ™เป€เบงเบฅเบฒเปเบฅเปˆเบ™เบงเบฝเบเบ—เบตเปˆเบกเบตเบชเบฐเบ–เบฒเบ™เบฐเบขเบนเปˆ Kubernetes. เบ„เบปเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ—เบตเปˆเบ–เบฒเบกเบงเปˆเบฒ "เบ‚เป‰เบญเบเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบฅเบฑเบ”เปƒเบ™ Kubernetes" เบšเปเปˆเบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™เบžเบฝเบ‡เบžเปเบเบฑเบš Kubernetes, เปเบฅเบฐเป€เบฅเบทเป‰เบญเบเป†เบเบฑเบšเบงเบฝเบเบ—เบตเปˆเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบ–เบฒเบก.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบ„เบงเบ™เปเบฅเปˆเบ™ Kafka เปƒเบ™ Kubernetes เบšเป? เบ„เปเบฒเบ–เบฒเบกเป‚เบ•เป‰เปเบเป‰เบ‡: Kafka เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบ”เบตเบเบงเปˆเบฒเป‚เบ”เบเบšเปเปˆเบกเบต Kubernetes เบšเป? เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบ‚เป‰เบญเบเบขเบฒเบเป€เบ™เบฑเป‰เบ™เปƒเบซเป‰เป€เบซเบฑเบ™เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบงเปˆเบฒ Kafka เปเบฅเบฐ Kubernetes เป€เบชเบตเบกเบชเป‰เบฒเบ‡เป€เบŠเบดเปˆเบ‡เบเบฑเบ™เปเบฅเบฐเบเบฑเบ™, เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบชเบฒเบกเบฒเบ”เบกเบฒเบเบฑเบšเบเบฒเบ™เบฅเบงเบกเบžเบงเบเบกเบฑเบ™.

เป€เบงเบฅเบฒเบ‚เบญเบ‡เบเบฒเบ™เบชเปเบฒเป€เบฅเบฑเบ”

เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบชเบดเปˆเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™ - เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก runtime เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡

เบ‚เบฐเบšเบงเบ™เบเบฒเบ™

เบ™เบฒเบเบซเบ™เป‰เบฒ Kafka เปเบกเปˆเบ™ CPU เป€เบ›เบฑเบ™เบกเบดเบ”. TLS เบญเบฒเบ”เบˆเบฐเปเบ™เบฐเบ™เปเบฒเบšเบฒเบ‡เบชเปˆเบงเบ™เป€เบ—เบดเบ‡เบซเบปเบง. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบฅเบนเบเบ„เป‰เบฒ Kafka เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™ CPU เบซเบผเบฒเบเบ–เป‰เบฒเบžเบงเบเป€เบ‚เบปเบฒเปƒเบŠเป‰เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”, เปเบ•เปˆเบ™เบตเป‰เบšเปเปˆเบกเบตเบœเบปเบ™เบ•เปเปˆเบ™เบฒเบเบซเบ™เป‰เบฒ.

เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ

เบ™เบฒเบเบซเบ™เป‰เบฒ Kafka เบเบดเบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ. เบ‚เบฐเบซเบ™เบฒเบ” JVM heap เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเปเบกเปˆเบ™เบˆเปเบฒเบเบฑเบ”เบขเบนเปˆเบ—เบตเปˆ 4-5 GB, เปเบ•เปˆเบ—เปˆเบฒเบ™เบเบฑเบ‡เบˆเบฐเบ•เป‰เบญเบ‡เบกเบตเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบซเบผเบฒเบเบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆ Kafka เปƒเบŠเป‰ cache เบซเบ™เป‰เบฒเบซเบผเบฒเบ. เปƒเบ™ Kubernetes, เบเปเบฒเบ™เบปเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบšเบฑเบ™เบˆเบธเปเบฅเบฐเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ•เบฒเบกเบ„เบงเบฒเบกเป€เบซเบกเบฒเบฐเบชเบปเบก.

เบฎเป‰เบฒเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™

เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เบขเบนเปˆเปƒเบ™เบ–เบฑเบ‡เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เบŠเบปเปˆเบงเบ„เบฒเบง - เบ‚เปเป‰เบกเบนเบ™เบˆเบฐเบชเบนเบ™เป€เบชเบเป€เบกเบทเปˆเบญเป€เบ›เบตเบ”เปƒเบซเบกเปˆ. เบชเปเบฒเบฅเบฑเบšเบ‚เปเป‰เบกเบนเบ™ Kafka เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ›เบฐเบฅเบดเบกเบฒเบ™ emptyDir, เปเบฅเบฐเบœเบปเบ™เบเบฐเบ—เบปเบšเบˆเบฐเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™: เบ‚เปเป‰เบกเบนเบ™เบ™เบฒเบเบซเบ™เป‰เบฒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบˆเบฐเบชเบนเบ™เป€เบชเบเบซเบผเบฑเบ‡เบˆเบฒเบเบชเปเบฒเป€เบฅเบฑเบ”. เบ‚เปเป‰เบ„เบงเบฒเบกเบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบ™เบฒเบเบซเบ™เป‰เบฒเบญเบทเปˆเบ™เป€เบ›เบฑเบ™เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบซเบกเปˆ, เบ™เบฒเบเบซเบ™เป‰เบฒเบ—เบตเปˆเบฅเบปเป‰เบกเป€เบซเบฅเบงเบ—เปเบฒเบญเบดเบ”เบ•เป‰เบญเบ‡ replicate เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบฅเบฐเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบ.

เบ™เบตเป‰เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ„เบงเบ™เปƒเบŠเป‰เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เป„เบฅเบเบฐเบเบฒเบง. เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบฅเบเบฐเบเบฒเบงเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ XFS เบซเบผเบท, เบŠเบฑเบ”เป€เบˆเบ™เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, ext4. เบขเปˆเบฒเปƒเบŠเป‰ NFS. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป€เบ•เบทเบญเบ™เบ—เปˆเบฒเบ™. เป€เบงเบตเบŠเบฑเบ™ NFS v3 เบซเบผเบท v4 เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบ. เปƒเบ™เบชเบฑเป‰เบ™, เบ™เบฒเบเบซเบ™เป‰เบฒ Kafka เบˆเบฐเบ‚เบฑเบ”เบ–เป‰เบฒเบกเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบฅเบถเบšเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบšเบฑเบ™เบซเบฒ "เบเบฒเบ™เบ›เปˆเบฝเบ™เบŠเบทเปˆเป‚เบ‡เปˆ" เปƒเบ™ NFS. เบ–เป‰เบฒเบ‚เป‰เบญเบเบšเปเปˆเป„เบ”เป‰เป€เบŠเบทเปˆเบญเป€เบˆเบปเป‰เบฒเป€เบ—เบทเปˆเบญ, เปƒเบซเป‰เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เบซเบผเบฒเบ เบญเปˆเบฒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰. เบžเบทเป‰เบ™เบ—เบตเปˆเป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ„เบงเบ™เบˆเบฐเบšเปเปˆเปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ เป€เบžเบทเปˆเบญเปƒเบซเป‰ Kubernetes เบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบ node เปƒเปเปˆเป„เบ”เป‰เบขเปˆเบฒเบ‡เบ„เปˆเบญเบ‡เบ•เบปเบงเบซเบผเบฒเบเบ‚เบทเป‰เบ™เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบดเบ”เป€เบ›เบตเบ” เบซเบผเบทเบเบฒเบ™เบเบปเบเบเป‰เบฒเบ.

เป€เบ„เบทเบญเบ‚เปˆเบฒเบ

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบเบชเปˆเบงเบ™เปƒเบซเบเปˆ, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ Kafka เปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบเบฒเบ™เบฎเบฑเบเบชเบฒเบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเบ‚เบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปƒเบซเป‰เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”เปเบฅเบฐเปเบšเบ™เบงเบดเบ”เบชเบนเบ‡เบชเบธเบ”. เบขเปˆเบฒเบžเบฐเบเบฒเบเบฒเบกเป‚เบฎเบ”เบ™เบฒเบเบซเบ™เป‰เบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™ node เบ”เบฝเบงเบเบฑเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเบ™เบตเป‰เบˆเบฐเบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เบกเบตเบขเบนเปˆ. เบ–เป‰เบฒ node Kubernetes เบฅเบปเป‰เบกเป€เบซเบฅเบง, เบเบธเปˆเบก Kafka เบ—เบฑเบ‡เปเบปเบ”เบˆเบฐเบฅเบปเป‰เบกเป€เบซเบฅเบง. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบขเปˆเบฒเบเบฐเปเบˆเบเบเบฐเบˆเบฒเบเบเบธเปˆเบก Kafka เปƒเบ™เบ—เบปเปˆเบงเบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”. เบญเบฑเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบธเปˆเบก Kubernetes. เบเบฒเบ™เบ›เบฐเบ™เบตเบ›เบฐเบ™เบญเบกเบ—เบตเปˆเบ”เบตเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เป€เบฅเบทเบญเบเป€เบ‚เบ”เบ„เบงเบฒเบกเบžเป‰เบญเบกเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ

manifestos เบ›เบปเบเบเบฐเบ•เบด

เป€เบงเบฑเบšเป„เบŠเบ—เปŒ Kubernetes เบกเบต เบ„เบนเปˆเบกเบทเบ—เบตเปˆเบ”เบตเบซเบผเบฒเบ เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ ZooKeeper เป‚เบ”เบเปƒเบŠเป‰ manifests. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบ ZooKeeper เปเบกเปˆเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡ Kafka, เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบˆเบฐเป€เบฅเบตเปˆเบกเบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบšเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ” Kubernetes เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰. เป€เบกเบทเปˆเบญเบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบธเปˆเบก Kafka.

  • เบžเบฒเบเปƒเบ•เป‰: เบเบฑเบเปเบกเปˆเบ™เบซเบ™เปˆเบงเบเบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”เปƒเบ™ Kubernetes. เบเบฑเบเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบžเบฒเบฅเบฐเบงเบฝเบเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ, เปเบฅเบฐเบเบฑเบเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบเบปเบ‡เบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปƒเบ™เบเบธเปˆเบกเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ. เบเบฑเบเปœเบถเปˆเบ‡เบšเบฑเบ™เบˆเบธเปœเบถเปˆเบ‡ เบซเบผเบทเบซเบผเบฒเบเบ–เบฑเบ‡. เปเบ•เปˆเบฅเบฐเป€เบŠเบตเบšเป€เบงเบต ZooKeeper เปƒเบ™เบเบธเปˆเบก เปเบฅเบฐเปเบ•เปˆเบฅเบฐเป‚เบšเบฃเบเป€เบเบตเปƒเบ™เบเบธเปˆเบก Kafka เบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเปƒเบ™เบเบฑเบเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.
  • StatefulSet: StatefulSet เปเบกเปˆเบ™เบงเบฑเบ”เบ–เบธ Kubernetes เบ—เบตเปˆเบˆเบฑเบ”เบเบฒเบ™เบงเบฝเบเบ—เบตเปˆเบกเบตเบฅเบฑเบ”เบซเบผเบฒเบเบญเบฑเบ™, เปเบฅเบฐเบงเบฝเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบ›เบฐเบชเบฒเบ™เบ‡เบฒเบ™. StatefulSets เปƒเบซเป‰เบเบฒเบ™เบ„เปเป‰เบฒเบ›เบฐเบเบฑเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบเบฑเบ เปเบฅเบฐเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™.
  • เบšเปเบฅเบดเบเบฒเบ™เบšเปเปˆเบกเบตเบซเบปเบง: เบšเปเบฅเบดเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ–เบญเบ”เบเบฑเบเบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเป‚เบ”เบเปƒเบŠเป‰เบŠเบทเปˆเบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™. Kubernetes เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰เปเบกเปˆเบ™เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”. เปเบ™เบงเปƒเบ”เบเปเปˆเบ•เบฒเบก, เป€เบกเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบฅเบฑเบ”, เป€เบŠเบฑเปˆเบ™: ZooKeeper เปเบฅเบฐ Kafka, เบฅเบนเบเบ„เป‰เบฒเบ•เป‰เบญเบ‡เบ•เบดเบ”เบ•เปเปˆเบชเบทเปˆเบชเบฒเบ™เบเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡เบชเบฐเป€เบžเบฒเบฐ. เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบšเปเบฅเบดเบเบฒเบ™ headless เบกเบฒเบชเบฐเบ”เบงเบ: เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบฅเบนเบเบ„เป‰เบฒเบˆเบฐเบเบฑเบ‡เบกเบตเบŠเบทเปˆเบ—เบตเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™, เปเบ•เปˆเบ—เปˆเบฒเบ™เบˆเบฐเบšเปเปˆเบ•เป‰เบญเบ‡เบ•เบดเบ”เบ•เปเปˆเบเบฑเบšเบเบฑเบเป‚เบ”เบเบเบปเบ‡.
  • เบ›เบฐเบฅเบดเบกเบฒเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเปƒเบ™เป„เบฅเบเบฐเบเบฒเบง: เบ›เบฐเบฅเบดเบกเบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ block เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡.

เบเปˆเบฝเบงเบเบฑเบš เป‚เบขเป€เบฅเบฑเบ™ เบชเบฐเบซเบ™เบญเบ‡เบŠเบธเบ” manifests เบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เปเบšเบšเป€เบžเบทเปˆเบญเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฑเบš Kafka เปƒเบ™ Kubernetes.

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบซเบกเบงเบเบเบฑเบ™เบเบฐเบ—เบปเบš

Helm เป€เบ›เบฑเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™เปเบžเบฑเบเป€เบเบฑเบ”เบชเปเบฒเบฅเบฑเบš Kubernetes เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เปเบžเบฑเบเป€เบเบฑเบ” OS เป€เบŠเบฑเปˆเบ™ yum, apt, Homebrew เบซเบผเบท Chocolatey. เบกเบฑเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบŠเบญเบŸเปเบงเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm. เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm เบ—เบตเปˆเบ–เบทเบเป€เบฅเบทเบญเบเบขเปˆเบฒเบ‡เบ”เบตเป€เบฎเบฑเบ”เปƒเบซเป‰เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบซเบเบธเป‰เบ‡เบเบฒเบเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ›เบฑเบšเบ„เปˆเบฒเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ—เบฑเบ‡เบซเบกเบปเบ”เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เป€เบžเบทเปˆเบญเปƒเบŠเป‰ Kafka เปƒเบ™ Kubernetes เบ‡เปˆเบฒเบ. เบกเบตเปเบœเบ™เบงเบฒเบ” Kafka เบซเบผเบฒเบ: เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เปเบกเปˆเบ™เบ•เบฑเป‰เบ‡เบขเบนเปˆ เบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบš incubator, เบกเบตเบซเบ™เบถเปˆเบ‡เบˆเบฒเบ เบชเบฑเบšเบชเบปเบ™, เบซเบ™เบถเปˆเบ‡เบซเบผเบฒเบ - เบˆเบฒเบ BitNami.

เบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ Helm เบกเบตเบ‚เปเป‰เบšเบปเบเบœเปˆเบญเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบญเบทเปˆเบ™เบเปเบฒเบฅเบฑเบ‡เป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเบ™เบดเบเบปเบกเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ: เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™ Kubernetes. เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบซเบธเป‰เบกเบซเปเปˆเบŠเบญเบšเปเบงเบชเปเบฒเบฅเบฑเบš Kubernetes, เปเบ•เปˆเบเบฑเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบžเบทเปˆเบญเบ™เปเบฒเปƒเบŠเป‰เบŠเบญเบšเปเบงเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปเบฅเบฐเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบกเบฑเบ™.

เปƒเบ™เบšเบฑเบ™เบŠเบต เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเบ›เบฐเบซเบฅเบฒเบ”เปƒเบˆ เบชเบญเบ‡เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบชเปเบฒเบฅเบฑเบš Kafka เป„เบ”เป‰เบ–เบทเบเบเปˆเบฒเบงเป€เบ–เบดเบ‡. เบซเบ™เบถเปˆเบ‡โ€‹เปƒเบ™โ€‹เบ™เบฑเป‰เบ™ - เบชเบฐเบ•เบฃเบตเบกเบŠเบต. เบ”เป‰เบงเบ Strimzi, เบกเบฑเบ™เบ‡เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบธเปˆเบก Kafka เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ‚เบถเป‰เบ™ เปเบฅเบฐเปเบฅเปˆเบ™เปƒเบ™เบ™เบฒเบ—เบต. เป€เบเบทเบญเบšเบšเปเปˆเบกเบตเบเบฒเบ™เบเบณเบ™เบปเบ”เบ„เปˆเบฒเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™, เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบญเบ‡เบเปเปˆเปƒเบซเป‰เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบ”เบตเบšเบฒเบ‡เบขเปˆเบฒเบ‡, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ” TLS point-to-point เบžเบฒเบเปƒเบ™เบเบธเปˆเบก. Confluent เบเบฑเบ‡เบชเบฐเบซเบ™เบญเบ‡ เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡.

เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™

เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบ•เบปเบงเบขเปˆเบฒเบ‡ Kafka เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เบˆเบฐโ€‹เบŠเปˆเบงเบโ€‹เปƒเบซเป‰โ€‹เบ—เปˆเบฒเบ™โ€‹เบŠเบญเบโ€‹เบซเบฒโ€‹เบ‚เปเป‰โ€‹เบšเบปเบโ€‹เบœเปˆเบญเบ‡โ€‹เบ—เบตเปˆโ€‹เบญเบฒเบ”โ€‹เป€เบเบตเบ”โ€‹เบ‚เบถเป‰เบ™โ€‹เบเปˆเบญเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบเบตเบ”โ€‹เบšเบฑเบ™โ€‹เบซเบฒโ€‹. เป‚เบŠเบเบ”เบต, Kafka เปƒเบซเป‰เบชเบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปเบฅเป‰เบง: kafka-producer-perf-test.sh ะธ kafka-consumer-perf-test.sh. เปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เบขเปˆเบฒเบ‡เบซเป‰เบฒเบงเบซเบฑเบ™. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเป‰เบฒเบ‡เบญเบตเบ‡เป€เบ–เบดเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™ เบ•เบญเบšเบ™เบตเป‰ Jay Kreps, เบซเบผเบทเบชเบธเบกเปƒเบชเปˆ เบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบ™เบตเป‰ Amazon MSK เป‚เบ”เบ Stรฉphane Maarek.

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™

เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก

เบ„เบงเบฒเบกเป‚เบ›เปˆเบ‡เปƒเบชเปƒเบ™เบฅเบฐเบšเบปเบšเปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบซเบผเบฒเบ - เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบˆเบฐเบšเปเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เบกเบฑเบ™. เบกเบทเป‰โ€‹เบ™เบตเป‰โ€‹เบกเบตโ€‹เบŠเบธเบ”โ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เปเบ‚เบ‡โ€‹เบ—เบตเปˆโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบ•เบปเบงโ€‹เบŠเบตเป‰โ€‹เบงเบฑเบ”โ€‹เปƒเบ™โ€‹เปเบšเบšโ€‹เบžเบทเป‰เบ™โ€‹เป€เบกเบทเบญเบ‡โ€‹เบŸเบฑเบ‡โ€‹เป„เบ”เป‰โ€‹. เบชเบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบ™เบดเบเบปเบกเบชเปเบฒเบฅเบฑเบšเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ™เบตเป‰เปเบกเปˆเบ™ Prometheus เปเบฅเบฐ Grafana. Prometheus เบชเบฒเบกเบฒเบ”เป€เบเบฑเบšเบเปเบฒ metrics เบˆเบฒเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™ Java เบ—เบฑเบ‡เบซเบกเบปเบ” (Kafka, Zookeeper, Kafka Connect) เป‚เบ”เบเปƒเบŠเป‰ JMX exporter - เปƒเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบ‡เปˆเบฒเบเบ—เบตเปˆเบชเบธเบ”. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบžเบตเปˆเบก cAdvisor metrics, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเป„เบ”เป‰เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบชเปˆเบงเบ™เบงเปˆเบฒเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปเบ™เบงเปƒเบ”เปƒเบ™ Kubernetes.

Strimzi เบกเบตเบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบชเบฐเบ”เบงเบเบซเบผเบฒเบเบ‚เบญเบ‡ dashboard Grafana เบชเปเบฒเบฅเบฑเบš Kafka. เบกเบฑเบ™เบชเบฐเปเบ”เบ‡เบžเบฒเบšเบเบฒเบ™เบงเบฑเบ”เปเบ—เบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบเปˆเบฝเบงเบเบฑเบšเบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบซเบผเบทเบชเบดเปˆเบ‡เบ—เบตเปˆเบญเบญเบŸเป„เบฅ. เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบˆเบฐเปเบˆเป‰เบ‡เบซเบผเบฒเบเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. metrics เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ›เบฐเบเบญเบšเป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบธเปˆเบก Kafka เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเปˆเบกเบตเบซเบเบฑเบ‡!

Kafka เปƒเบ™ Kubernetes เบ”เบตเบšเป?

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: streamzi.io/docs/master/#kafka_dashboard

เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ”เบตเบ—เบตเปˆเบˆเบฐเป€เบชเบตเบกเบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เบ”เป‰เบงเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบฅเบนเบเบ„เป‰เบฒ (metrics เบเปˆเบฝเบงเบเบฑเบšเบœเบนเป‰เบšเปเบฅเบดเป‚เบžเบเปเบฅเบฐเบœเบนเป‰เบœเบฐเบฅเบดเบ”), เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก latency (เบชเปเบฒเบฅเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เบกเบต. Burrow) เปเบฅเบฐเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบ - เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ™เบตเป‰ เบˆเปเบžเบฒเบš Kafka.

เบเบฒเบ™เบ•เบฑเบ”เป„เบกเป‰

เบเบฒเบ™เบ•เบฑเบ”เป„เบกเป‰เป€เบ›เบฑเบ™เบงเบฝเบเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡. เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบ–เบฑเบ‡เบšเบฑเบ™เบˆเบธเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Kafka เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ–เบทเบเป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบš stdout ะธ stderr, เปเบฅเบฐเบเบฑเบ‡เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบเบธเปˆเบก Kubernetes เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบฅเบงเบšเบฅเบงเบกเบšเบฑเบ™เบ—เบถเบเบ—เบฑเบ‡เปเบปเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบชเบนเบ™เบเบฒเบ‡, เป€เบŠเบฑเปˆเบ™:. Elasticsearch.

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ

Kubernetes เปƒเบŠเป‰เบเบฒเบ™เบชเบณเบซเบผเบงเบ”เบ„เบงเบฒเบกเบชเบปเบ”เบŠเบทเปˆเบ™ เปเบฅเบฐเบ„เบงเบฒเบกเบžเป‰เบญเบกเป€เบžเบทเปˆเบญเบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบžเบญเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป€เบ›เบฑเบ™เบ›เบปเบเบเบฐเบ•เบดเบซเบผเบทเบšเปเปˆ. เบ–เป‰เบฒเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบกเบตเบŠเบตเบงเบดเบ”เบšเปเปˆเบชเบณเป€เบฅเบฑเบ”, Kubernetes เบˆเบฐเบขเบธเบ”เบเปˆเบญเบ‡เบšเบฑเบ™เบˆเบธเบ™เบฑเป‰เบ™ เปเบฅเบฐ เบˆเบฒเบเบ™เบฑเป‰เบ™เบ›เบดเบ”เป€เบ›เบตเบ”เบกเบฑเบ™เบ„เบทเบ™เปƒเปเปˆเป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” เบ–เป‰เบฒเบ™เบฐเป‚เบเบšเบฒเบเบเบฒเบ™เบฃเบตเบชเบฐเบ•เบฒเบ”เบ–เบทเบเบ•เบฑเป‰เบ‡เป„เบงเป‰เบ•เบฒเบกเบ„เบงเบฒเบกเป€เปเบฒเบฐเบชเบปเบก. เบ–เป‰เบฒเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบžเป‰เบญเบกเบฅเบปเป‰เบกเป€เบซเบฅเบง, Kubernetes เปเบเบเบเบฑเบเบˆเบฒเบเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบเบฒเบ™เปเบŠเบเปเบŠเบ‡เบ„เบนเปˆเบกเบทเปเบกเปˆเบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบญเบตเบเบ•เปเปˆเป„เบ›, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบšเบงเบเปƒเบซเบเปˆ.

เบเบณเบฅเบฑเบ‡เบญเบญเบเบญเบฑเบšเป€เบ”เบ”

StatefulSets เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”: เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป€เบฅเบทเบญเบเบเบธเบ”เบ—เบฐเบชเบฒเบ” RollingUpdate, เปเบ•เปˆเบฅเบฐเบžเบฒเบเปƒเบ•เป‰ Kafka เบˆเบฐเบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡. เบ”เป‰เบงเบเบงเบดเบ—เบตเบ™เบตเป‰, เป€เบงเบฅเบฒเบขเบธเบ”เบชเบฒเบกเบฒเบ”เบซเบผเบธเบ”เบฅเบปเบ‡เป€เบ›เบฑเบ™เบชเบนเบ™.

เบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเปœเบฒเบ”

เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบเบธเปˆเบก Kafka เบšเปเปˆเปเบกเปˆเบ™เบงเบฝเบเบ—เบตเปˆเบ‡เปˆเบฒเบ. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, Kubernetes เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบซเบผเบฒเบเบ—เบตเปˆเบˆเบฐเบ‚เบฐเบซเบ™เบฒเบ”เบเบฑเบเป€เบ›เบฑเบ™เบˆเปเบฒเบ™เบงเบ™เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบ‚เบญเบ‡ replicas, เบŠเบถเปˆเบ‡เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบเบฒเบ”เป€เบ›เบฑเบ™เบ™เบฒเบเบซเบ™เป‰เบฒ Kafka เบซเบผเบฒเบเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™. เบชเบดเปˆเบ‡เบ—เบตเปˆเบเบฒเบเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบเบ‚เบฐเปเบซเบ™เบ‡เบเบฒเบ™เบ„เบทเบ™เปƒเบซเบกเปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบฐเบซเบ™เบฒเบ”เบซเบผเบทเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบฅเบปเบ‡. เบญเบตเบเป€เบ—เบทเปˆเบญเปœเบถเปˆเบ‡, Kubernetes เบˆเบฐเบŠเปˆเบงเบเป€เบˆเบปเป‰เบฒเปƒเบ™เบงเบฝเบเบ‡เบฒเบ™เบ™เบตเป‰.

เบเบฒเบ™เบšเปเบฅเบดเบซเบฒเบ™

เบงเบฝเบเบ‡เบฒเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบธเปˆเบก Kafka เบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เบชเป‰เบฒเบ‡เบซเบปเบงเบ‚เปเป‰เปเบฅเบฐเบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบเปƒเบซเบกเปˆ, เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰ shell scripts เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเป‚เบ”เบเบเบฒเบ™เป€เบ›เบตเบ”เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™ pods เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบเบฒเบ™เปเบเป‰เป„เบ‚เบ™เบตเป‰เปเบกเปˆเบ™เบšเปเปˆเบ‡เบฒเบกเบซเบผเบฒเบ. Strimzi เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบซเบปเบงเบ‚เปเป‰เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบกเบตเบšเบฒเบ‡เบซเป‰เบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰.

ะ ะตะทะตั€ะฒะฝะพะตะบะพะฟะธั€ะพะฒะฐะฝะธะตะธะฒะพััั‚ะฐะฝะพะฒะปะตะฝะธะตเบ™

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ„เบงเบฒเบกเบžเป‰เบญเบกเบ‚เบญเบ‡ Kafka เบเบฑเบ‡เบˆเบฐเบ‚เบถเป‰เบ™เบเบฑเบšเบ„เบงเบฒเบกเบžเป‰เบญเบกเบ‚เบญเบ‡ Kubernetes. เบ–เป‰เบฒเบเบธเปˆเบก Kubernetes เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบฅเบปเป‰เบกเป€เบซเบฅเบง, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบฎเป‰เบฒเบเปเบฎเบ‡เบ—เบตเปˆเบชเบธเบ”, เบเบธเปˆเบก Kafka เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบˆเบฐเบฅเบปเป‰เบกเป€เบซเบฅเบงเป€เบŠเบฑเปˆเบ™เบเบฑเบ™. เบญเบตเบ‡เบ•เบฒเบกเบเบปเบ”เบซเบกเบฒเบเบ‚เบญเบ‡ Murphy, เบ™เบตเป‰เปเบ™เปˆเบ™เบญเบ™เบˆเบฐเป€เบเบตเบ”เบ‚เบถเป‰เบ™, เปเบฅเบฐเบ—เปˆเบฒเบ™เบˆเบฐเบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบกเบนเบ™. เป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ›เบฐเป€เบžเบ”เบ™เบตเป‰, เบกเบตเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ”เบต. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰ MirrorMaker, เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบญเบทเปˆเบ™เปเบกเปˆเบ™เปƒเบŠเป‰ S3 เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เปƒเบ™เบ™เบตเป‰ เป„เบ›เบชเบฐเบ™เบต เบˆเบฒเบ Zalando.

เบชเบฐเบซเบฅเบธเบš

เป€เบกเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบธเปˆเบก Kafka เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเป€เบ–เบดเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบเบฒเบ‡, เปเบ™เปˆเบ™เบญเบ™เบงเปˆเบฒเบกเบฑเบ™เบ„เบธเป‰เบกเบ„เปˆเบฒเบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰ Kubernetes เบเป‰เบญเบ™เบงเปˆเบฒเบกเบฑเบ™เบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเบ—เบตเปˆเบšเปเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบซเบผเบฒเบ เปเบฅเบฐ/เบซเบผเบท เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบœเปˆเบฒเบ™เบ—เบฒเบ‡เบœเปˆเบฒเบ™, เบกเบฑเบ™เบญเบฒเบ”เบˆเบฐเบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เบญเบทเปˆเบ™เป†.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™