跳转到主要内容

创建通用服务

支持通过 SDK 创建通用服务。示例如下: 注意:当前版本不支持配置健康检查探针(livenessProbe)参数
from siflow import SiFlow
from siflow.types.generalsvc import CreateGeneralsvcRequest, Image, Instance, Workload

client = SiFlow(
    region="cn-beijing",
    cluster="auriga",
)

res = client.generalsvc.create(
    request=CreateGeneralsvcRequest(
        name="testsdk",
        ports=[8000],
        useBaseUrl=False,
        workloads=[
            Workload(
                version="v1",
                replicas=1,
                resourcePool="cn-beijing-auriga-ai-infra-reserved-shared",
                instances=[
                     Instance(name="sci.c23-2", countPerPod=1),
                ],
                image=Image(
                    name="megatron",
                    version="0.12.1",
                    url="registry-cn-beijing.siflow.cn/siflow/megatron:0.12.1-a845aa7",
                    type="preset",
                ),
                cmd="""echo hello world""",
            )
        ]
    )
)

参数说明:

CreateGeneralsvcRequest

参数名称类型是否必填说明
namestrYES服务名称
portsList[int]NO服务端口
workloadsList[Workload]NO工作负载配置
useBaseUrlboolNO是否使用 base URL

Workload

参数名称类型是否必填说明
versionNamestrNO版本名称
versionstrNO版本号
replicasintNO副本数量
resourcePoolstrNO资源池名称
instancesList[Instance]NO实例配置
imageImageNO镜像配置
volumesList[Volume]NO存储卷挂载配置
cmdstrNO启动命令
endpointsEndpointsNO服务接入点

Instance

参数名称类型是否必填说明
namestrYES实例名称
countPerPodintYES每个 Pod 的实例数量

Volume

参数名称类型是否必填说明
volumeIdintNO存储卷 ID
mountDirstrNO挂载目录

Image

参数名称类型是否必填说明
namestrYES镜像名称
versionstrYES镜像版本
urlstrYES镜像 URL
typestrYES镜像类型

获取通用服务列表

支持通过 SDK 查询通用服务列表。使用示例如下:
res = client.generalsvc.list()
响应
ListGeneralsvcsResponse(status=True, msg='Success', requestID='8d959bfb3fc8fee891f2a1396aa006a7', traceID='a31db0f49d9e3429ddd160bbd44e709c', data=None, total=1, page=1, pageSize=15, rows=[GeneralsvcBrief(uuid='273b82a7-853c-4ad3-9540-1674360dd2fb', name='testsdk', workloadNum=1, ports=[8000], cronPolicy=CronPolicy(restartTime=CronInfo(actionTime=None, enable=None), onlineTime=CronInfo(actionTime=None, enable=None), offlineTime=CronInfo(actionTime=None, enable=None)), status='NotReady', statusMsg='没有正常运行的工作负载版本', isOnline=True, createTime='2025-09-11T02:56:44Z', updateTime='2025-09-11T02:56:44Z')])

参数说明:

ListGeneralsvcsRequest

参数名称类型是否必填说明
statusstrNO服务状态
namestrNO服务名称
generalsvcUUIDstrNO服务 UUID
sortBystrNO排序字段

ListGeneralsvcsResponse

参数名称类型是否必填说明
statusboolYES是否成功
msgstrYES返回信息
requestIDstrNO请求 ID
traceIDstrNO追踪 ID
totalintYES总数量
pageintYES当前页码
pageSizeintYES每页数量
rowsList[GeneralsvcBrief]NO服务列表

GeneralsvcBrief

参数名称类型是否必填说明
uuidstrYES服务唯一 ID
namestrYES服务名称
workloadNumintYES工作负载数量
portsList[int]NO服务端口
cronPolicyCronPolicyNO定时策略
statusstrYES当前状态
statusMsgstrYES状态信息
isOnlineboolYES上线状态
createTimestrYES创建时间
updateTimestrYES最后更新时间

删除通用服务

支持通过 SDK 删除指定的通用服务。使用示例如下,其中传入的 ID 为通用服务的 UUID
res = client.generalsvc.delete(id='273b82a7-853c-4ad3-9540-1674360dd2fb')