Kubernetes 数据库部署与管理:从基础到自动化
1. Kubernetes 资源管理基础
1.1 StatefulSets 特性与使用场景
StatefulSets 在初始部署时可加快副本数量的扩展,使其与其他控制器的工作方式更加一致。不过,构建能满足所有有状态工作负载需求的 StatefulSets 并非易事。开发者需要在支持更多边缘情况和保持功能简单易理解之间找到平衡。
对于复杂应用,如 Postgres 或 Cassandra,用户可以创建自己的控制器甚至操作符来处理特定情况。编写自定义控制器并不困难,可借助 Kubernetes 代码库中的示例控制器快速上手,几天内就能让基本控制器运行起来。
1.2 访问 Cassandra
应用相关配置后,可使用 Cassandra 的 CQL 外壳 cqlsh
执行 CQL 命令。若本地安装了 cqlsh
,可通过与 StatefulSet 关联的 CQL 服务访问 Cassandra;也可直接连接到 StatefulSet 中的单个 Pod:
kubectl exec -it cassandra-0 -- cqlsh
进入 cqlsh
提示符后,可使用 DESCRIBE KEYSPACES
查看内置表内容,使用 USE
选择特定键空间,再使用 DESCRIBE TABLES
查看表信息。