通过Virtual Kubelet将ECI接入Kubernetes集群后,您可以将Pod调度到ECI上运行,并配置Annotation来使用ECI的相关功能。
调度Pod到ECI
对于Serverless Kubernetes集群,整个集群运行在ECI上,无需进行调度。对于混合使用ECI和普通节点的Kubernetes集群,您可以根据需要将Pod调度到ECI上运行。主要场景如下:
手动调度Pod到ECI
通过配置Pod Label、配置Namespace Label和配置ECI弹性调度等方式,可以手动将Pod调度到ECI上运行。更多信息,请参见调度Pod到ECI。
自动调度Pod到ECI
ECI Profile提供ECI Scheduler能力,基于Mutating Webhook机制实现了一种新的调度机制,即在ECI Profile中,您可以声明需要匹配的Namespace或者Pod的Label,对于Label能够匹配上的Pod,将被自动调度到ECI。更多信息,请参见配置ECI Profile。
自动将调度失败的Pod调度到ECI
在ACK集群中部署virtual-kubelet-autoscaler插件后,当ACK集群中Work Node的资源不足时,可以自动将因为资源不足而调度失败的Pod二次调度到ECI上运行。更多信息,请参见ACK安装virtual-kubelet-autoscaler。
自动将弹性负载的Pod调度到ECI
在ACK集群中部署elastic-workload插件后,可以控制一个负载(例如:Deployment、StatefulSet)在Pod级别的细粒度分配,将弹性部分的Pod调度到ECI上运行,实现更为精细的调度策略。更多信息,请参见ACK部署使用elastic-workload。
使用ECI功能
在Kubernetes集群中创建Pod到ECI时,为充分使用ECI提供的功能,在不改变Kubernetes语义的前提下,您可以根据需求为Pod添加Annotation。Annotation需添加到Pod级别的metadata中,常用的Annotation如下:
您可以在创建Pod时手动添加Annotation,也可以配置ECI Profile,通过ECI Profile的ECI Effect能力,实现自动追加Annotation到Label能够匹配上的Pod。关于如何配置ECI Effect,请参见配置ECI Profile。
参数 | 示例值 | 描述 |
---|---|---|
k8s.aliyun.com/eci-vswitch | vsw-bp1xpiowfm5vo8o3c**** | 指定交换机ID,支持指定多个交换机实现多可用区功能。 |
k8s.aliyun.com/eci-use-specs | 2-4Gi,4-8Gi,ecs.c6.xlarge | 指定ECI实例规格,支持指定多规格,包括指定vCPU和内存,或者ECS规格。 |
k8s.aliyun.com/eci-image-cache | "true" | 设置是否自动匹配镜像缓存。 |
k8s.aliyun.com/eci-with-eip | "true" | 设置是否自动创建并绑定EIP。 |
关于支持的Annotation列表以及配置示例,请参见ECI Pod Annotation。
使用ECI功能的过程中,如果出现异常,您可以查看事件信息。更多信息,请参见ECI自定义事件。