這是K8ssandra的Kubernetes運營商。
文檔網站
K8SSANDRA-EPERATOR是在Kubernetes上管理Apache Cassandra和DSE的交鑰匙解決方案。 Apache Cassandra是NOSQL的首屈一指的列數據存儲,提供低延遲,地理複製和存儲數據之前的能力。阿帕奇·卡桑德拉(Apache Cassandra)在某種程度上使用了500強財產的90%。
DataStax Enterprise,DSE是Apache Cassandra的DataStax分佈,提供了其他功能,例如高級安全性,搜索和圖形,以及Cassandra中尚未提供的功能,例如vector搜索生成AI應用程序。
K8SSANDRA-SERATOR允許部署多個Apache Cassandra數據中心,這些數據中心跨越了多個Kubernetes群集。該體系結構的目的是提供地理複製,以增強延遲(通過將數據更接近最終用戶移動)和可用性(通過在數據中心故障或網絡分區時提供多個數據中心來服務請求)。
Apache Cassandra提供了架子和故障區意識數據複製,既可以復制又分碎,以進行性能和保護。
它包含以下功能;
Apache Cassandra可以在單獨的區域或可用性/故障區域中部署到多個數據中心中。 K8SSANDRA-ASERATOR通過在多個Kubernetes群集之間進行通信並將Cassandra數據中心部署到其中,從而使這一成為可能。
這將K8SSandra-operator與Cass-operator(可在K8SSandra-operator內部使用)區分開,該操作員不會自動化多區域部署。
控制平面群集中的單個K8SSANDRA-ASERATOR實例可以在多個Kubernetes簇上管理許多數據平面DC,並在多個Cassandra簇上分裂。多達1000個節點的簇已經進行了測試並確認表現良好。
支持高級的Cassandra功能,例如更改數據捕獲(CDC),並且可以使用Kubernetes清單配置。
監視是任何分佈式系統中的關鍵服務,K8SSandra-operator通過添加到Cassandra JVM中的代理提供了豐富的Apache Cassandra指標。
通過與向量集成,K8SSandra-oserator允許指標流到用戶選擇的位置,包括現有的Prometheus或Mimir實例。還支持各種其他協議和系統,例如AMQP,Elasticsearch,Kafka或Redis(有關集成的完整列表,請參見此處)。
可以使用Kubernetes自定義資源配置指標管道,從而創建多個管道,以支持許多群集中的不同用例。
支持Cassandra審核和監視功能,例如完整查詢日誌記錄,可以直接從K8SSandRacluster清單中配置。
Apache Cassandra需要定期維護,以確保在整個集群中始終如一地複制數據。 K8SSANDRA-操作員通過使用Reaper定期進行維修來自動化此過程,這是K8SSANDRA團隊維護的Cassandra的廣泛採用的解決方案。
使用K8SSandra-operator,您可以使用Kubernetes清單來配置和監視許多Cassandra數據中心和集群中維修時間表的成功。
K8SSANDRA-operator使用Medusa啟用Cassandra Sstables的備份到雲存儲位置,例如S3存儲桶,GCS和Azure存儲。
可以使用Kubernetes清單配置備份和還原計劃,從而允許對備份和還原過程進行聲明性,可審計的管理。
Apache Cassandra的Stargate提供了高級API,包括與Node.js,GraphQL和REST的Mongoose對象建模框架集成。它還可以在某些集群拓撲中增強Cassandra的本機CQL性能。
使用K8SSandra-operator,可以通過簡單的Kubernetes表現來部署和配置Stargate。
該文檔涵蓋了從安裝詳細信息,部署的組件,配置參考以及基於結果的任務中的所有內容。
要安裝K8SSANDRA-OPERATOR啟動[此處]({{<relref“ install/”>}})。
請務必在Github上留下一顆星星!
K8SANDRA運營商首先要使用多群集的支持開發。它也可以在單集群部署中無縫使用。
K8SSANDRA操作員由控制平面和數據平面組成。控制平面創建並管理僅在API服務器中存在的對象。控制平面不部署或管理POD。
注意:控制平面只能安裝在一個群集中,即控制平面群集。
數據平面可以安裝在任意數量的群集上。控制平面群集還可以用作數據平面。
數據平面部署並管理POD。此外,數據平面可能直接與託管應用程序進行交互。例如,操作員致電管理API在Cassandra中創建密鑰空間。
在此圖中,您可以看到一個多群集部署的小例子。

需要在Kubernetes簇之間具有可路由的POD IP。但是,將來可能會放鬆這一要求。
如果您在雲提供商中運行,則可以通過在同一VPC中安裝Kubernetes簇來獲得可路由的IP。
如果您在本地運行多種類型群集,則假設它們在通常情況下的同一docker網絡上運行,則可以使用可路由的POD IP。我們將其用於多群集E2E測試。
請參閱“安裝指南”。
有關參與K8SSANDRA的更多信息,請查看K8SSANDRA社區頁面。
本節的其餘部分著重於操作員本身的開發。
在K8SSANDRA.IO上查看完整的K8SSANDRA文檔。
在Forum.k8ssandra.io上開始或加入論壇討論。
加入我們的不和諧。
對於K8SSANDRA 1.X的任何特定內容,請在K8SSandra Repo中創建問題。
請參閱《開髮指南》。