本文介绍使用虚拟节点的过程中可能遇到的常见问题及对应的解决方案。
索引
如何通过虚拟节点实现跨可用区服务高可用?
您可以通过ECI Profile中的vSwitchIds
字段配置虚拟节点可用的交换机,即ECI Pod的交换机。例如,当您同时配置了可用区A和可用区B的交换机,集群便会在这两个可用区创建对应的虚拟节点。推荐您配置多个可用区的交换机,以实现高可用的目的。具体操作,请参见配置eci-profile。
虚拟节点是否支持GPU资源?
支持。您可以在Pod的metadata
字段中通过添加Annotation来指定ECS GPU规格,并在容器的resources
字段中添加nvidia.com/gpu
字段声明容器所需的GPU资源。部署工作负载的YAML后,集群会自动创建对应规格的ECI Pod。具体操作,请参见指定GPU规格创建Pod。
如何优先将应用Pod调度到ECS节点,ECS不足时再通过虚拟节点调度到ECI Pod,并实现逆序缩容?
您可以通过Kubernetes原生语义污点、容忍度和节点亲和性来指定ECS和ECI的资源分配。您可以声明只使用ECS或ECI,或者优先使用ECS(即在ECS资源不足时自动申请ECI)。此方式同时支持逆序缩容,即先缩容ECI,再缩容ECS。具体操作,请参见指定ECS和ECI的资源分配。
如果您希望进一步指定资源的付费类型,例如优先调度到包年包月的ECS、再调度到按量付费的ECS,最后调度到ECI,那么推荐您使用自定义弹性资源优先级调度。缩容时,集群会优先删除ECI上的Pod,释放ECI资源,然后删除按量付费的ECS上的Pod,最后删除包年包月的ECS上的Pod。
关于虚拟节点更多类型的调度方案,请参见虚拟节点调度方案对比及介绍。
使用虚拟节点时,拉取自建镜像仓库的镜像提示HTTPS认证不通过怎么办?
ECI默认使用HTTPS协议拉取镜像。如果您的自建镜像仓库采用HTTP协议,那么可能会因为协议不同而导致镜像拉取失败。您需要通过Annotation配置ECI使用HTTP协议与镜像仓库进行交互。具体操作,请参见拉取自建镜像仓库的镜像。
通过指定vCPU和内存创建ECI Pod时,ECI Pod是按照指定的规格计费还是实际使用的资源量计费?
根据您创建时指定的vCPU和内存进行计费。针对不支持的vCPU和内存规格,系统将自动进行规整,并按自动规整后的规格进行计费。
更多信息,请参见ECI实例计费。
为什么ECI Pod的实际可用内存小于指定内存?
ECI Pod存在一定的系统开销,会占用部分内存导致实际可用内存小于指定的内存。如果您希望ECI Pod实际可用的内存≥指定的内存,可以开启系统开销预留功能,以此来确保ECI Pod实际可用内存能够符合业务所需。具体操作,请参见预留系统开销。