feat(eci): 支持通过注解指定ECS规格
All checks were successful
Virtual Kubelet Docker Build and Deploy / build-and-deploy (push) Successful in 4m30s

- 添加对k8s.aliyun.com/eci-use-specs注解的解析
- 将注解值作为InstanceType参数传递给ECI创建请求
This commit is contained in:
D8D Developer
2025-07-10 06:18:15 +00:00
parent 41e03d0f49
commit 64e6342b95
2 changed files with 8 additions and 0 deletions

7
eci.go
View File

@@ -185,6 +185,13 @@ func (p *ECIProvider) CreatePod(ctx context.Context, pod *v1.Pod) error {
request := eci.CreateCreateContainerGroupRequest()
request.RestartPolicy = string(pod.Spec.RestartPolicy)
// 解析ECS规格注解
if pod.Annotations != nil {
if specs, exists := pod.Annotations["k8s.aliyun.com/eci-use-specs"]; exists {
request.InstanceType = specs
}
}
// 添加抢占式实例策略配置
request.SpotStrategy = "SpotAsPriceGo" // 设置抢占式实例策略为按价格竞价
//request.SpotDuration = 0 // 设置抢占式实例持续时间为0非定时抢占

View File

@@ -92,6 +92,7 @@ type CreateContainerGroupRequest struct {
AutoCreateEip requests.Boolean `position:"Query" name:"AutoCreateEip"`
ZoneId string `position:"Query" name:"ZoneId"`
SpotStrategy string `position:"Query" name:"SpotStrategy"`
InstanceType string `position:"Query" name:"InstanceType"`
// SpotDuration requests.Integer `position:"Query" name:"SpotDuration"`
}