容器工作负载类
为什么业务运行性能不达预期?
由于CCI服务底层资源是多租户共享的,为了保障用户业务稳定,CCI服务底层对于磁盘IO等是有流控限制的。体现在容器内,主要影响是负载对根目录rootfs的读写、负载标准日志输出数据量都会受到一定限制。如果你的业务运行性能不达预期,可以从以下几个可能的原因进行排查:
- 原因一:用户业务容器存在日志打印至标准输出,且日志量较大的场景。
详情说明:CCI服务底层会对标准输出的转发进行限流,如果业务的日志量比较大(>1MB/s),则推荐使用日志卷将日志上报到AOM(参考日志管理),或者将日志输出到持久化的SFS Turbo卷等,并配合sidecar运行fluentbit等开源组件将日志上报到自建日志中心。对标准输出打印较大的日志量可能会由于转发限流导致业务性能受损。
- 原因二:用户业务容器内存在对rootfs磁盘的高IO读写的场景。
详情说明:CCI服务会对rootfs的盘进行IO限流,如果业务进程运行中会执行较高的磁盘IO(带宽>6MB/s,iops>1000)或者对磁盘IO性能比较敏感,请不要将大IO的文件操作放在rootfs,例如往容器系统盘(rootfs磁盘)高频打日志,使系统盘频繁读写,您可以将业务相关的配置文件,或者一些读写不频繁的文件放在rootfs磁盘中。大IO的文件操作需要根据业务场景选择随Pod生命周期创删的日志卷或者持久化的SFS Turbo卷等。对rootfs进行大IO操作可能会由于磁盘限流导致业务性能受损。
如果存在上述问题场景,请根据详情说明进行调整,避免业务性能受损。
如何设置实例(Pod)数?
- 创建工作负载时,设置实例(Pod)数。
- 通过YAML创建负载时直接设置实例(Pod)数量。
图1 通过YAML设置工作负载实例数量
- 通过控制台创建负载时可视化选择实例(Pod)数量。
图2 通过控制台设置工作负载实例数量
- 通过YAML创建负载时直接设置实例(Pod)数量。
- 创建工作负载后,选择对应的工作负载,单击YAML 编辑,修改replicas。
图3 修改工作负载实例数量
如何设置应用的探针?
云容器实例提供了启动探针、应用存活探针和应用业务探针,您可以在创建工作负载的时候设置,具体请参见健康检查。
弹性伸缩策略如何配置?
云容器实例支持自定义弹性伸缩策略。具体配置方法请参见伸缩负载。
使用sample镜像创建工作负载无法运行
当您使用过容器镜像服务(SWR)但没有上传过镜像时,容器镜像服务会为您预置一个名为sample的镜像,该镜像无法运行,建议您直接使用开源镜像中心的镜像创建负载。
调用接口删除Deployment后怎么还能查看到Pod?
Deployment接口提供级联删除Pod的选项propagationPolicy,可以设置propagationPolicy的值为Foreground和Background。
CCI是否支持以特权模式(--privileged=true)来启动容器?
目前,CCI尚不支持特权模式。
推荐通过SecurityContext中细粒度的权限策略来控制访问,按需使用,保障客户容器运行环境安全可靠。
删除工作负载后,会持续扣费。
创建的工作负载,在删除后,“我的资源”中显示依然存在,且会持续扣费,建议您确认下该命名空间下是否还有Pod在运行,如需停用,请删除Pod,后台会停止计费。