实例详情
本页面介绍如何读取运行中的实例:拓扑如何映射到 Kubernetes 对象、状态字段的含义,以及有哪些端点。
拓扑
拓扑在 spec.configuration.clusters[].layout 下声明,并按以下方式派生:
shardsCount × replicasCount= 主机数量。- 每个主机对应一个 StatefulSet,其中包含
replicas: 1,并持有一个 pod。 - 两个计数的默认值均为
1;如果你明确列举的分片或副本数量超过了计数值,系统会自动提高相应计数。
因此,一个 shardsCount: 3、replicasCount: 2 集群包含 6 个 StatefulSet、6 个 pod 和 6 组 PVC,而不是包含 3 个 StatefulSet、每个 StatefulSet 包含 2 个 pod。
Pod 管理设置为 OrderedReady,更新策略为 RollingUpdate。
对象名称
集群和分片 Service 的名称遵循上述模式,但默认不会创建。除非你设置 clusterServiceTemplate 或 shardServiceTemplate,否则 operator 不会为其中任何一个返回对象。开箱即用时,你会获得恰好两种 Service:每个实例一个,以及每个主机一个。
端点
status.endpoint 提供实例范围的地址,status.fqdns 列出每个主机的地址。有关如何访问这些地址以及默认的 Service 类型,请参阅访问实例。
状态字段
当某项设置似乎未生效时,status.normalized 是最有用的字段:它显示了你的 spec、所使用的任何模板以及 operator 默认值的合并结果。
健康
status.status: Completed 表示 operator 已完成其协调过程。在 4.4 版本中,只有每个主机的 StatefulSet 都已就绪后,该过程才会完成;如果之后某个主机的状态降级,状态会恢复为 InProgress。
请根据工作负载本身确认运行状况:
每一行都必须显示 READY 等于 DESIRED。这是 operator 对主机就绪状态的定义。