华为云用户手册

  • 更新弹性伸缩配置 登录CCE控制台,单击集群名称进入集群。 单击左侧导航栏的“节点管理”,在目标节点池所在行右上角单击“弹性伸缩”。 若未安装autoscaler插件,请根据业务需求配置插件参数后单击“安装”,并等待插件安装完成。插件配置详情请参见CCE集群弹性引擎。 若已安装autoscaler插件,则可直接配置弹性伸缩策略。 配置节点池弹性伸缩策略。 伸缩配置 自定义扩容规则:单击“添加规则”,在弹出的添加规则窗口中设置参数。您可以设置多条节点弹性策略,最多可以添加1条CPU使用率指标规则、1条内存使用率指标规则,且规则总数小于等于10条。 规则类型可选择“指标触发”或“周期触发”,两种类型区别如下: 表1 自定义规则类型 规则类型 参数设置 指标触发 触发条件:请选择“CPU分配率”或“内存分配率”,输入百分比的值。该百分比应大于autoscaler插件中配置的缩容百分比。 说明: 分配率 = 节点池容器组(Pod)资源申请量 / 节点池Pod可用资源量 (Node Allocatable) 。 如果多条规则同时满足条件,会有如下两种执行的情况: 如果同时配置了“CPU分配率”和“内存分配率”的规则,两种或多种规则同时满足扩容条件时,执行扩容节点数更多的规则。 如果同时配置了“CPU分配率”和“周期触发”的规则,当达到“周期触发”的时间值时CPU也满足扩容条件时,较早执行的A规则会将节点池状态置为伸缩中状态,导致B规则无法正常执行。待A规则执行完毕,节点池状态恢复正常后,B规则也不会执行。 配置了“CPU分配率”和“内存分配率”的规则后,策略的检测周期会因autoscaler每次循环的处理逻辑而变动。只要一次检测出满足条件就会触发扩容(还需要满足冷却时间、节点池状态等约束条件)。 当集群中的节点数已到达集群规模上限时,或CPU、内存达到autoscaler插件设置的上限时,将不会触发指标扩容。 执行动作:达到触发条件后所要执行的动作。 自定义:为节点池增加指定数量的节点。 自动计算:当达到触发条件时,自动扩容节点,将分配率恢复到触发条件以下。计算公式如下: 扩容节点数 = 节点池容器组(Pod)资源申请值 / (单节点可用资源值 * 目标分配率) - 当前节点数 + 1 周期触发 触发时间:可选择每天、每周、每月或每年的具体时间点。 执行动作:达到触发时间值后所要执行的动作,为节点池增加指定数量的节点。 节点数范围:弹性伸缩时节点池下的节点数量会始终介于节点数范围内。 冷却时间:指当前节点池扩容出的节点多长时间不能被缩容。 伸缩对象 规格选择:对节点池中的节点规格单独设置是否开启弹性伸缩。 配置完成后,单击“确定”。
  • 节点维度 集群诊断场景 诊断项 是否需要开通监控中心 修复方案 节点状态 节点状态是否就绪 是 节点为承载业务的核心资源,状态不就绪可能直接导致承载在节点上的业务受到影响,需立即修复。 节点状态不可调度 是 节点不可调度将导致节点资源不能被正常使用,请前往CCE节点管理,查看节点状态是否符合预期。 节点kubelet状态 是 kubelet为节点关键组件,不可用可能会导致节点异常,Pod状态不符合预期(与APIServer的Pod状态不一致)。可以到节点上通过如下命令查看kubelet日志,并分析异常原因。命令参考:journalctl -l -u kubelet 节点配置 节点当前时间内存的Requset水位是否超过80% 是 节点的Request水位将影响新应用能否被调度到该节点上。水位过高,剩余资源不满足应用要求时,该节点将不会被调度到。本诊断项已为您检测出了Request水位高出阈值的节点资源,可根据检测结果合理规划您的应用。 节点当前时间CPU的Request水位是否超过80% 是 节点资源水位诊断 节点24小时内CPU使用率最大值是否超过80% 是 节点的cpu过高将导致节点处理能力下降,影响节点上运行的服务。请前往监控中心,查询节点CPU使用状况,合理规划节点资源,或者对节点进行扩容。 节点24小时内内存使用率最大值是否超过80% 是 节点内存过高,存在节点OOM风险,影响节点上服务的可用性。请前往监控中心,查看节点内存使用状况,合理规划节点资源,或者对节点进行扩容。 节点磁盘使用率是否超过80% 是 节点磁盘使用率过高将影响系统Pod和业务Pod,请及时扩容。建议通过如下命令查看磁盘信息: lsblk 列出所有可用块设备的信息 df -h 列出挂载的每个磁盘中的可用磁盘空间量 fdisk -l 列出所有的分区 节点PID使用量是否正常 是 节点PID出现压力,可能导致节点不稳定,需释放无用进程或者修改PID上限。可以通过如下命令查看PID信息。 查看最大PID数:sysctl kernel.pid_max 查看当前的最大PID:ps -eLf|awk '{print $2}' | sort -rn| head -n 1 查看占用SPID最多的前5个进程:ps -elT | awk '{print $4}' | sort | uniq -c | sort -k1 -g | tail -5 节点24小时内是否发生OOM事件 是 节点出现OOM将使节点中的服务功能受损,可前往监控中心分析内存运行状况,合理规划资源,或者进行扩容。
  • 集群维度 集群诊断场景 诊断项 是否需要开通监控中心 修复方案 集群资源规划能力 集群Master节点是否高可用 是 集群为单控制节点,控制节点故障时,集群将不可用,进而会影响集群中运行服务的可靠性。提升服务韧性建议使用高可用集群,当高可用集群某个控制节点故障时,不影响集群业务。 集群当前时间CPU的Request水位是否超过80% 是 Request代表工作负载运行的最低资源要求,集群水位过高,剩余资源不能够满足新应用Request要求时,应用将不能被创建。需要根据业务情况,合理规划资源分配。详见设置容器规格。 集群当前时间内存的Request水位是否超过80% 是 集群版本是否超期 否 集群版本EOS后,云容器引擎(CCE)将不再支持对该版本的集群创建,同时不提供相应的技术支持,包含新特性更新、漏洞/问题修复、补丁升级以及工单指导、在线排查等客户支持,不再适用于CCE服务SLA保障。请前往CCE的集群管理页面,升级集群版本。详见集群升级指导。 集群运维能力 集群kube-prometheus-stack插件状态是否正常 否 云原生监控插件kube-prometheus-stack主要提供了集群运维监控的能力,要体验一站式监控体系,需前往插件市场,安装插件并检查插件状态。插件详情参见云原生监控插件 集群log-agent插件状态是否正常 否 运维插件log-agent提供了集群中负载的日志采集、日志管理的能力,体验日志管理能力,帮助集群中服务问题快速定位定界。需前往插件市场,安装插件并检查插件状态。 集群npd插件状态是否正常 否 运维插件npd(node-problem-detector)提供了节点异常监控的能力。如需体验节点监控能力,检查节点资源异常情况。需前往插件市场,安装插件并检查插件状态。详见CCE节点故障检测。 集群配置 安全组配置是否正确 否 集群安全组配置异常,直接影响节点之前的通信,导致节点不可用。请使用默认安全组配置。
  • 约束与限制 该特性从以下版本开始支持: v1.19集群:v1.19.16-r5及以上版本 v1.21集群:v1.21.8-r0及以上版本 v1.23集群:v1.23.6-r0及以上版本 v1.25集群:v1.25.2-r0及以上版本 v1.25以上版本集群 不允许同时配置 "kubernetes.io/elb.health-check-option" 和 "kubernetes.io/elb.health-check-options"。 target_service_port字段必须配置,且不能重复。 TCP端口只能配置健康检查协议为TCP、HTTP,UDP端口必须配置健康检查协议为UDP。
  • 集群网络配置 表1 集群网络配置参数说明 参数名称 参数说明 虚拟私有云 显示集群所在虚拟私有云。 虚拟私有云(Virtual Private Cloud,简称VPC)可以为云服务器、云容器、云数据库等资源构建隔离的、用户自主配置和管理的虚拟网络环境。您可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性公网IP搭建业务系统。 虚拟私有云网段 显示虚拟私有云网段。 如需扩展虚拟私有云网段,请参见扩展集群VPC网段。 默认节点子网 显示集群的节点子网。 子网是用来管理弹性云服务器网络平面的一个网络,可以提供IP地址管理、DNS服务,子网内的弹性云服务器IP地址都属于该子网。 默认情况下,同一个VPC的所有子网内的弹性云服务器均可以进行通信,不同VPC的弹性云服务器不能进行通信。 不同VPC的弹性云服务器可通过VPC创建对等连接通信。 默认节点子网 | IPv4网段 显示集群的节点子网网段。 容器网络模型 显示集群的容器网络模型,集群创建成功后,网络模型不可更改。不同网络模型对比请参见容器网络模型对比。 节点默认安全组 显示集群节点默认安全组。您可以选择自定义的安全组作为集群默认的节点安全组,但是需要注意放通指定端口来保证正常通信。 如需要自定义配置安全组规则,修改后的安全组只作用于新创建的节点和新纳管的节点,存量节点需要手动修改节点安全组规则。 保留原有Pod IP的非伪装网段(VPC集群支持) 在VPC网络集群中,集群内的容器如果想要访问集群外,则需要将源容器IP进行SNAT,转换为节点IP(伪装成节点与外部通信)。配置后,节点默认不会将该网段IP进行SNAT,即不进行这种伪装。 集群中的节点默认不会将目的IP为10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 三个网段的报文进行SNAT,因为这三个网段CCE默认为私有网段,可以借由上层VPC直接将报文送达(即将这三个网段视为集群内的网络,默认三层可达)。 说明: 如果需要保证节点能正常访问跨节点的Pod,必须添加节点的子网网段。 同理,如果同VPC下的其他E CS 节点需要能正常访问Pod IP,必须添加ECS所在子网网段。 Pod访问元数据( CCE Turbo 集群支持) 是否允许集群中的Pod访问宿主机元数据。v1.23.13-r0、v1.25.8-r0、v1.27.5-r0、v1.28.3-r0及以上版本支持该配置。 如果Pod在开关开启状态下创建,则该Pod能否访问元数据取决于开关状态。 如果Pod在开关关闭状态下创建,或是在历史版本集群中创建,则无论开关状态如何,Pod均无法访问元数据。如需访问元数据,需要在开关开启状态下重建Pod。
  • 服务网络配置 表2 服务网络配置参数说明 参数名称 参数说明 服务转发模式 显示集群的转发模式,集群创建完成后,服务转发模式不可修改。当前支持IPVS和iptables两种转发模式,具体请参见iptables与IPVS如何选择。 服务网段 集群中的每个Service都有自己的地址,在CCE上创建集群时,可以指定Service的地址段(即服务网段)。服务网段不能和子网网段重合,而且服务网段也不能和容器网段重叠。服务网段只在集群内使用,不能在集群外使用。 服务端口范围配置 NodePort端口范围,默认范围为30000-32767,支持的修改范围为20106-32767。修改后需前往安全组页面同步修改节点安全组30000-32767的TCP/UDP端口范围,否则除默认端口外的其他端口将无法被外部访问。 说明: 端口号小于20106会和系统组件的健康检查端口冲突,引发集群不可用;端口号高于32767会和操作系统的随机端口冲突,影响性能。
  • 自定义容器网络配置(CCE Turbo集群支持) 如您期望不同的命名空间或工作负载使用不同的子网网段或安全组,可创建一条策略,将子网/安全组信息和命名空间或工作负载进行绑定,详情请参见为命名空间/工作负载绑定子网及安全组。 容器绑定子网:Pod IP会被约束在特定的网段中,不同命名空间或工作负载之间可实现网络隔离。 容器绑定安全组:支持为同一命名空间或工作负载的Pod设置安全组规则,实现自定义访问策略。 仅CCE Turbo集群支持该配置。
  • 集群容器网络预热配置(CCE Turbo集群支持) CCE Turbo集群会为每个Pod分配(申请并绑定)一张弹性网卡或辅助弹性网卡。容器场景下Pod支持极速弹性,而网卡创建绑定需要一定时间,影响了大规模批创场景下的容器启动速度。系统默认提供了容器网卡动态预热的能力,在尽可能提高IP的资源利用率的前提下,加快Pod的启动速度。集群预热配置为您的集群设置全局的预热策略,集群节点默认会根据集群预热配置选项进行容器网卡的预热。如您期望为一组节点设置独立的预热策略,建议您配置节点池预热。 仅CCE Turbo集群支持该配置。 是否启用容器网络全预热: 开启:开启容器网络全预热后,您的集群节点会预热申请节点规格上限的网卡数,如s7.large.2机型的节点辅助弹性网卡上限是16个,则系统会动态预热出16个辅助弹性网卡。 关闭:不启用容器网络全预热时,您可以自行定义预热参数。 表3 容器网卡动态预热参数 容器网卡动态预热参数 默认值 参数说明 配置建议 节点最少绑定容器网卡数(nic-minimum-target) 10 保障节点最少有多少张容器网卡绑定在节点上。 参数值需为正整数。例如10,表示节点最少有10张容器网卡绑定在节点上。当超过节点的容器网卡配额时,后台取值为节点的容器网卡配额。 建议配置为大部分节点平时日常运行的Pod数。 节点预热容器网卡上限检查值(nic-maximum-target) 0 当节点绑定的容器网卡数超过节点预热容器网卡上限检查值(nic-maximum-target),不再主动预热容器网卡。 当该参数大于等于节点最少绑定容器网卡数(nic-minimum-target)时,则开启预热容器网卡上限值检查;反之,则关闭预热容器网卡上限值检查。 参数值需为正整数。例如0,表示关闭预热容器网卡上限值检查。当超过节点的容器网卡配额时,后台取值为节点的容器网卡配额。 建议配置为大部分节点平时最多运行的Pod数。 节点动态预热容器网卡数(nic-warm-target) 2 保障节点至少预热的容器网卡数,只支持数值配置。 当 节点动态预热容器网卡数(nic-warm-target) + 节点当前绑定的容器网卡数 大于 节点预热容器网卡上限检查值(nic-maximum-target) 时,只会预热nic-maximum-target与节点当前绑定的容器网卡数的差值。 建议配置为大部分节点日常10s内会瞬时弹性扩容的Pod数。 节点预热容器网卡回收阈值(nic-max-above-warm-target) 2 只有当 节点上空闲的容器网卡数 - 节点动态预热容器网卡数(nic-warm-target) 大于此阈值 时,才会触发预热容器网卡的解绑回收。只支持数值配置。 调大此值会减慢空闲容器网卡的回收,加快Pod的启动速度,但会降低IP地址的利用率,特别是在IP地址紧张的场景,请谨慎调大。 调小此值会加快空闲容器网卡的回收,提高IP地址的利用率,但在瞬时大量Pod激增的场景,部分Pod启动会稍微变慢。 建议配置为大部分节点日常在分钟级时间范围内会频繁弹性扩容缩容的Pod数 - 大部分节点日常10s内会瞬时弹性扩容的Pod数。
  • 企业项目支持说明 该功能需要everest插件升级到1.2.33及以上版本。 自动创建存储: CCE支持使用存储类创建云硬盘和对象存储类型PVC时指定企业项目,将创建的存储资源(云硬盘和对象存储)归属于指定的企业项目下,企业项目可选为集群所属的企业项目或default企业项目。 若不指定企业项目,则创建的存储资源默认使用存储类StorageClass中指定的企业项目。 对于自定义的StorageClass,可以在StorageClass中指定企业项目,详见指定StorageClass的企业项目。StorageClass中如不指定的企业项目,则默认为default企业项目。 对于CCE提供的 csi-disk 和 csi-obs 存储类,所创建的存储资源属于default企业项目。 使用已有存储: 使用PV创建PVC时,因为存储资源在创建时已经指定了企业项目,如果PVC中指定企业项目,则务必确保在PVC和PV中指定的everest.io/enterprise-project-id保持一致,否则两者无法正常绑定。
  • 云存储 对比 对比维度 云硬盘EVS 文件存储SFS 极速文件存储SFS Turbo 对象存储OBS 概念 云硬盘(Elastic Volume Service)可以为云服务器提供高可靠、高性能、规格丰富并且可弹性扩展的块存储服务,可满足不同场景的业务需求,适用于分布式文件系统、开发测试、 数据仓库 以及高性能计算等场景。 SFS为用户提供一个完全托管的共享文件存储,能够弹性伸缩至PB规模,具备高可用性和持久性,为海量数据、高带宽型应用提供有力支持。适用于多种应用场景,包括HPC、 媒体处理 、文件共享、内容管理和Web服务等。 SFS Turbo为用户提供一个完全托管的共享文件存储,能够弹性伸缩至320TB规模,具备高可用性和持久性,为海量的小文件、低延迟高IOPS型应用提供有力支持。适用于多种应用场景,包括高性能网站、日志存储、压缩解压、DevOps、企业办公、容器应用等。 对象存储服务 (Object Storage Service,OBS)提供海量、安全、高可靠、低成本的数据存储能力,可供用户存储任意类型和大小的数据。适合企业备份/归档、 视频点播 、视频监控等多种数据存储场景。 存储数据的逻辑 存放的是二进制数据,无法直接存放文件,如果需要存放文件,需要先格式化文件系统后使用。 存放的是文件,会以文件和文件夹的层次结构来整理和呈现数据。 存放的是文件,会以文件和文件夹的层次结构来整理和呈现数据。 存放的是对象,可以直接存放文件,文件会自动产生对应的系统元数据,用户也可以自定义文件的元数据。 访问方式 只能在ECS/BMS中挂载使用,不能被操作系统应用直接访问,需要格式化成文件系统进行访问。 在ECS/BMS中通过网络协议挂载使用。需要指定网络地址进行访问,也可以将网络地址映射为本地目录后进行访问。 提供标准的文件访问协议NFS(仅支持NFSv3),用户可以将现有应用和工具与SFS Turbo无缝集成。 可以通过互联网或专线访问。需要指定桶地址进行访问,使用的是HTTP和HTTPS等传输协议。 静态存储卷 支持,请参见通过静态存储卷使用已有云硬盘。 支持,请参见通过静态存储卷使用已有文件存储。 支持,请参见通过静态存储卷使用已有极速文件存储。 支持,请参见通过静态存储卷使用已有对象存储。 动态存储卷 支持,请参见通过动态存储卷使用云硬盘。 支持,请参见通过动态存储卷使用文件存储。 不支持 支持,请参见通过动态存储卷使用对象存储。 主要特点 非共享存储,每个云盘只能在单个节点挂载。 共享存储,可提供高性能、高吞吐存储服务。 高性能、高带宽、共享存储。 共享存储,用户态文件系统。 应用场景 HPC高性能计算、企业核心集群应用、企业应用系统和开发测试等。 说明: 高性能计算:主要是高速率、高IOPS的需求,用于作为高性能存储,比如工业设计、能源勘探等。 HPC高性能计算、媒体处理、内容管理和Web服务、大数据和分析应用程序等。 说明: 高性能计算:主要是高带宽的需求,用于共享文件存储,比如基因测序、图片渲染等。 高性能网站、日志存储、DevOps、企业办公等。 大数据分析、静态网站托管、在线视频点播、基因测序、智能视频监控、备份归档、企业云盘(网盘)等。 容量 TB级别 SFS 1.0:PB级别 SFS 3.0:EB级别 通用型:TB级别 EB级别 时延 1~2ms SFS 1.0:3~20ms SFS 3.0:10ms 通用型:1~5ms 10ms 最大IOPS 因规格而异,范围为2.2K~256K SFS 1.0:2K SFS 3.0:百万级 通用型:最大达100K 千万级 带宽 MB/s级别 SFS 1.0:GB/s级别 SFS 3.0:TB/s级别 通用型:最大为GB/s级别 TB/s级别
  • 本地存储对比 对比维度 本地持久卷(Local PV) 本地临时卷(Local Ephemeral Volume) 临时路径(EmptyDir) 主机路径(HostPath) 概念 将节点的本地数据盘通过LVM组成存储池(VolumeGroup),然后划分LV给容器挂载使用。 基于Kubernetes原生的EmptyDir类型,将节点的本地数据盘通过LVM组成存储池(VolumeGroup),然后划分LV作为EmptyDir的存储介质给容器挂载使用,相比原生EmptyDir默认的存储介质类型性能更好。 Kubernetes原生的EmptyDir类型,生命周期与容器实例相同,并支持指定内存作为存储介质。容器实例消亡时,EmptyDir会被删除,数据会永久丢失。 将容器所在宿主机的文件目录挂载到容器指定的挂载点中。 主要特点 低延迟、高IO,非高可用的持久卷。 存储卷通过Label绑定节点,且为非共享存储,只能在单个Pod中挂载。 本地临时卷,存储空间来自本地LV。 本地临时卷,存储空间来自本地的kubelet根目录或内存。 挂载主机节点文件系统上的文件或目录,支持自动创建主机目录,Pod可迁移(不绑定节点)。 存储卷挂载方式 不支持静态存储卷 支持通过动态存储卷使用本地持久卷 详情请参见使用本地临时卷。 详情请参见使用临时路径。 详情请参见主机路径(HostPath)。 应用场景 IO要求高、应用自带高可用方案的场景,例如:高可用部署MySQL。 缓存空间,例如基于磁盘的归并排序。 为耗时较长的计算任务提供检查点,以便任务能方便地从崩溃前状态恢复执行。 在Web服务器容器服务数据时,保存内容管理器容器获取的文件。 缓存空间,例如基于磁盘的归并排序。 为耗时较长的计算任务提供检查点,以便任务能方便地从崩溃前状态恢复执行。 在Web服务器容器服务数据时,保存内容管理器容器获取的文件。 运行一个需要使用节点文件。例如容器中需使用Docker,可使用HostPath挂载节点的/var/lib/docker路径。 须知: HostPath卷存在许多安全风险,最佳做法是尽可能避免使用HostPath。 当必须使用HostPath卷时,它的范围应仅限于所需的文件或目录,并以只读方式挂载。
  • 权限说明 kubectl访问CCE集群是通过集群上生成的配置文件(kubeconfig)进行认证,kubeconfig文件内包含用户信息,CCE根据用户信息的权限判断kubectl有权限访问哪些Kubernetes资源。即哪个用户获取的kubeconfig文件,kubeconfig就拥有哪个用户的信息,这样使用kubectl访问时就拥有这个用户的权限。 用户拥有的权限请参见集群权限( IAM 授权)与命名空间权限(Kubernetes RBAC授权)的关系。
  • 使用kubectl连接集群 若您需要从客户端计算机连接到Kubernetes集群,可使用Kubernetes命令行客户端kubectl,您可登录CCE控制台,单击待连接集群名称,在集群总览页面查看访问地址以及kubectl的连接步骤,如图1所示。 CCE支持“内网访问”和“公网访问”两种方式访问集群。 内网访问:访问集群的客户端机器需要位于集群所在的同一VPC内。 公网访问:访问集群的客户端机器需要具备访问公网的能力,并为集群绑定公网地址。 通过“公网访问”方式访问集群,您需要在总览页中的“连接信息”版块为集群绑定公网地址,如图1所示。绑定公网集群的kube-apiserver将会暴露到互联网,存在被攻击的风险,建议对kube-apiserver所在节点的EIP配置 DDoS高防服务 或设置安全组规则。 图1 集群连接信息 您需要先下载kubectl以及配置文件,复制到您的客户端机器,完成配置后,即可以访问Kubernetes集群。使用kubectl连接集群的步骤如下: 下载kubectl 您需要准备一台可访问公网的客户端计算机,并通过命令行方式安装kubectl。如果已经安装kubectl,则跳过此步骤,您可执行kubectl version命令判断是否已安装kubectl。 本文以Linux环境为例安装和配置kubectl,详情请参考安装kubectl。 登录到您的客户端机器,下载kubectl。 cd /home curl -LO https://dl.k8s.io/release/{v1.25.0}/bin/linux/amd64/kubectl 其中{v1.25.0}为指定的版本号,请根据集群版本进行替换。 安装kubectl。 chmod +x kubectl mv -f kubectl /usr/local/bin 获取kubectl配置文件 在集群总览页中的“连接信息”版块,单击kubectl后的“配置”按钮,查看kubectl的连接信息,并在弹出页面中下载配置文件。 图2 下载配置文件 kubectl配置文件(kubeconfig)用于对接认证集群,请您妥善保存该认证凭据,防止文件泄露后,集群有被攻击的风险。 IAM用户下载的配置文件所拥有的Kubernetes权限与CCE控制台上IAM用户所拥有的权限一致。 如果Linux系统里面配置了KUBECONFIG环境变量,kubectl会优先加载KUBECONFIG环境变量,而不是$home/.kube/config,使用时请注意。 配置kubectl 以Linux环境为例配置kubectl。 登录到您的客户端机器,复制2中下载的配置文件(kubeconfig.yaml)到您客户端机器的/home目录下。 配置kubectl认证文件。 cd /home mkdir -p $HOME/.kube mv -f kubeconfig.yaml $HOME/.kube/config 根据使用场景,切换kubectl的访问模式。 VPC内网接入访问请执行: kubectl config use-context internal 互联网接入访问请执行(集群需绑定公网地址): kubectl config use-context external 互联网接入访问如需开启双向认证请执行(集群需绑定公网地址): kubectl config use-context externalTLSVerify 关于集群双向认证的说明请参见域名双向认证。
  • 域名双向认证 CCE当前支持域名双向认证。 集群API Server绑定EIP后,使用kubectl连接集群时域名双向认证默认不开启,可通过 kubectl config use-context externalTLSVerify 命令切换到externalTLSVerify这个context开启使用。 集群绑定或解绑弹性IP、配置或更新自定义域名时,集群服务端证书将同步签入最新的集群访问地址(包括集群绑定的弹性IP、集群配置的所有自定义域名)。 异步同步集群通常耗时约5-10min,同步结果可以在操作记录中查看“同步证书”。 对于已绑定EIP的集群,如果在使用双向认证时出现认证不通过的情况(x509: certificate is valid),需要重新绑定EIP并重新下载kubeconfig.yaml。 早期未支持域名双向认证时,kubeconfig.yaml中包含"insecure-skip-tls-verify": true字段,如图3所示。如果需要使用双向认证,您可以重新下载kubeconfig.yaml文件并配置开启域名双向认证。 图3 未开启域名双向认证
  • 常见问题 Error from server Forbidden 使用kubectl在创建或查询Kubernetes资源时,显示如下内容: # kubectl get deploy Error from server (Forbidden): deployments.apps is forbidden: User "0c97ac3cb280f4d91fa7c0096739e1f8" cannot list resource "deployments" in API group "apps" in the namespace "default" 原因是用户没有操作该Kubernetes资源的权限,请参见命名空间权限(Kubernetes RBAC授权)为用户授权。 The connection to the server localhost:8080 was refused 使用kubectl在创建或查询Kubernetes资源时,显示如下内容: The connection to the server localhost:8080 was refused - did you specify the right host or port? 原因是由于该kubectl客户端未配置集群认证,请参见3进行配置。
  • 收费场景 监控中心:集群内配置的除基础指标以外的自定义指标(基础指标不收费)会根据 AOM 的收费规则进行收费。详情请参见计费项。 日志中心:对超出每月免费限额(500MB/月)的日志读写、日志索引流量、日志存储量进行收费。详情请参见LTS服务的收费标准。 告警中心:告警中心依赖 SMN 消息通知服务对告警进行推送,联系组当前只支持短信和邮件,超过SMN免费范围(短信数量小于100/条/月、邮件数量小于1000/封/月的,推送免费)的将会收费。详情请参见SMN计费说明。
  • 免费场景 监控中心自身免费使用,监控中心所使用的指标都上报并存储在AOM服务,其中在AOM范畴内的基础指标不收费,存储时长15天(暂不支持修改)。详情请参见基础指标。 日志中心自身免费使用,集群内产生的日志都上报并存储在LTS服务, 云日志 服务的计费项由日志读写流量、日志索引流量、日志存储量的费用组成(有500MB/月的免费额度)。 告警中心自身免费使用,集群内产生的告警由SMN 消息通知 服务进行推送,在短信数量小于100/条/月、邮件数量小于1000/封/月的,推送免费。其中短信条数计算规则请参见短信内容长度计算规则。
  • Kubernetes事件上报 应用运维管理 (AOM) 自1.3.2版本起,云原生日志采集插件默认会将上报所有Warning级别事件以及部分Normal级别事件到应用运维管理(AOM),上报的事件可用于配置告警。当集群版本为1.19.16、1.21.11、1.23.9或1.25.4及以上时,安装云原生日志采集插件后,事件上报AOM将不再由控制面组件上报,改为由云原生日志采集插件上报,卸载插件后将不再上报事件到AOM。 自定义事件上报 若已上报的事件不能满足需求,可通过修改配置,修改需要上报到应用运维管理(AOM)的事件。 通过控制台配置 登录云容器引擎(CCE)控制台,单击集群名称进入集群,选择左侧导航栏的“配置中心”。 选择“监控运维配置”页签,在“日志配置”中修改Kubernetes事件上报至AOM的策略。 异常事件上报:默认开启,会将所有异常事件上报至AOM。您可以单击“配置黑名单”,将不需要上报的事件添加至黑名单进行管理。 普通事件上报:开启后,会将普通事件上报至AOM,系统默认配置了部分需要上报的普通事件。如果您需要自定义上报的事件,可以单击“配置白名单”,将需要上报添加至白名单进行管理。 配置修改完成后,单击“确认配置”。 通过kubectl配置 在集群上执行以下命令,编辑当前的事件采集配置。 kubectl edit logconfig -n kube-system default-event-aom 根据需要修改事件采集配置。 apiVersion: logging.openvessel.io/v1 kind: LogConfig metadata: annotations: helm.sh/resource-policy: keep name: default-event-aom namespace: kube-system spec: inputDetail: #采集端配置 type: event #采集端类型,请勿修改 event: normalEvents: #Normal级别事件采集配置 enable: true #是否开启Normal级别事件采集 includeNames: #需要采集的事件名,不指定则采集所有事件 - NotTriggerScaleUp excludeNames: #不采集的事件名,不指定则采集所有事件 - ScaleDown warningEvents: #Warning级别事件采集配置 enable: true #是否开启Warning级别事件采集 includeNames: #需要采集的事件名,不指定则采集所有事件 - NotTriggerScaleUp excludeNames: #不采集的事件名,不指定则采集所有事件 - ScaleDown outputDetail: type: AOM #输出端类型,请勿修改 AOM: events: - name: DeleteNodeWithNoServer #事件名,必选 nameCn: 废弃节点清理 #事件对应的中文名,不填则上报的事件直接显示英文 resourceType: Namespace #事件对应的资源类型 severity: Major #事件上报到AOM后的事件级别,默认Major。可选值:Critical:紧急;Major:重要;Minor:次要;Info:提示
  • Kubernetes事件上报云日志服务(LTS) 集群未安装CCE 云原生日志采集插件 安装CCE 云原生日志采集插件时,可通过勾选采集Kubernetes事件,创建默认日志采集策略,采集所有事件上报到LTS。安装方法见:通过云原生日志采集插件采集容器日志。 集群已安装CCE 云原生日志采集插件 登录云容器引擎(CCE)控制台,单击集群名称进入集群,选择左侧导航栏的“日志中心”。 右上角单击“日志采集策略”,将显示当前集群所有上报LTS的日志策略。 单击上方“创建日志策略”,输入要采集的配置信息。 策略模板:若安装插件时未勾选采集Kubernetes事件,或者删除了对应的日志策略,可通过该方式重新创建默认事件采集策略。 事件查看:可直接在“日志中心”页面查看,选择日志策略配置的日志流名称,即可查看上报到云日志服务(LTS)的事件。
  • 通过控制台配置节点亲和调度策略 在创建工作负载时,在“高级设置”中找到“调度策略”。创建工作负载的步骤详情请参见创建工作负载。 选择节点亲和调度的策略类型。 不配置:不设置节点亲和策略。 指定节点调度:指定工作负载Pod部署的节点。若不指定,将根据集群默认调度策略随机调度。 指定节点池调度:指定工作负载Pod部署的节点池。若不指定,将根据集群默认调度策略随机调度。 自定义亲和策略:根据节点标签实现灵活的调度策略,支持的调度策略类型请参见表3。选择合适的策略类型后,单击添加调度策略,参数详情请参见表4。您也可以单击“指定节点”或“指定可用区”通过控制台快速选择需要调度的节点或可用区。 “指定节点”和“指定可用区”本质也是通过标签实现,只是通过控制台提供了更为便捷的操作,无需手动填写节点标签和标签值。指定节点使用的是 kubernetes.io/hostname 标签,指定可用区使用的是 failure-domain.beta.kubernetes.io/zone 标签。 表3 节点亲和性设置 参数名 参数描述 必须满足 即硬约束,设置必须要满足的条件,对应requiredDuringSchedulingIgnoredDuringExecution。 添加多条“必须满足”规则时,只需要满足一条规则就会进行调度。 尽量满足 即软约束,设置尽量满足的条件,对应preferredDuringSchedulingIgnoredDuringExecution。 添加多条“尽量满足”规则时,满足其中一条或者都不满足也会进行调度。 表4 节点亲和性调度策略设置参数说明 参数名 参数描述 标签名 设置节点亲和性时,填写需要匹配的节点标签。 该标签可以使用系统默认的标签,也可以使用自定义标签。 操作符 可以设置六种匹配关系(In、NotIn、Exists、DoesNotExist、Gt、Lt)。 In:亲和/反亲和对象的标签在标签值列表(values字段)中。 NotIn:亲和/反亲和对象的标签不在标签值列表(values字段)中。 Exists:亲和/反亲和对象存在指定标签名。 DoesNotExist:亲和/反亲和对象不存在指定标签名。 Gt:仅在节点亲和性中设置,调度节点的标签值大于列表值 (字符串比较)。 Lt:仅在节点亲和性中设置,调度节点的标签值小于列表值 (字符串比较)。 标签值 设置节点亲和性时,填写节点标签对应的标签值。 调度策略添加完成后,单击“创建工作负载”。
  • 操作符取值说明 您可以使用操作符(operator字段)来设置使用规则的逻辑关系,operator取值如下: In:亲和/反亲和对象的标签在标签值列表(values字段)中。 NotIn:亲和/反亲和对象的标签不在标签值列表(values字段)中。 Exists:亲和/反亲和对象存在指定标签名。 DoesNotExist:亲和/反亲和对象不存在指定标签名。 Gt:仅在节点亲和性中设置,调度节点的标签值大于列表值 (字符串比较)。 Lt:仅在节点亲和性中设置,调度节点的标签值小于列表值 (字符串比较)。
  • 通过控制台配置负载亲和调度策略 在创建工作负载时,在“高级设置”中找到“调度策略”。创建工作负载的步骤详情请参见创建工作负载。 选择负载亲和调度的策略类型。 不配置:不设置负载亲和策略。 优先多可用区部署:该策略通过Pod自身反亲和实现,优先将工作负载的Pod调度到不同可用区的节点上。 强制多可用区部署:该策略通过Pod自身反亲和实现,强制将工作负载的Pod调度到不同可用区,并且强制调度到不同节点上。使用该调度策略时,如果节点数小于实例数或节点资源不足,Pod将无法全部运行。 自定义亲和策略:根据Pod标签实现灵活的调度策略,支持的调度策略类型请参见表1。选择合适的策略类型后,单击添加调度策略,参数详情请参见表2。 表1 负载亲和策略类型 策略 规则类型 说明 工作负载亲和性 必须满足 即硬约束,设置必须满足的条件,对应YAML定义中的requiredDuringSchedulingIgnoredDuringExecution字段。 通过标签筛选需要亲和的Pod,如果满足筛选条件的Pod已经运行在拓扑域中的某个节点上,调度器会将本次创建的Pod强制调度到该拓扑域。 说明: 添加多条亲和性规则时,即设置多个标签筛选需要亲和的Pod,则本次创建的Pod必须要同时亲和所有满足标签筛选的Pod,即所有满足标签筛选的Pod要处于同一拓扑域中才可以调度。 尽量满足 即软约束,设置尽量满足的条件,对应YAML定义中的preferredDuringSchedulingIgnoredDuringExecution字段。 通过标签筛选需要亲和的Pod,如果满足筛选条件的Pod已经运行在拓扑域中的某个节点上,调度器会将本次创建的Pod优先调度到该拓扑域。 说明: 添加多条亲和性规则时,即设置多个标签筛选需要亲和的Pod,则本次创建的Pod会尽量同时亲和多个满足标签筛选的Pod。但即使所有Pod都不满足标签筛选条件,也会选择一个拓扑域进行调度。 工作负载反亲和性 必须满足 即硬约束,设置必须满足的条件,对应YAML定义中的requiredDuringSchedulingIgnoredDuringExecution字段。 通过标签筛选需要反亲和的一个或多个Pod,如果满足筛选条件的Pod已经运行在拓扑域中的某个节点上,调度器不会将本次创建的Pod调度到该拓扑域。 说明: 添加多条反亲和性规则时,即设置多个标签筛选需要反亲和的Pod,则本次创建的Pod必须要同时反亲和所有满足标签筛选的Pod,即所有满足标签筛选的Pod所处的拓扑域都不会被调度。 尽量满足 即软约束,设置尽量满足的条件,对应YAML定义中的preferredDuringSchedulingIgnoredDuringExecution字段。 通过标签筛选需要反亲和的一个或多个Pod,如果满足筛选条件的Pod已经运行在拓扑域中的某个节点上,调度器会将本次创建的Pod优先调度到其他拓扑域。 说明: 添加多条反亲和性规则时,即设置多个标签筛选需要反亲和的Pod,则本次创建的Pod会尽量同时反亲和多个满足标签筛选的Pod。但即使每个拓扑域都存在需要反亲和的Pod,也会选择一个拓扑域进行调度。 表2 负载亲和/反亲和调度策略设置参数说明 参数名 参数描述 权重 仅支持在“尽量满足”策略中添加。权重的取值范围为1-100,调度器在进行调度时会将该权重加到其他优先级函数的评分上,最终将Pod调度到总分最大的节点上。 命名空间 指定调度策略生效的命名空间。 拓扑域 拓扑域(topologyKey)通过节点的标签先圈定调度的节点范围,例如标签指定为kubernetes.io/hostname,则根据标签值不同(标签值为节点名称)区分范围,不同名称的节点为不同的拓扑域,此时一个拓扑域中仅包含一个节点;如果指定标签为kubernetes.io/os,则根据标签值不同(标签值为节点的操作系统类型)来区分,不同操作系统的节点为不同的拓扑域,此时一个拓扑域中可能包含多个节点。 根据拓扑域确定节点范围后,然后再选择策略定义的内容(通过标签名、操作符、标签值确定)进行调度,调度时最小单位为拓扑域。例如,某个拓扑域中的一个节点满足负载亲和性规则,则该拓扑域中的节点均可以被调度。 标签名 设置工作负载亲和/反亲和性时,填写需要匹配的工作负载标签。 该标签可以使用系统默认的标签,也可以使用自定义标签。 操作符 可以设置四种匹配关系(In、NotIn、Exists、DoesNotExist)。 In:亲和/反亲和对象的标签在标签值列表(values字段)中。 NotIn:亲和/反亲和对象的标签不在标签值列表(values字段)中。 Exists:亲和/反亲和对象存在指定标签名。 DoesNotExist:亲和/反亲和对象不存在指定标签名。 标签值 设置工作负载亲和/反亲和性时,填写工作负载标签对应的标签值。 调度策略添加完成后,单击“创建工作负载”。
  • 通过监控中心查看Master节点组件指标 云原生监控中心已支持对Master节点的kube-apiserver组件进行监控,您在集群中开通云原生监控中心后(安装云原生监控插件版本为3.5.0及以上),可以查看仪表盘中的APIServer视图,监控API指标。 如需对kube-controller、kube-scheduler、etcd-server组件进行监控,请参考以下步骤。 此3个组件监控指标不在容器基础指标范围,监控中心将该类指标上报至AOM后会进行收费,因此监控中心会默认屏蔽采集该类指标。 登录CCE控制台,单击集群名称进入集群详情页。 在左侧导航栏中选择“配置与密钥”,并切换至“monitoring”命名空间,找到名为“persistent-user-config”的配置项。 单击“更新”,对配置数据进行编辑,并在serviceMonitorDisable字段下删除以下配置。 serviceMonitorDisable: - monitoring/kube-controller - monitoring/kube-scheduler - monitoring/etcd-server - monitoring/log-operator 图1 删除配置 单击“确定”。 等待5分钟后,您可前往AOM控制台,在“指标浏览”中找到集群上报的AOM实例,查看上述组件的指标。 图2 查看指标
  • 上传模板 登录CCE控制台,单击集群名称进入集群,在左侧导航栏中选择“应用模板”,在右上角单击“上传模板”。 单击“添加文件”,选中待上传的工作负载包后,单击“上传”。 图1 上传模板包 由于上传模板时创建OBS桶的命名规则由cce-charts-{region}-{domain_name}变为cce-charts-{region}-{domain_id},其中旧命名规则中的domain_name系统会做base64转化并取前63位,如果您在现有命名规则的OBS桶中找不到模板,请在旧命名规则的桶中进行查找。
  • 创建模板实例 登录CCE控制台,单击集群名称进入集群,在左侧导航栏中选择“应用模板”。 在“我的模板”页签中,单击目标模板下的“安装”。 参照表2设置安装工作负载参数。 表2 安装工作负载参数说明 参数 参数说明 实例名称 新建模板实例名称,命名必须唯一。 命名空间 指定部署的命名空间。 选择版本 选择模板的版本。 配置文件 用户可以导入values.yaml文件,导入后可替换模板包中的values.yaml文件;也可直接在配置框中在线编辑模板参数。 说明: 此处导入的values.yaml文件需符合yaml规范,即KEY:VALUE格式。对于文件中的字段不做任何限制。 导入的value.yaml的key值必须与所选的模板包的values.yaml保持一致,否则不会生效。即key不能修改。 单击“添加文件”。 选择对应的values.yaml文件,单击“打开”。 配置完成后,单击“安装”。 在“模板实例”页签下可以查看模板实例的安装情况。
  • 文件存储挂载参数 CCE的存储插件everest在挂载文件存储时默认设置了如表1所示的参数。 表1 文件存储挂载参数 参数 参数值 描述 keep-original-ownership 无需填写 表示是否保留文件挂载点的ownership,使用该参数时,要求everest插件版本为1.2.63或2.1.2以上。 默认为不添加该参数,此时挂载文件存储时将会默认把挂载点的ownership修改为root:root。 如添加该参数,挂载文件存储时将保持文件系统原有的ownership。 vers 3 文件系统版本,目前只支持NFSv3。取值:3 nolock 无需填写 选择是否使用NLM协议在服务器上锁文件。当选择nolock选项时,锁对于同一主机的应用有效,对不同主机不受锁的影响。 timeo 600 NFS客户端重传请求前的等待时间(单位为0.1秒)。建议值:600。 hard/soft 无需填写 挂载方式类型。 取值为hard,即使用硬连接方式,若NFS请求超时,则客户端一直重新请求直至成功。 取值为soft,即软挂载方式挂载系统,若NFS请求超时,则客户端向调用程序返回错误。 默认为hard。 sharecache/nosharecache 无需填写 设置客户端并发挂载同一文件系统时数据缓存和属性缓存的共享方式。设置为sharecache时,多个挂载共享共享同一缓存。设为nosharecache时,每个挂载各有一个缓存。默认为sharecache。 说明: 设置nosharecache禁用共享缓存会对性能产生一定影响。每次挂载都会重新获取挂载信息,会增加与NFS服务器的通信开销和NFS客户端的内存消耗,同时同客户端设置nosharecache存在cache不一致的风险。因此,应该根据具体情况进行权衡,以确定是否需要使用nosharecache选项。 除了以上参数外,您还可以设置其他的文件存储挂载参数,具体请参见挂载NFS文件系统到云服务器(Linux)。
  • 步骤一:安装插件 集群中需要同时安装CCE AI套件(NVIDIA GPU)插件和Volcano调度器插件。 登录CCE控制台,单击集群名称进入集群,在左侧选择“插件中心”。 在右侧找到CCE AI套件(NVIDIA GPU)插件,单击“安装”。 在安装插件页面,填写插件配置。 插件规格:可配置“默认”或“自定义”规格,请根据实际情况选择。 容器:选择“自定义”规格时支持设置。 Nvidia驱动:您需要填写Nvidia驱动的下载链接,集群下全部GPU节点将使用相同的驱动。 如果下载链接为公网地址,如nvidia官网地址(https://us.download.nvidia.com/tesla/470.57.02/NVIDIA-Linux-x86_64-470.57.02.run),各GPU节点均需要绑定EIP。获取驱动链接方法请参考获取驱动链接-公网地址。 若下载链接为OBS上的链接,无需绑定EIP 。获取驱动链接方法请参考获取驱动链接-OBS地址。 请确保Nvidia驱动版本与GPU节点适配。 更改驱动版本后,需要重启节点才能生效。 驱动选择:若您不希望集群中的所有GPU节点使用相同的驱动,CCE支持以节点池为单位安装不同的GPU驱动。 插件将根据节点池指定的驱动版本进行安装,仅对节点池新建节点生效。 更新驱动版本后,节点池中新建节点可直接生效,存量节点需重启节点生效。 GPU虚拟化(2.0.5及以上版本支持):选择开启GPU虚拟化,支持GPU单卡的算力、显存分割与隔离。 图1 开启GPU虚拟化 若集群中未安装Volcano插件,将不支持开启GPU虚拟化,您可单击“一键安装”进行安装。如需配置Volcano插件参数,请单击“自定义安装”,详情请参见Volcano调度器。 若集群中已安装Volcano插件,但插件版本不支持使用GPU虚拟化,您可单击“一键升级”进行升级。如需配置Volcano插件参数,请单击“自定义升级”,详情请参见Volcano调度器。 开启GPU虚拟化后,可选择“虚拟化节点兼容GPU共享模式”选项,即兼容Kubernetes默认GPU调度能力。该能力需要配套gpu-device-plugin插件版本为2.0.10及以上、Volcano插件版本为1.10.5及以上。 开启该兼容能力后,在工作负载中声明nvidia.com/gpu配额(即配置nvidia.com/gpu为小数,例如0.5)时将通过虚拟化GPU提供,实现GPU显存隔离,按照设定值的百分比为容器分配GPU显存(例如分配0.5×16GiB=8GiB的GPU显存,该数值需为128MiB的整数倍否则会自动向下取整)。如果在开启兼容能力前工作负载中已经使用nvidia.com/gpu资源,则不会转成虚拟化GPU,依然使用整卡资源。 开启该兼容能力后,使用nvidia.com/gpu配额时等价于开启虚拟化GPU显存隔离,可以和显存隔离模式的工作负载共用一张GPU卡,但不支持和算显隔离模式负载共用一张GPU卡。同时,还需遵循GPU虚拟化的其他约束与限制。 未开启该兼容能力时,在工作负载中声明nvidia.com/gpu配额仅影响调度结果,并不会有显存隔离的限制。即虽然配置nvidia.com/gpu为0.5,依然可以在容器中看到完整的GPU显存资源。且使用nvidia.com/gpu资源的工作负载无法和使用虚拟化显存的工作负载共同调度到同一节点。 编辑插件配置时,修改“虚拟化节点兼容GPU共享模式”选项,不会影响已运行的工作负载。修改该配置可能工作负载导致调度失败。例如,兼容能力从开启到关闭,已使用nvidia.com/gpu资源的工作负载仍存在虚拟化GPU显存隔离,会导致该GPU卡无法调度算显隔离模式的工作负载,您需要将使用nvidia.com/gpu资源的工作负载删除才可重新调度。 单击“安装”。
  • 步骤三(可选):修改Volcano调度策略 Volcano针对GPU节点的调度策略默认为Spread,即如果节点配置相同,会选择一个正在运行的容器数量最少的节点,可以尽量将容器平均分配到各个节点。而Binpack调度策略与之相反,它会尽可能的把所有的容器调度到一台节点上运行,尽量少用节点,避免资源碎片化。 如果在使用GPU虚拟化特性时需要使用Binpack调度策略,可以在Volcano插件的高级配置中进行修改,具体操作步骤如下。 登录CCE控制台,单击集群名称进入集群,在左侧选择“插件中心”。 在右侧找到Volcano调度器插件,单击“编辑”。 在编辑插件页面,修改插件的“高级配置”。 在nodeorder插件中,添加arguments参数,配置leastrequested.weight为0,即资源分配最少的节点优先级设置为0。 新增binpack插件,并指定xGPU自定义资源(volcano.sh/gpu-core.percentage和volcano.sh/gpu-mem.128Mi)的权重。 完整示例如下: { "colocation_enable": "", "default_scheduler_conf": { "actions": "allocate, backfill, preempt", "tiers": [ { "plugins": [ { "name": "priority" }, { "enablePreemptable": false, "name": "gang" }, { "name": "conformance" } ] }, { "plugins": [ { "enablePreemptable": false, "name": "drf" }, { "name": "predicates" }, { "name": "nodeorder", //将资源分配最少的节点优先级设置为0 "arguments": { "leastrequested.weight": 0 } } ] }, { "plugins": [ { "name": "cce-gpu-topology-predicate" }, { "name": "cce-gpu-topology-priority" }, { "name": "xgpu" }, //添加binpack插件,指定xGPU资源的权重。 { "name": "binpack", "arguments": { "binpack.resources": "volcano.sh/gpu-core.percentage,volcano.sh/gpu-mem.128Mi", "binpack.resources.volcano.sh/gpu-mem.128Mi": 10, "binpack.resources.volcano.sh/gpu-core.percentage": 10 } } ] }, { "plugins": [ { "name": "nodelocalvolume" }, { "name": "nodeemptydirvolume" }, { "name": "nodeCSIscheduling" }, { "name": "networkresource" } ] } ] }, "tolerations": [ { "effect": "NoExecute", "key": "node.kubernetes.io/not-ready", "operator": "Exists", "tolerationSeconds": 60 }, { "effect": "NoExecute", "key": "node.kubernetes.io/unreachable", "operator": "Exists", "tolerationSeconds": 60 } ] }
  • 前提条件 配置 支持版本 集群版本 v1.23.8-r0、v1.25.3-r0及以上 操作系统 Huawei Cloud EulerOS 2.0操作系统 GPU类型 支持T4、V100类型的GPU 驱动版本 GPU虚拟化功能仅支持470.57.02、510.47.03、535.54.03版本的GPU驱动。 运行时 仅支持containerd 插件 集群中需要同时安装以下插件: Volcano调度器插件:1.10.5及以上版本 CCE AI套件(NVIDIA GPU)插件:2.0.5及以上版本
  • 容器引擎版本说明 Docker EulerOS/CentOS:docker-engine 18.9.0,CCE定制的Docker版本,会及时修复安全漏洞。 Ubuntu:docker-ce: 18.9.9,开源社区版本。Ubuntu节点建议使用containerd引擎。 Ubuntu下开源docker-ce在并发exec(如配置了多个exec探针时)可能触发社区bug,建议使用http/tcp的探针。 Containerd:1.6.14
共100000条