Skip to content

Commit 232a7b2

Browse files
author
xuanjinlong
committed
feat: support prisdb kvcache data plane metrics
1 parent be5d1b5 commit 232a7b2

File tree

2 files changed

+29
-1
lines changed

2 files changed

+29
-1
lines changed

api/orchestration/v1alpha1/kvcache_types.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,10 @@ type KVCacheSpec struct {
104104
// cache's service
105105
// +kubebuilder:validation:Optional
106106
Service ServiceSpec `json:"service,omitempty"`
107+
108+
// kvcache hpkv monitor agent for member registration
109+
// +kubebuilder:validation:Optional
110+
HpkvMonitorAgent *RuntimeSpec `json:"hpkvmonitoragent,omitempty"`
107111
}
108112

109113
// KVCacheStatus defines the observed state of KVCache

pkg/controller/kvcache/backends/hpkv.go

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ func buildCacheStatefulSet(kvCache *orchestrationv1alpha1.KVCache) *appsv1.State
262262

263263
annotations := map[string]string{
264264
"prometheus.io/scrape": "true",
265-
"prometheus.io/port": strconv.Itoa(params.AdminPort),
265+
"prometheus.io/port": strconv.Itoa(2112),
266266
"prometheus.io/path": "/metrics",
267267
}
268268
rdmaKey := corev1.ResourceName("vke.volcengine.com/rdma")
@@ -284,6 +284,8 @@ func buildCacheStatefulSet(kvCache *orchestrationv1alpha1.KVCache) *appsv1.State
284284
"-v", "$AIBRIX_KVCACHE_BLOCK_SIZE_IN_BYTES",
285285
"-b", "$AIBRIX_KVCACHE_BLOCK_COUNT",
286286
"--acl", "any",
287+
"-A", "$AIBRIX_KVCACHE_RDMA_IP",
288+
"-P", "$AIBRIX_KVCACHE_ADMIN_PORT",
287289
}
288290
kvCacheServerArgsStr := strings.Join(kvCacheServerArgs, " ")
289291
privileged := false // let's use fine-grained permission
@@ -358,6 +360,28 @@ func buildCacheStatefulSet(kvCache *orchestrationv1alpha1.KVCache) *appsv1.State
358360
},
359361
},
360362
},
363+
{
364+
Name: "kvcache-hpkv-monitor-agent",
365+
Image: kvCache.Spec.HpkvMonitorAgent.Image,
366+
ImagePullPolicy: corev1.PullPolicy(kvCache.Spec.HpkvMonitorAgent.ImagePullPolicy),
367+
Command: []string{
368+
"/bin/bash",
369+
"-c",
370+
`
371+
RDMA_IP=$(ip addr show dev eth1 | grep 'inet ' | awk '{print $2}' | awk -F/ '{print $1}')
372+
echo "Using RDMA IP: $RDMA_IP"
373+
./monitor_agent --hpkvAddr=$RDMA_IP
374+
`,
375+
},
376+
Ports: []corev1.ContainerPort{
377+
{
378+
Name: "hpkv",
379+
ContainerPort: int32(2112),
380+
Protocol: corev1.ProtocolTCP,
381+
},
382+
},
383+
Resources: kvCache.Spec.HpkvMonitorAgent.Resources,
384+
},
361385
},
362386
Volumes: []corev1.Volume{
363387
{

0 commit comments

Comments
 (0)