深入探讨Kubernetes数据库部署与Helm自动化
1. 有状态集(StatefulSets)的构建挑战与应对策略
构建能够满足所有有状态工作负载需求的有状态集并非易事。在构建有状态集时,通常会优先考虑处理最常见的需求。虽然可以不断增加对边缘情况的支持,但这会让用户难以理解和掌握其功能。总会有用户因自己的用例未被覆盖而不满,因此需要在不影响功能和性能的前提下,权衡可添加的功能。
当用户需要更特定的行为(例如处理边缘情况)时,往往是因为他们在尝试管理像Postgres或Cassandra这样的复杂应用。此时,可以创建自己的控制器甚至操作符来处理这些特定情况。编写自己的控制器并不困难,可以通过简单的示例,如Kubernetes代码库中的示例控制器,在几天内快速启动并运行一个基本的控制器。
2. 访问Cassandra
在应用相关配置后,可以使用Cassandra的CQL shell(cqlsh)执行CQL命令。如果本地安装了cqlsh,可以像客户端应用程序一样,使用与有状态集关联的CQL服务访问Cassandra。也可以直接连接到有状态集中的单个Pod来与Kubernetes中的基础设施进行交互:
kubectl exec -it cassandra-0 -- cqlsh
这将打开cqlsh提示符,然后可以使用 DESCRIBE KEYSPACES 查看Cassandra的内置表内容,使用 USE 选择特定的键空间,并运行 DESCRIBE TABLES
超级会员免费看
订阅专栏 解锁全文
48

被折叠的 条评论
为什么被折叠?



