เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เบญเบ‡ Cassandra เบเบฑเบš Kubernetes: เบฅเบฑเบเบชเบฐเบ™เบฐเปเบฅเบฐเบงเบดเบ—เบตเปเบเป‰เป„เบ‚

เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เบญเบ‡ Cassandra เบเบฑเบš Kubernetes: เบฅเบฑเบเบชเบฐเบ™เบฐเปเบฅเบฐเบงเบดเบ—เบตเปเบเป‰เป„เบ‚

เบžเบงเบเป€เบฎเบปเบฒเบžเบปเบšเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ Apache Cassandra เป€เบ›เบฑเบ™เบ›เบปเบเบเบฐเบ•เบด เปเบฅเบฐเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบกเบฑเบ™เบžเบฒเบเปƒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ Kubernetes. เปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™เบงเบดเป„เบชเบ—เบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเปˆเบฝเบงเบเบฑเบšเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เปเบฅเบฐเบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบกเบตเบขเบนเปˆ (เบฅเบงเบกเบ—เบฑเบ‡เบชเบฐเบžเบฒเบšเบฅเบงเบกเบ‚เบญเบ‡เบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™) เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบ Cassandra เบเบฑเบš K8s.

"เบœเบนเป‰เปƒเบ”เบชเบฒเบกเบฒเบ”เบ›เบปเบเบ„เบญเบ‡เปเบกเปˆเบเบดเบ‡เบเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบปเบเบ„เบญเบ‡เบฅเบฑเบ”เป„เบ”เป‰"

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

  • Cassandra เปเบกเปˆเบ™เบ‚เบฝเบ™เปƒเบ™ Java.
  • Topology Cassandra เบ›เบฐเบเบญเบšเบกเบตเบซเบผเบฒเบเบฅเบฐเบ”เบฑเบš:
    • เป‚เบ™เบ” - เบ™เบถเปˆเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ™เบณเปƒเบŠเป‰ Cassandra;
    • Rack เปเบกเปˆเบ™เบเบธเปˆเบกเบ‚เบญเบ‡ Cassandra instances, united เป‚เบ”เบเบšเบฒเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐ, เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™เบ”เบฝเบงเบเบฑเบ™;
    • Datacenter - เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบเบธเปˆเบกเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡ Cassandra instances เบ—เบตเปˆเบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™เบซเบ™เบถเปˆเบ‡;
    • Cluster เปเบกเปˆเบ™เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบ‚เบญเบ‡เบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”.
  • Cassandra เปƒเบŠเป‰เบ—เบตเปˆเบขเบนเปˆ IP เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ” node.
  • เป€เบžเบทเปˆเบญเป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฒเบ™เบ‚เบฝเบ™เปเบฅเบฐเบเบฒเบ™เบญเปˆเบฒเบ™, Cassandra เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป„เบงเป‰เปƒเบ™ RAM.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ - เป„เบ›เบชเบนเปˆเบเบฒเบ™เบเป‰เบฒเบเป„เบ› Kubernetes เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰.

เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบเบฒเบ™โ€‹เป‚เบญเบ™โ€‹

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

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

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบ–เบทเบเบŠเบตเป‰เปเบˆเบ‡เปเบฅเป‰เบง, Cassanda เป€เบเบฑเบšเบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™ RAM - in Memtable. เปเบ•เปˆเบกเบตเบชเปˆเบงเบ™เบญเบทเปˆเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปƒเบ™เปเบœเปˆเบ™ - เปƒเบ™เบฎเบนเบšเปเบšเบš SSTable. เบ™เบดเบ•เบดเบšเบธเบเบ„เบปเบ™เบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰ เบšเบฑเบ™เบ—เบถเบเบชเบฑเบ™เบเบฒ โ€” เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เบเบฒเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบ—เบธโ€‹เบฅเบฐโ€‹เบเปเบฒโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹, เป€เบŠเบดเปˆเบ‡โ€‹เบเบฑเบ‡โ€‹เป„เบ”เป‰โ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เป„เบงเป‰โ€‹เปƒเบ™โ€‹เปเบœเปˆเบ™โ€‹.

เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เบญเบ‡ Cassandra เบเบฑเบš Kubernetes: เบฅเบฑเบเบชเบฐเบ™เบฐเปเบฅเบฐเบงเบดเบ—เบตเปเบเป‰เป„เบ‚
เบ‚เบฝเบ™เปเบœเบ™เบงเบฒเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเปƒเบ™ Cassandra

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

เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เบญเบ‡ Cassandra เบเบฑเบš Kubernetes: เบฅเบฑเบเบชเบฐเบ™เบฐเปเบฅเบฐเบงเบดเบ—เบตเปเบเป‰เป„เบ‚
เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบˆเบฑเบ”เบชเบฑเบ™ PersistentVolume เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบซเป‰เบเบฑเบšเปเบ•เปˆเบฅเบฐเบเบฑเบ Cassandra

เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒ Cassandra เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เบซเบกเบฒเบเป€เบ–เบดเบ‡เบเบฒเบ™เบˆเปเบฒเบฅเบญเบ‡เบ‚เปเป‰เบกเบนเบ™, เบชเบฐเป€เบซเบ™เบตเบเบปเบ™เป„เบเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบ™เบตเป‰. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เบชเป‰เบฒเบ‡เบเบธเปˆเบก Cassandra เบˆเบฒเบเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบ‚เบญเบ‡ nodes, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰เบฅเบฐเบšเบปเบšเปเบˆเบเบขเบฒเบเป€เบŠเบฑเปˆเบ™ Ceph เบซเบผเบท GlusterFS เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™. เปƒเบ™โ€‹เบเปโ€‹เบฅเบฐโ€‹เบ™เบตโ€‹เบ™เบตเป‰โ€‹, เบกเบฑเบ™โ€‹เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เป€เบซเบ”โ€‹เบœเบปเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบเบฑเบšโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เปเบœเปˆเบ™โ€‹เปเบกเปˆโ€‹เบ‚เปˆเบฒเบโ€‹เป‚เบ”เบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹ เปเบœเปˆเบ™เบ„เบปเบ‡เบ—เบตเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ เบซเบผเบทเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ hostPath.

เบ„เปเบฒเบ–เบฒเบกเบญเบทเปˆเบ™เปเบกเปˆเบ™เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบชเบฒเบ‚เบฒเบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบเบปเบเบ‚เปเป‰ Cassandra เบซเบ™เบถเปˆเบ‡เปเบฅเบฐเป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เปเบˆเบเบขเบฒเบ, i.e. Ceph เปเบฅเบฐ GlusterFS เบ—เบตเปˆเบเปˆเบฒเบงเบกเบฒเบˆเบฐเป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบˆเบฐเปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบฅเบฒเบงเบˆเบฐเบšเปเปˆเบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เปƒเบ™เบ‚เปเป‰เบ‚เบญเบ‡เบเบธเปˆเบก Kuberntes เบˆเบฐเบชเบนเบ™เป€เบชเบ.

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

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡ virtually เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเปƒเบ™ Kubernetes เปเบกเปˆเบ™ Prometheus (เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เปƒเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ” เบšเบปเบ”โ€‹เบฅเบฒเบโ€‹เบ‡เบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบเปˆเบฝเบงโ€‹เบ‚เป‰เบญเบ‡โ€‹). Cassandra เป€เบฎเบฑเบ”เปเบ™เบงเปƒเบ”เบเบฑเบšเบœเบนเป‰เบชเบปเปˆเบ‡เบญเบญเบ metrics เบชเปเบฒเบฅเบฑเบš Prometheus? เปเบฅเบฐ, เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบเบฑเบš dashboards เบ—เบตเปˆเบเบปเบ‡เบเบฑเบ™เบชเปเบฒเบฅเบฑเบš Grafana?

เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เบญเบ‡ Cassandra เบเบฑเบš Kubernetes: เบฅเบฑเบเบชเบฐเบ™เบฐเปเบฅเบฐเบงเบดเบ—เบตเปเบเป‰เป„เบ‚
เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบฎเบนเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบเบฒเบŸเปƒเบ™ Grafana เบชเปเบฒเบฅเบฑเบš Cassandra

เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบชเบญเบ‡เบœเบนเป‰เบชเบปเปˆเบ‡เบญเบญเบ: jmx_exporter ะธ cassandra_exporter.

เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบทเบญเบเบญเบฑเบ™เบ—เปเบฒเบญเบดเบ”เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเป€เบฎเบปเบฒเป€เบญเบ‡เป€เบžเบฒเบฐเบงเปˆเบฒ:

  1. JMX Exporter เบเปเบฒเบฅเบฑเบ‡เป€เบ•เบตเบšเป‚เบ•เปเบฅเบฐเบžเบฑเบ”เบ—เบฐเบ™เบฒ, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ Cassandra Exporter เบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบˆเบฒเบเบŠเบธเบกเบŠเบปเบ™เบžเบฝเบ‡เบžเป. Cassandra Exporter เบเบฑเบ‡เบšเปเปˆเบฎเบญเบ‡เบฎเบฑเบš Cassandra เบฅเบธเป‰เบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆ.
  2. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบกเบฑเบ™เป€เบ›เบฑเบ™ javaagent เป‚เบ”เบเบเบฒเบ™เป€เบžเบตเปˆเบกเบ—เบธเบ‡ -javaagent:<plugin-dir-name>/cassandra-exporter.jar=--listen=:9180.
  3. เบกเบตเบซเบ™เบถเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบฅเบฒเบง dashboad เบžเบฝเบ‡เบžเป, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบš Cassandra Exporter.

3. เบเบฒเบ™เป€เบฅเบทเบญเบ Kubernetes primitives

เบญเบตเบ‡เบ•เบฒเบกเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบ‚เบญเบ‡เบเบธเปˆเบก Cassandra, เปƒเบซเป‰เบžเบฐเบเบฒเบเบฒเบกเปเบ›เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ„เปเบฒเบ—เบตเปˆเปƒเบŠเป‰ Kubernetes:

  • Cassandra Node โ†’ Pod
  • Cassandra Rack โ†’ StatefulSet
  • Cassandra Datacenter โ†’ เบชเบฐเบ™เบธเบเป€เบเบตเบˆเบฒเบ StatefulSets
  • เบ„เบฒเปเบŠเบ™เบ”เบฃเบฒ โ†’ ???

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

เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เบญเบ‡ Cassandra เบเบฑเบš Kubernetes: เบฅเบฑเบเบชเบฐเบ™เบฐเปเบฅเบฐเบงเบดเบ—เบตเปเบเป‰เป„เบ‚
เบ›เบฐเบเบฒเบ”เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเบณเบฅเบฑเบšเบšเบฑเบ™เบ—เบถเบ เปเบฅเบฐเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™

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

4. เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบญเบ‡เบเบฑเบ

เปƒเบ™เบงเบฑเบเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบ•เบปเบเบฅเบปเบ‡เป€เบซเบฑเบ™เบ”เบตเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เป‚เบซเบ™เบ” Cassandra เบˆเบฐเป€เบ—เบปเปˆเบฒเบเบฑเบšเบซเบ™เบถเปˆเบ‡เบเบฑเบเปƒเบ™ Kubernetes. เปเบ•เปˆเบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบเบฑเบเบˆเบฐเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปƒเบ™เปเบ•เปˆเบฅเบฐเบ„เบฑเป‰เบ‡. เปเบฅเบฐเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เบญเบ‡ node เปƒเบ™ Cassandra เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบ—เบตเปˆเบขเบนเปˆ IP ... เบกเบฑเบ™ turns เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป‚เบเบเบเป‰เบฒเบเปเบ•เปˆเบฅเบฐ pod, เบเบธเปˆเบก Cassandra เบˆเบฐเป€เบžเบตเปˆเบก node เปƒเบซเบกเปˆ.

เบกเบตเบ—เบฒเบ‡เบญเบญเบ, เปเบฅเบฐเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡:

  1. เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบšเบฑเบ™เบ—เบถเบเป‚เบ”เบเบ•เบปเบงเบฅเบฐเบšเบธเป€เบˆเบปเป‰เบฒเบžเบฒเบš (UUIDs เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡ Cassandra) เบซเบผเบทเป‚เบ”เบเบ—เบตเปˆเบขเบนเปˆ IP เปเบฅเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบšเบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡ / เบ•เบฒเบ•เบฐเบฅเบฒเบ‡. เบงเบดเบ—เบตเบเบฒเบ™เบกเบตเบชเบญเบ‡เบ‚เปเป‰เป€เบชเบเบ›เบฝเบšเบ•เบปเป‰เบ™เบ•เป:
    • เบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ‚เบญเบ‡เบชเบฐเบžเบฒเบšเบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบชเบญเบ‡ nodes เบ•เบปเบเบฅเบปเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™. เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ‚เบญเบ‡, Cassandra nodes เบˆเบฐเบžเป‰เบญเบกเบเบฑเบ™เบฎเป‰เบญเบ‡เบ‚เปเปƒเบซเป‰เบกเบตเบ—เบตเปˆเบขเบนเปˆ IP เบˆเบฒเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฅเบฐเปเบ‚เปˆเบ‡เบ‚เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ”เบฝเบงเบเบฑเบ™.
    • เบ–เป‰เบฒเบ‚เปเป‰ Cassandra เบชเบนเบ™เป€เบชเบเบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบกเบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบกเบฑเบ™เป„เบ”เป‰เบญเบตเบเบ•เปเปˆเป„เบ›.
  2. เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเบชเบญเบ‡เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เบเบฒเบ™ hack เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ, เปเบ•เปˆเบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก: เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบต ClusterIP เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ Cassandra node. เบกเบตเบšเบฑเบ™เบซเบฒเบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ™เบตเป‰:
    • เบ–เป‰เบฒเบกเบตเบซเบผเบฒเบ nodes เปƒเบ™เบเบธเปˆเบก Cassandra, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เบšเปเบฅเบดเบเบฒเบ™เบซเบผเบฒเบ.
    • เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” ClusterIP เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบœเปˆเบฒเบ™ iptables. เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบเบฒเบเป€เบ›เบฑเบ™เบšเบฑเบ™เบซเบฒเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบเบธเปˆเบก Cassandra เบกเบตเบซเบผเบฒเบ (1000 ... เบซเบผเบทเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡ 100?) nodes. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ IPVS เบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เป„เบ”เป‰.
  3. เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเบชเบฒเบกเปเบกเปˆเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ‚เบญเบ‡ nodes เบชเปเบฒเบฅเบฑเบš Cassandra nodes เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบญเบธเบ—เบดเบ”เบ•เบปเบ™เบ‚เบญเบ‡ pods เป‚เบ”เบเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ. hostNetwork: true. เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เบเปเบฒเบ™เบปเบ”เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบšเบฒเบ‡เบขเปˆเบฒเบ‡:
    • เป€เบžเบทเปˆเบญเบ—เบปเบ”เปเบ—เบ™เบซเบปเบงเบซเบ™เปˆเบงเบ. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆ node เปƒเบซเบกเปˆเบ•เป‰เบญเบ‡เบกเบตเบ—เบตเปˆเบขเบนเปˆ IP เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบญเบฑเบ™เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ (เปƒเบ™เป€เบกเบ„เป€เบŠเบฑเปˆเบ™ AWS, GCP เบ™เบตเป‰เปเบกเปˆเบ™เป€เบเบทเบญเบšเป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”);
    • เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ‚เบญเบ‡ nodes cluster, เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเบˆเบฐเปเบ‚เปˆเบ‡เบ‚เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบงเบฒเบ‡เบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบเบฑเบเบเบฑเบš Cassandra เบขเบนเปˆเปƒเบ™เบซเบ™เบถเปˆเบ‡ cluster node เบˆเบฐเบกเบตเบšเบฑเบ™เบซเบฒ.

5. เบ‚เปเป‰เบกเบนเบ™เบชเบณเบฎเบญเบ‡

เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเบชเบฐเบšเบฑเบšเป€เบ•เบฑเบกเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡ Cassandra node เบ”เบฝเบงเบขเบนเปˆเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡. Kubernetes เบชเบฐเปœเบญเบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบชเบฐเบ”เบงเบเปƒเบ™เบเบฒเบ™เปƒเบŠเป‰ CronJob, เปเบ•เปˆเบ™เบตเป‰ Cassandra เบ•เบปเบงเป€เบญเบ‡เบงเบฒเบ‡เบ„เปเบฒเป€เบงเบปเป‰เบฒเบขเบนเปˆเปƒเบ™เบฅเปเป‰เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.

เบ‚เป‰เบญเบเบ‚เปเป€เบ•เบทเบญเบ™เป€เบˆเบปเป‰เบฒเบงเปˆเบฒ Cassandra เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป„เบงเป‰เปƒเบ™เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒ. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ (Memtables) เบเป‰เบฒเบเป„เบ› disk (SSTables). เปƒเบ™เบˆเบธเบ”เบ™เบตเป‰, เป‚เบซเบ™เบ” Cassandra เบขเบธเบ”เป€เบŠเบปเบฒเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เบ›เบดเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฒเบเบเบธเปˆเบก.

เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบตเป‰โ€‹, เบเบฒเบ™โ€‹เบชเปเบฒโ€‹เบฎเบญเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เป‚เบเบโ€‹เบเป‰เบฒเบโ€‹เบญเบญเบ (snapshot) เปเบฅเบฐโ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เป„เบงเป‰ (เบ›เบธเปˆเบกเบเบปเบ”). เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบ›เบฐเบเบปเบ”เบงเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบšเปเปˆเป„เบ”เป‰เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบซเบเบฑเบ‡: เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบšเบฑเบ™เบ—เบถเบเบ•เบปเบงเบฅเบฐเบšเบธเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆ Cassandra เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบš - เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™ tokens เบžเบดเป€เบชเบ”.

เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เบญเบ‡ Cassandra เบเบฑเบš Kubernetes: เบฅเบฑเบเบชเบฐเบ™เบฐเปเบฅเบฐเบงเบดเบ—เบตเปเบเป‰เป„เบ‚
เบเบฒเบ™เปเบœเปˆเบเบฐเบˆเบฒเบเบ‚เบญเบ‡ tokens เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบชเบดเปˆเบ‡เบ—เบตเปˆเบ‚เปเป‰เบกเบนเบ™ Cassandra nodes เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบš

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

set -eu

if [[ -z "$1" ]]; then
  info "Please provide a keyspace"
  exit 1
fi

KEYSPACE="$1"

result=$(nodetool snapshot "${KEYSPACE}")

if [[ $? -ne 0 ]]; then
  echo "Error while making snapshot"
  exit 1
fi

timestamp=$(echo "$result" | awk '/Snapshot directory: / { print $3 }')

mkdir -p /tmp/backup

for path in $(find "/var/lib/cassandra/data/${KEYSPACE}" -name $timestamp); do
  table=$(echo "${path}" | awk -F "[/-]" '{print $7}')
  mkdir /tmp/backup/$table
  mv $path /tmp/backup/$table
done


tar -zcf /tmp/backup.tar.gz -C /tmp/backup .

nodetool clearsnapshot "${KEYSPACE}"

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡ bash script เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบซเบ™เบถเปˆเบ‡ Cassandra node

เบงเบดเบ—เบตเปเบเป‰เป„เบ‚เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบš Cassandra เปƒเบ™ Kubernetes

เบ›เบฐเบˆเบธเบšเบฑเบ™เบ™เบตเป‰เปƒเบŠเป‰เบญเบฑเบ™เปƒเบ”เป€เบžเบทเปˆเบญเบ™เบณเปƒเบŠเป‰ Cassandra เปƒเบ™ Kubernetes เปเบฅเบฐเบญเบฑเบ™เปƒเบ”เบ—เบตเปˆเป€เปเบฒเบฐเบชเบปเบกเบเบฑเบšเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบเบณเบ™เบปเบ”เป„เบงเป‰?

1. เบงเบดเบ—เบตเปเบเป‰เป„เบ‚เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ StatefulSet เบซเบผเบท Helm

เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบŸเบฑเบ‡เบŠเบฑเบ™ StatefulSets เบžเบทเป‰เบ™เบ–เบฒเบ™เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเบธเปˆเบก Cassandra เป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบ”เบต. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm เปเบฅเบฐเปเบกเปˆเปเบšเบš Go, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰เบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเปเบšเบšเบเบทเบ”เบซเบเบธเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Cassandra.

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

เบ•เบปเบงเปเบ—เบ™:

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบฑเบ‡เบชเบญเบ‡เปเบกเปˆเบ™เบ”เบตเป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™, เปเบ•เปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡.

2. เบเบฒเบ™เปเบเป‰เป„เบ‚เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Kubernetes Operator

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปเบกเปˆเบ™เบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบซเบผเบฒเบเป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบชเบฐเบซเบ™เบญเบ‡เป‚เบญเบเบฒเบ”เบญเบฑเบ™เบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบธเปˆเบก. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเบญเบเปเบšเบšเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Cassandra, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบญเบทเปˆเบ™เป†, เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ”เบตเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ Sidecar <-> Controller <-> CRD:

เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ‚เบญเบ‡ Cassandra เบเบฑเบš Kubernetes: เบฅเบฑเบเบชเบฐเบ™เบฐเปเบฅเบฐเบงเบดเบ—เบตเปเบเป‰เป„เบ‚
เบฅเบฐเบšเบปเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™ Node เปƒเบ™เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Cassandra เบ—เบตเปˆเบ–เบทเบเบญเบญเบเปเบšเบšเบ”เบต

เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง.

1. Cassandra-operator เบˆเบฒเบ instaclustr

  • GitHub
  • เบ„เบงเบฒเบกเบžเป‰เบญเบก: เบญเบฑเบ™เบŸเบฒ
  • เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache 2.0
  • เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™: Java

เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เปเบ—เป‰โ€‹เบˆเบดเบ‡โ€‹เปเบฅเป‰เบงโ€‹เป€เบ›เบฑเบ™โ€‹เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบ”เบตโ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เบขเปˆเบฒเบ‡โ€‹เบซเป‰เบฒเบงโ€‹เบซเบฑเบ™โ€‹เบˆเบฒเบโ€‹เบšเปโ€‹เบฅเบดโ€‹เบชเบฑเบ”โ€‹เบ—เบตเปˆโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบˆเบฑเบ”โ€‹เบเบฒเบ™ Cassandra เบเบฒเบ™โ€‹เบˆเบฑเบ”โ€‹เบเบฒเบ™. เบกเบฑเบ™, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเป„เบงเป‰เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เปƒเบŠเป‰เบ–เบฑเบ‡ sidecar เบ—เบตเปˆเบเบญเบกเบฎเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบœเปˆเบฒเบ™ HTTP. เบ‚เบฝเบ™เปƒเบ™ Java, เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบกเบฑเบ™เบ‚เบฒเบ”เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ—เบตเปˆเบเป‰เบฒเบงเบซเบ™เป‰เบฒเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบฅเบนเบเบ„เป‰เบฒเป„เบ›. เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบšเปเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ Racks เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบซเบ™เบถเปˆเบ‡ Datacenter.

เปเบ•เปˆเบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบกเบตเบ‚เปเป‰เบ”เบตเป€เบŠเบฑเปˆเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก, เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบธเปˆเบกเบ—เบตเปˆเบกเบตเบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เป‚เบ”เบเปƒเบŠเป‰ CRD, เปเบฅเบฐเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡เป€เบญเบเบฐเบชเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™.

2. Navigator เบˆเบฒเบ Jetstack

  • GitHub
  • เบ„เบงเบฒเบกเบžเป‰เบญเบก: เบญเบฑเบ™เบŸเบฒ
  • เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache 2.0
  • เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™: Golang

เบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™เบ—เบตเปˆเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเบ™เบณเปƒเบŠเป‰ DB-as-a-Service. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™: Elasticsearch เปเบฅเบฐ Cassandra. เบกเบฑเบ™เบกเบตเบงเบดเบ—เบตเปเบเป‰เป„เบ‚เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเป€เบŠเบฑเปˆเบ™เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบœเปˆเบฒเบ™ RBAC (เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰เบกเบฑเบ™เบกเบต navigator-apiserver เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡). เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบ—เบตเปˆเบˆเบฐเบกเบตเบกเบนเบ™เบ„เปˆเบฒเบเบฒเบ™เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบขเปˆเบฒเบ‡เปƒเบเป‰เบŠเบดเบ”, เปเบ•เปˆเบงเปˆเบฒเบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบ„เบฑเป‰เบ‡เบชเบธเบ”เบ—เป‰เบฒเบเป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เป€เบกเบทเปˆเบญเบซเบ™เบถเปˆเบ‡เบ›เบตเปเบฅเบฐเป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, เป€เบŠเบดเปˆเบ‡เบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เบ—เปˆเบฒเปเบฎเบ‡เบ‚เบญเบ‡เบกเบฑเบ™.

3. Cassandra-operator เป‚เบ”เบ vgkowski

  • GitHub
  • เบ„เบงเบฒเบกเบžเป‰เบญเบก: เบญเบฑเบ™เบŸเบฒ
  • เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache 2.0
  • เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™: Golang

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

4. Cassandra-operator เป‚เบ”เบ Rook

  • GitHub
  • เบ„เบงเบฒเบกเบžเป‰เบญเบก: เบญเบฑเบ™เบŸเบฒ
  • เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache 2.0
  • เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™: Golang

เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบ—เบตเปˆเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบšเปเปˆเบเป‰เบฒเบงเบซเบ™เป‰เบฒเป„เบงเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™. เบกเบฑเบ™เบกเบตเป‚เบ„เบ‡เบชเป‰เบฒเบ‡ CRD เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบ”เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบธเปˆเบก, เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบเบฒเบ™เบเปเบฒเบ™เบปเบ” nodes เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบเบฑเบš ClusterIP (เบ”เบฝเบงเบเบฑเบ™ "hack") ... เปเบ•เปˆเบงเปˆเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบšเปเปˆเบกเบตเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบซเบผเบทเบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบญเบญเบเบˆเบฒเบเบเปˆเบญเบ‡ (เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒ เป€เบญเบปเบฒเบกเบฑเบ™เบ•เบปเบงเป€เบฎเบปเบฒเป€เบญเบ‡). เบˆเบธเบ”เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเปเบกเปˆเบ™เบงเปˆเบฒเป€เบˆเบปเป‰เบฒเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰ ScyllaDB เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ™เบตเป‰.

NB: เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ™เบตเป‰เบ”เป‰เบงเบเบเบฒเบ™เบ”เบฑเบ”เปเบ›เบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบเปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบšเปเปˆเบžเบปเบšเบšเบฑเบ™เบซเบฒเปƒเบ”เป†เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ (~ 4 เป€เบ”เบทเบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™).

5. CassKop เบˆเบฒเบเบชเบตเบชเบปเป‰เบก

  • GitHub
  • เบ„เบงเบฒเบกเบžเป‰เบญเบก: เบญเบฑเบ™เบŸเบฒ
  • เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”: Apache 2.0
  • เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™: Golang

เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบ—เบตเปˆเบกเบตเบญเบฒเบเบธเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”เปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ: เบชเบฑเบ™เบเบฒเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”เป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เปƒเบ™เบงเบฑเบ™เบ—เบต 23 เบžเบถเบ”เบชเบฐเบžเบฒ 2019. เปเบฅเป‰เบง, เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบฑเบ™เบกเบตเบขเบนเปˆเปƒเบ™เบชเบฒเบ™เบซเบ™เบนเบ‚เบญเบ‡เบ•เบปเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบ‚เบญเบ‡เบฅเบฑเบเบชเบฐเบ™เบฐเบˆเบฒเบเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ‚เบญเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบžเบปเบšเป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™ repository เป‚เบ„เบ‡เบเบฒเบ™. เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบšเบปเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ operator-sdk เบ—เบตเปˆเบ™เบดเบเบปเบก. เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบญเบญเบเบˆเบฒเบเบซเป‰เบญเบ‡. เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ•เบปเป‰เบ™เบ•เปเบˆเบฒเบเบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบญเบทเปˆเบ™เป†เปเบกเปˆเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ เบ›เบฅเบฑเบเบญเบดเบ™ CassKop, เบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ Python เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ Cassandra nodes.

เบเบฒเบ™เบ„เบปเป‰เบ™เบžเบปเบš

เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เปเบฅเบฐเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ porting Cassandra เบเบฑเบš Kubernetes เป€เบงเบปเป‰เบฒเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡: เบซเบปเบงเบ‚เปเป‰เปเบกเปˆเบ™เบขเบนเปˆเปƒเบ™เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™.

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

เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบ„เบดเบ”โ€‹เบงเปˆเบฒโ€‹เปƒเบ™โ€‹เบญเบฐโ€‹เบ™เบฒโ€‹เบ„เบปเบ”โ€‹เบœเบนเป‰โ€‹เบเบดเบ‡โ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เบˆเบฐโ€‹เบกเบฒโ€‹เปƒเบ™ handy!

PS

เบญเปˆเบฒเบ™เบเบฑเบ‡เบขเบนเปˆเปƒเบ™ blog เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:

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

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