feat(cluster): card-based cluster type selector for K8s
Replace the GPU Service switch (with the small "cannot be used for
model service" caption) with a two-card radio selector that makes the
choice between Model Service and GPU Service explicit at a glance.
- Render two cards styled to match the existing SwitchCard (same
border, radius, 12px/14px padding, and label/description typography)
so the selector blends in with the surrounding form fields.
- Underlying form state is unchanged: picking GPU Service still seeds
k8s_options.gpuInstanceOptions = {}, picking Model Service clears
it — so the static-address field, the EDIT-mode change watcher, and
the API payload all keep working as before.
- Align the GPU Service label with the top-level menu entry
(menu.gpuService) — drop "Instance" / "实例" from the card title
and the static access address label.
This commit is contained in:
@@ -184,11 +184,14 @@ export default {
|
||||
'clusters.namespace.title': 'Namespace',
|
||||
'clusters.namespace.tip':
|
||||
'Kubernetes namespace the cluster’s manifests render into. Leave empty to use gpustack-system.',
|
||||
'clusters.gpuInstances.title': 'GPU Instance Service',
|
||||
'clusters.clusterType.title': 'Cluster Type',
|
||||
'clusters.modelService.title': 'Model Service',
|
||||
'clusters.modelService.tip':
|
||||
'For LLM inference and API serving — e.g. exposing model APIs and token-based services.',
|
||||
'clusters.gpuInstances.title': 'GPU Service',
|
||||
'clusters.gpuInstances.tip':
|
||||
'Once enabled, the cluster is dedicated to GPU instance service and cannot be used for model service.',
|
||||
'clusters.gpuInstances.staticAddress':
|
||||
'GPU Instance Service Static Access Address',
|
||||
'For on-demand GPU compute — e.g. interactive development, training jobs, or custom environments.',
|
||||
'clusters.gpuInstances.staticAddress': 'GPU Service Static Access Address',
|
||||
'clusters.gpuInstances.staticAddress.tip':
|
||||
'Static address the operator uses to access GPU instances in this cluster (e.g. a LoadBalancer VIP). Optional.'
|
||||
};
|
||||
|
||||
@@ -184,11 +184,14 @@ export default {
|
||||
'clusters.namespace.title': 'Namespace',
|
||||
'clusters.namespace.tip':
|
||||
'Kubernetes namespace the cluster’s manifests render into. Leave empty to use gpustack-system.',
|
||||
'clusters.gpuInstances.title': 'GPU Instance Service',
|
||||
'clusters.clusterType.title': 'Cluster Type',
|
||||
'clusters.modelService.title': 'Model Service',
|
||||
'clusters.modelService.tip':
|
||||
'For LLM inference and API serving — e.g. exposing model APIs and token-based services.',
|
||||
'clusters.gpuInstances.title': 'GPU Service',
|
||||
'clusters.gpuInstances.tip':
|
||||
'Once enabled, the cluster is dedicated to GPU instance service and cannot be used for model service.',
|
||||
'clusters.gpuInstances.staticAddress':
|
||||
'GPU Instance Service Static Access Address',
|
||||
'For on-demand GPU compute — e.g. interactive development, training jobs, or custom environments.',
|
||||
'clusters.gpuInstances.staticAddress': 'GPU Service Static Access Address',
|
||||
'clusters.gpuInstances.staticAddress.tip':
|
||||
'Static address the operator uses to access GPU instances in this cluster (e.g. a LoadBalancer VIP). Optional.'
|
||||
};
|
||||
|
||||
@@ -185,11 +185,14 @@ export default {
|
||||
'clusters.namespace.title': 'Namespace',
|
||||
'clusters.namespace.tip':
|
||||
'Kubernetes namespace the cluster’s manifests render into. Leave empty to use gpustack-system.',
|
||||
'clusters.gpuInstances.title': 'GPU Instance Service',
|
||||
'clusters.clusterType.title': 'Cluster Type',
|
||||
'clusters.modelService.title': 'Model Service',
|
||||
'clusters.modelService.tip':
|
||||
'For LLM inference and API serving — e.g. exposing model APIs and token-based services.',
|
||||
'clusters.gpuInstances.title': 'GPU Service',
|
||||
'clusters.gpuInstances.tip':
|
||||
'Once enabled, the cluster is dedicated to GPU instance service and cannot be used for model service.',
|
||||
'clusters.gpuInstances.staticAddress':
|
||||
'GPU Instance Service Static Access Address',
|
||||
'For on-demand GPU compute — e.g. interactive development, training jobs, or custom environments.',
|
||||
'clusters.gpuInstances.staticAddress': 'GPU Service Static Access Address',
|
||||
'clusters.gpuInstances.staticAddress.tip':
|
||||
'Static address the operator uses to access GPU instances in this cluster (e.g. a LoadBalancer VIP). Optional.'
|
||||
};
|
||||
|
||||
@@ -185,11 +185,14 @@ export default {
|
||||
'clusters.namespace.title': 'Namespace',
|
||||
'clusters.namespace.tip':
|
||||
'Kubernetes namespace the cluster’s manifests render into. Leave empty to use gpustack-system.',
|
||||
'clusters.gpuInstances.title': 'GPU Instance Service',
|
||||
'clusters.clusterType.title': 'Cluster Type',
|
||||
'clusters.modelService.title': 'Model Service',
|
||||
'clusters.modelService.tip':
|
||||
'For LLM inference and API serving — e.g. exposing model APIs and token-based services.',
|
||||
'clusters.gpuInstances.title': 'GPU Service',
|
||||
'clusters.gpuInstances.tip':
|
||||
'Once enabled, the cluster is dedicated to GPU instance service and cannot be used for model service.',
|
||||
'clusters.gpuInstances.staticAddress':
|
||||
'GPU Instance Service Static Access Address',
|
||||
'For on-demand GPU compute — e.g. interactive development, training jobs, or custom environments.',
|
||||
'clusters.gpuInstances.staticAddress': 'GPU Service Static Access Address',
|
||||
'clusters.gpuInstances.staticAddress.tip':
|
||||
'Static address the operator uses to access GPU instances in this cluster (e.g. a LoadBalancer VIP). Optional.'
|
||||
};
|
||||
|
||||
@@ -177,10 +177,14 @@ export default {
|
||||
'clusters.namespace.title': '命名空间',
|
||||
'clusters.namespace.tip':
|
||||
'集群清单渲染所使用的 Kubernetes 命名空间。留空则使用 gpustack-system。',
|
||||
'clusters.gpuInstances.title': 'GPU 实例服务',
|
||||
'clusters.clusterType.title': '集群类型',
|
||||
'clusters.modelService.title': '模型服务',
|
||||
'clusters.modelService.tip':
|
||||
'适用于大模型推理与 API 服务化场景,例如对外提供模型 API 与 Token 服务能力。',
|
||||
'clusters.gpuInstances.title': 'GPU 服务',
|
||||
'clusters.gpuInstances.tip':
|
||||
'启用后该集群将专用于 GPU 实例服务,不可用于模型服务。',
|
||||
'clusters.gpuInstances.staticAddress': 'GPU实例服务静态访问地址',
|
||||
'适用于按需分配 GPU 计算资源的场景,例如交互式开发、训练任务或自定义运行环境。',
|
||||
'clusters.gpuInstances.staticAddress': 'GPU 服务静态访问地址',
|
||||
'clusters.gpuInstances.staticAddress.tip':
|
||||
'Operator 访问该集群 GPU 实例所使用的静态地址(例如 LoadBalancer VIP)。可选。'
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user