feat: stamp Queue shard status with availability zones
Resolves each shard topic's replica broker IDs (internal/kafka.Admin. ReplicaBrokerIDs) to the topology.kubernetes.io/zone labels of the nodes hosting those brokers (ZoneLocator), and writes the result into ShardStatus.AvailabilityZones each reconcile. Uses mgr.GetAPIReader() rather than the cached client for the Pod/Node lookups, since the cached client would otherwise require cluster-wide list/watch RBAC on Pods just to serve occasional point Gets.
This commit is contained in:
@@ -211,6 +211,15 @@ spec:
|
||||
description: ShardStatus describes one shard backing a Queue (design.md
|
||||
§2a/§2c).
|
||||
properties:
|
||||
availabilityZones:
|
||||
description: |-
|
||||
AvailabilityZones lists the topology.kubernetes.io/zone values of every
|
||||
node currently hosting a Kafka replica of this shard's topic, resolved
|
||||
from the broker pods' node placement each reconcile. Empty until the
|
||||
first successful resolution (e.g. node lookup failed transiently).
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
createdAt:
|
||||
description: |-
|
||||
CreatedAt timestamps when this shard was created, used to enforce
|
||||
|
||||
Reference in New Issue
Block a user