华为云用户手册

  • onAudioFramePlayback - (BOOL)onAudioFramePlayback:(HWRtcAudioFrame * _Nonnull)audioFrame; 【功能说明】 需要播放的音频数据回调,从接口回调中取到音频数据以作后处理。 【回调参数】 HWRtcAudioFrame :音频数据格式,具体请参见HWRtcAudioFrame。 【返回参数】 YES:处理结果成功。 NO:处理结果失败。
  • 基本使用逻辑 创建新的项目工程,导入SDK后,需要先创建引擎。 您可以在入会前进行视频编码、声音播放模式等参数的配置。 设置本地视图。 用户加入房间后,将通过回调的方式通知房间内的其他用户,收到用户加入的回调后,可以为其设置远端视图。 在会中,也可以进行切换摄像头等参数的配置。 离开房间后,需销毁对应资源。 在时序图中,单击相应接口名称可快速跳转到相应接口位置查看其使用方法。 父主题: iOS/macOS SDK
  • 新建构建任务并执行 在编译构建服务页面,单击“新建任务”,按照如下参数说明配置参数,其他参数保持默认即可。 名称:自定义构建任务名称,例如“custom_env_build_task”。 代码源:选择本次构建拉取的代码源,这里选择“Repo”。 代码仓:选择新建CodeArts Repo代码仓中新建的代码仓“custom_env_repo”。 单击“下一步”,选择“空白构建模板”。然后单击“确定”,自动跳转到构建步骤配置页面。 在“构建步骤”页签,单击“图形化”,单击“点击添加构建步骤”。 在右侧区域“容器类”页签中,单击“使用SWR公共镜像”所在行的“添加”,按照图4配置参数。其中“镜像地址”填写10中保存的完整镜像名称“swr.{regionID}.myhuaweicloud.com/hwstaff_codeci_gray/custom_ubuntu_image:v1.0”,将如下代码示例拷贝至“命令”中,其余参数保持默认即可。 java -version # 打印当前镜像里安装的jdk版本号 mvn -v # 打印当前镜像里安装的maven版本号 mvn package -Dmaven.test.skip=true -U -e -X -B # 执行maven构建命令 图8 配置使用SWR公共镜像 单击“添加步骤”,添加“上传软件包至软件发布库”构建步骤,“构建包路径”输入“**/target/*.?ar”,其他参数保持默认即可。 单击页面右上角“保存并执行”,在弹出的窗口中单击“确定”,跳转到构建任务执行页面。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建私有依赖库 新建本实践中使用的私有依赖库。 新建dependency_repo代码仓 新建发布“dependencyProject-1.0.jar”工具包使用的代码仓。 新建dependency_task构建任务 新建发布“dependencyProject-1.0.jar”工具包的构建任务。 新建release_repo代码仓 新建发布应用使用的代码仓。 新建release_task构建任务 新建发布应用使用的构建任务,该构建任务依赖“dependencyProject-1.0.jar”工具包。 查看构建结果 查看本实践的的构建结果。
  • 应用场景 本实践案例将为您介绍,如何在CodeArts Build构建工程中引用私有依赖库中的二方或三方依赖包,实现应用的编译构建。本实践案例为您演示依赖包的发布和下载引用两个环节,共涉及2个Maven构建工程,1个私有依赖库。 构建工程“dependency_task”:用于发布工具包,将“pom.xml”文件定义的“dependencyProject-1.0.jar”工具包发布到私有依赖库,为构建工程“release_task”提供依赖工具包引用。 构建工程“release_task”:用于发布应用,构建时依赖构建工程“dependency_repo”发布到私有依赖库的工具包“dependencyProject-1.0.jar”。 私有依赖库“dependency_libs”:存放构建工程“dependency_task”发布的工具包“dependencyProject-1.0.jar”,为构建工程“release_task”提供依赖工具包下载。 本实践需要依赖使用的其他服务如下: 代码托管服务 ,用于存储实践中项目所使用的代码。 制品仓库服务,用于存储实践中使用的私有依赖包。
  • 应用场景 编译构建服务支持通过yaml文件配置构建脚本,用户可以将构建时需要配置的构建环境、构建参数、构建命令、构建步骤等操作,通过yaml语法编写成build.yml文件实现,并且将build.yml文件和被构建的代码一起存储到代码仓库。执行构建任务时,系统会以build.yml文件作为构建脚本执行构建任务,使构建过程可追溯、可还原,安全可信。本实践以使用Maven构建为例,为您演示上传软件包至软件发布库和推送镜像到SWR。 本实践需要依赖使用的其他服务如下: SWR,即 容器镜像服务 。SWR镜像仓库用于存储用户上传的Docker镜像,可以在构建、部署或其他场景使用。 代码托管服务,用于存储实践中项目所使用的代码。 制品仓库服务,用于存储实践中使用的私有依赖包。
  • 新建构建任务并执行 在编译构建服务页面,单击“新建任务”,按照如下参数说明配置参数,其他参数保持默认即可。 名称:自定义构建任务名称,例如“maven_private_repository_task”。 代码源:选择本次构建拉取的代码源,这里选择“Repo”。 代码仓:选择新建CodeArts Repo代码仓中新建的代码仓“maven_private_repository_repo”。 单击“下一步”,选择“Maven”模板。然后单击“确定”,自动跳转到构建步骤配置页面。 在“构建步骤”页签,单击“图形化”,单击左侧“Maven构建”,按照如下说明配置构建步骤,其他参数保持默认即可。 命令:mvn package -Dmaven.test.skip=true -U -e -X -B命令前加“#”,删除#mvn deploy -Dmaven.test.skip=true -U -e -X -B前的“#”。 发布依赖包到CodeArts私有依赖库:选择“配置所有pom”。 “release仓库”和“snapshot仓库”选择新建私有依赖库中仓库名“maven_repository”。 图3 配置Maven构建步骤 单击页面右上角“保存并执行”,在弹出的窗口中单击“确定”,自动跳转到构建任务执行页面。
  • 相关信息 当前实践展示的是归档“Snapshot”快照版本,如果要归档正式的“Release”发布版本,可以修改新建CodeArts Repo代码仓中的代码仓“pom.xml”文件中的“version”内容,将“1.0.0-SNAPSHOT”修改为“1.0.0”,提交文件改动,重新执行构建任务即可。 Maven构建会根据模块的版本号,即““pom.xml”文件中的“version”内容是否带有“-SNAPSHOT”来判断是快照版本还是正式版本。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建私有依赖库 新建本实践中使用的私有依赖库。 查询私有依赖仓库信息 查询私有依赖库的id和url信息,用于配置在代码仓的“pom.xml”文件中。 上传settings.xml文件至编译构建 上传“settings.xml”文件到编译构建服务的“文件管理”中。 新建CodeArts Repo代码仓 新建本实践需要使用的代码仓。 配置Maven构建产物发布的私有依赖库地址 配置构建产物上传的私有依赖库的地址。 新建编译构建任务 新建本实践需要使用的编译构建任务。 配置构建步骤并执行构建任务 配置“下载文件管理的文件”和“Maven构建”步骤并执行构建任务。 查看编译构建结果 在私有依赖库中查看编译构建结果。
  • 配置构建步骤并执行构建任务 单击“点击添加构建步骤”,添加“下载文件管理的文件”构建步骤,“步骤显示名称”和“工具版本”保持默认,“下载文件”选择上传settings.xml文件至编译构建中上传的文件“settings.xml”。 单击“添加步骤”,添加“Maven构建”构建步骤,“命令”窗口中mvn package -Dmaven.test.skip=true -U -e -X -B命令前加“#”注释,删除mvn deploy -Dmaven.test.skip=true -U -e -X -B前的“#”,并将mvn deploy -Dmaven.test.skip=true -U -e -X -B改为mvn deploy -Dmaven.test.skip=true -s settings.xml -U -e -X -B,其他参数保持默认即可。 图5 打包命令 图6 发布依赖包命令 单击“保存并执行”。在弹出的窗口中单击“确定”,等待构建任务执行完成。
  • 操作流程 表1 操作流程 流程 说明 新建项目 为本实践新建项目。 新建CodeArts Repo代码仓 为本实践新建Repo代码仓用于存储代码文件。 新建build.yml文件 通过“build.yml”定义整个构建的流程。 新建build.yml中使用的子任务执行脚本 新建整个构建过程中依赖的构建任务的执行脚本。 新建并执行编译构建任务 新建BuildFlow编译构建任务并执行。 查看编译构建结果 查看编译构建结果。
  • 查看编译构建结果 “构建流程”页签中展示了当前构建任务运行的全量流程图,在构建任务未执行完成时,可以清晰的看到Job1和Job2是并行执行,Job3是等待Job1和Job2执行完成后才执行。 单击“构建流程”页签中左侧菜单的“Job1”或右侧界面的绿色矩形图形的“Job1”,进入Job1构建任务的执行详情页面,可以查看Job1构建任务的构建日志,如图2所示。 图2 查看构建结果 其中, “步骤日志”页签展示了当前构建任务运行顺序和资源调度情况。 “构建参数”页签展示了当前构建任务全局的参数信息。 “构建脚本”页签展示了当前构建任务执行的脚本内容。 参考1可查看“Job2”和“Job3”的构建任务执行详情。
  • 应用场景 在编译构建中,构建任务是构建的最小单元,适用于业务比较简单的场景,但是在有些复杂的构建场景下,构建任务可能并不能满足复杂的构建要求。例如,用户希望更模块化、更加细粒度的拆分构建任务,并按照构建任务之间的依赖顺序进行构建。 为此,编译构建服务支持使用BuildFlow将多个存在依赖关系的构建任务按照有向无环图(DAG)的方式组装起来,BuildFlow将会按照构建的依赖关系并发进行构建。 本实践为您演示构建任务Job3依赖于构建任务Job1和构建任务Job2的构建工程,实践中依赖使用代码托管服务,用于存储实践中项目所使用的代码。
  • 约束限制 需已具备CodeArts Repo服务的操作权限,具体操作可参考授权使用CodeArts Repo服务。 目前该功能仅支持代码源为CodeArts Repo的C/C++语言构建工程的编译构建加速。 使用构建加速能力需要额外购买配套构建加速包,构建加速包因加速原理以及效果的不同,共有三种规格以供购买,规格介绍及购买指南请参考购买构建加速包。本实践需要购买X86架构和L3级别的加速包。 基于自定义执行机的构建任务,无法使用构建加速能力。 需在本地已准备好C++工程代码。
  • 配置构建步骤并执行构建任务 配置“Npm构建”。 在命令编辑器里,npm run build命令前加“#”,新增zip -r ./nodeserver.zip ./命令,用来将代码打包成“nodeserver.zip”,如图1所示。其他参数保持默认即可。 图1 命令示例 按图2所示配置“上传软件包到软件发布库”。 图2 配置上传软件包到软件发布库 配置完所有构建步骤,单击“保存并执行”,执行编译构建任务。
  • 云搜索服务 CSS CloudTable使用云搜索服务(Cloud Search Service,简称CSS)中的Elasticsearch搜索引擎来补充全文检索能力。用户在HBase的建表语句中,通过METADATA来定义索引字段的Elasticsearch schema并指定云搜索服务集群的连接地址,在建表时会自动连接云搜索服务集群并在Elasticsearch中创建索引。用户的源数据存储在CloudTable的HBase中,索引数据存放在云搜索服务的Elasticsearch中。 了解更多CSS的相关信息,请参见云搜索服务。
  • 首次使用CloudTable 如果您是首次使用CloudTable的用户,建议您学习并了解如下信息: 基础知识了解 通过CloudTable产品功能章节的内容,了解CloudTable相关的基础知识,包含CloudTable各组件的基本原理和场景介绍,以及CloudTable服务的特有概念和功能的详细介绍。 入门使用 您可以参考《快速入门》学习并上手使用CloudTable。《快速入门》提供了样例的详细操作指导,您可以基于此操作指导,创建和使用CloudTable集群。 使用更多的功能,并查看其相关操作指导 如果您是一个CloudTable集群使用人员,可以参考用户指南完成集群创建、参数配置、查看告警等操作。 如果您是一个开发者,可以参考CloudTable提供的开发指南操作指导及样例工程开发并运行调测自己的应用程序。您也可以通过API调用完成CloudTable集群创建/查询操作,您可以参考《API参考》获取详情。
  • 1.23版本集群停止维护公告 发布时间:2024/04/25 华为云CCE集群1.23版本即将于2024/09/30 00:00(北京时间)正式停止维护,届时针对CCE集群1.23以及之前的版本,华为云将不再支持新集群创建。若您账号下存在1.23及之前的集群版本,为了保证您的服务权益,建议尽快升级到最新的商用版本。 关于如何升级集群,请参见CCE集群升级指导。 关于CCE集群的版本机制,请参见Kubernetes版本策略。 父主题: 集群版本公告
  • 1.17版本集群停止维护公告 发布时间:2022/11/29 根据CCE发布的Kubernetes版本策略中的版本策略,计划从2023年1月31日起,CCE将对1.17版本集群停止维护。在此之后,您仍可以使用您的1.17版本集群,但CCE将不再提供对该版本的技术支持,包含支持新的功能、社区bugfix回合、漏洞修复、升级等。 建议您在版本停止维护前及时将集群升级到最新版本,升级操作请参见集群升级。 父主题: 集群版本公告
  • 1.21版本集群停止维护公告 发布时间:2024/01/22 华为云CCE集群1.21版本即将于2024/04/30 00:00(北京时间)正式停止维护,届时针对CCE集群1.21以及之前的版本,华为云将不再支持新集群创建。若您账号下存在1.21及之前的集群版本,为了保证您的服务权益,建议尽快升级到最新的商用版本。 关于如何升级集群,请参见CCE集群升级指导。 关于CCE集群的版本机制,请参见Kubernetes版本策略。 父主题: 集群版本公告
  • 新增特性及特性增强 社区特性的Alpha阶段默认禁用、Beta阶段一般默认启用、GA阶段将一直默认启用,且不能禁用(会在后续版本中删除这个开关功能)。CCE对新特性的策略与社区保持一致。 版本偏差策略扩展至3个版本 从1.28控制平面/1.25工作节点开始,Kubernetes版本偏差策略将支持的控制平面/工作节点偏差扩展到3个版本。 这使得节点的年度次要版本升级成为可能,同时保持受支持的次要版本。更多细节请参考版本偏差策略。 可追溯的默认StorageClass进阶至GA 在Kubernetes 1.28版本,可追溯默认StorageClass赋值现已进阶至GA。 这项增强特性极大地改进了默认的StorageClasses为PersistentVolumeClaim(PVC)赋值的方式。 PersistentVolume(PV)控制器已修改为:当未设置storageClassName时,自动向任何未绑定的PersistentVolumeClaim分配一个默认的StorageClass。此外,API 服务器中的PersistentVolumeClaim准入验证机制也已调整为允许将值从未设置状态更改为实际的StorageClass名称。更多使用细节请参考默认StorageClass赋值。 原生边车容器(Alpha) 在Kubernetes 1.28版本,原生边车容器以Alpha版本正式发布。其在Init容器中添加了一个新的restartPolicy字段, 该字段在SidecarContainers特性门控启用时可用。需要注意的是,原生边车容器目前仍有些问题需要解决,因此K8S社区建议仅在Alpha阶段的短期测试集群中使用边车功能。 更多使用细节请参考原生边车容器。 混合版本代理(Alpha) 在Kubernetes 1.28版本,发布了用于改进集群安全升级的新机制(混合版本代理)。该特性为Alpha特性。当集群进行升级时,集群中不同版本的kube-apiserver为不同的内置资源集(组、版本、资源)提供服务。在这种情况下资源请求如果由任一可用的apiserver提供服务,请求可能会到达无法解析此请求资源的apiserver中,导致请求失败。该特性能解决该问题。(主要注意的是,CCE本身提供的升级能力即可做到无损升级,因此不存在该特性涉及的场景)。更多使用细节请参考混合版本代理。 节点非体面关闭特性达到GA 在Kubernetes 1.28版本,节点非体面关闭特性达到GA阶段。当一个节点被关闭但没有被Kubelet的Node Shutdown Manager检测到时,StatefulSet的Pod将会停留在终止状态,并且不能移动到新运行的节点上。当用户确认该节点已经处于不可恢复的情况下,可以手动为Node打上out-of-service的污点,以使得该节点上的StatefulSet的Pod和VolumeAttachments被强制删除,并在健康的Node上创建相应的Pod。更多使用细节请参考节点非体面关闭。 NodeSwap特性达到Beta 在Kubernetes 1.28版本,NodeSwap能力进阶至Beta版本。目前仍然处于默认关闭状态,需要使用NodeSwap门控打开。该特性可以为Linux节点上运行的Kubernetes工作负载逐个节点地配置内存交换。需要注意的是,该特性虽然进阶至Beta特性,但仍然存在一些需要增强的问题和安全风险。更多使用细节请参考NodeSwap特性。 Job相关特性 在Kubernetes 1.28版本,增加了Pod更换策略和基于带索引Job的回退限制两个alpha特性。 Pod更换策略 默认情况下,当Pod进入终止(Terminating)状态(例如由于抢占或驱逐机制)时,Kubernetes会立即创建一个替换的Pod,因此这时会有两个Pod同时运行。 在Kubernetes 1.28版本中可以使用JobPodReplacementPolicy 来启用该特性。可以在Job的Spec中定义podReplacementPolicy,目前仅可设置为Failed。在设置为Failed之后,Pod仅在达到Failed阶段时才会被替换,而不是在它们处于终止过程中(Terminating)时被替换。此外,您可以检查Job的.status.termination字段。该字段的值表示终止过程中的Job所关联的Pod数量。 带索引Job的回退限制 默认情况下,带索引的Job(Indexed Job)的 Pod 失败情况会被记录下来,受.spec.backoffLimit字段所设置的全局重试次数限制。这意味着,如果存在某个索引值的Pod一直持续失败,则Pod会被重新启动,直到重试次数达到限制值。一旦达到限制值,整个Job将被标记为失败,并且对应某些索引的Pod甚至可能从不曾被启动。 在Kubernetes 1.28版本中,可以通过启用集群的JobBackoffLimitPerIndex特性门控来启用此特性。开启之后,允许在创建带索引的Job(Indexed Job)时指定.spec.backoffLimitPerIndex字段。当某个Job的失败次数超过设定的上限时,将不再进行重试。 CEL相关特性 在Kubernetes 1.28版本,CEL能力进行了相应的增强。 CRD使用CEL进行Validate的特性进阶至Beta 该特性在v1.25版本就已经升级为Beta版本。通过将CEL表达式直接集成在CRD中,可以使开发者在不使用Webhook的情况下解决大部分对CR实例进行验证的用例。在未来的版本,将继续扩展CEL表达式的功能,以支持默认值和 CRD转换。 基于CEL的准入控制进阶至Beta 基于通用表达式语言 (CEL) 的准入控制是可定制的,对于kube-apiserver接受到的请求,可以使用CEL表达式来决定是否接受或拒绝请求,可作为Webhook准入控制的一种替代方案。在 v1.28 中,CEL准入控制被升级为Beta,同时添加了一些新功能,包括但不限于: ValidatingAdmissionPolicy类型检查现在可以正确处理CEL表达式中的“authorizer”变量。 ValidatingAdmissionPolicy支持对messageExpression字段进行类型检查。 kube-controller-manager组件新增ValidatingAdmissionPolicy控制器,用来对ValidatingAdmissionPolicy中的CEL表达式做类型检查,并将原因保存在状态字段中。 支持变量组合,可以在ValidatingAdmissionPolicy中定义变量,然后在定义其他变量时使用它。 新增CEL库函数支持对Kubernetes的resource.Quantity类型进行解析。 其它特性说明 在Kubernetes 1.28版本,ServiceNodePortStaticSubrange 特性为beta,允许保留静态端口范围,避免与动态分配端口冲突。具体细节请参考为NodePort Service分配端口时避免冲突。 在Kubernetes 1.28版本,增加了alpha特性ConsistentListFromCache,允许kube-apiserver从缓存中提供一致性列表,Get和List请求可以从缓存中读取数据,而不需要从etcd中获取。 在Kubernetes 1.28版本,kubelet能够配置drop-in目录(alpha特性)。该特性允许向kubelet添加对“--config-dir”标志的支持,以允许用户指定一个插入目录,该目录将覆盖位于/etc/kubernetes/kubelet.conf位置的Kubelet的配置。 在Kubernetes 1.28版本,ExpandedDNSConfig升级至GA,默认会被打开。该参数用于允许扩展DNS的配置。 在Kubernetes 1.28版本,提供Alpha特性CRD Validation Ratcheting。该特性允许Patch或者Update请求没有更改任何不合法的字段,将允许CR验证失败。 在Kubernetes 1.28版本,kube-controller-manager添加了--concurrent-cron-job-syncs flag用来设置cron job controller的workers数。
  • API变更与弃用 在Kubernetes 1.28版本,移除特性NetworkPolicyStatus,因此Network Policy不再有status属性。 在Kubernetes 1.28版本,Job对象中增加了新的annotationbatch.kubernetes.io/cronJob-scheduled-timestamp,表示Job的创建时间。 在Kubernetes 1.28版本,Job API中添加podReplacementPolicy和terminating字段,当前一旦先前创建的pod终止,Job就会立即启动替换pod。添加字段允许用户指定是在先前的Pod终止后立即更换Pod(原行为),还是在现有的Pod完全终止后才替换Pod(新行为)。这是一项Alpha级别特性,您可以通过在集群中启用JobPodReplacementPolicy 来启用该特性。 在Kubernetes 1.28版本,Job支持BackoffLimitPerIndex字段。当前使用的运行Job的策略是Job中的整个Pod共享一个Backoff机制,当Job达到Backoff的限制时,整个Job都会被标记为失败,并清理资源,包括尚未运行的index。此字段允许对单个的index设置Backoff。更多信息请参见带索引Job的Backoff限制。 在Kubernetes 1.28版本,添加ServedVersions字段到 StorageVersion API中。该变化由混合代理版本特性引入。该增加字段ServedVersions用于表明 API服务 器可以提供的版本。 在Kubernetes 1.28版本,SelfSubjectReview 添加到authentication.k8s.io/v1中,并且kubectl auth whoami走向GA。 在Kubernetes 1.28版本,PersistentVolume有了一个新的字段LastPhaseTransitionTime,用来保存最近一次volume转变Phase的时间。 在Kubernetes 1.28版本,PVC.Status中移除resizeStatus,使用AllocatedResourceStatus替代。resizeStatus表示调整存储大小操作的状态,默认为空字符串。 在Kubernetes 1.28版本,设置了hostNetwork: true并且定义了ports的Pods,自动设置hostport字段。 在Kubernetes 1.28版本,StatefulSet的Pod索引设置为Pod的标签statefulset.kubernetes.io/pod-index。 在Kubernetes 1.28版本,Pod的Condition字段中的PodHasNetwork重命名为PodReadyToStartContainers,用来表明网络、卷等已成功创建,sandbox pod已经创建完成,可以启动容器。 在Kubernetes 1.28版本,在KubeSchedulerConfiguration中添加了新的配置选项delayCacheUntilActive, 该参数为true时,非master节点的kube-scheduler不会缓存调度信息。这为非主节点的内存减缓了压力,但会导致主节点发生故障时,减慢故障转移的速度。 在Kubernetes 1.28版本,在admissionregistration.k8s.io/v1alpha1.ValidatingAdmissionPolicy中添加namespaceParamRef字段。 在Kubernetes 1.28版本,在CRD validation rules中添加reason和fieldPath,允许用户指定验证失败的原因和字段路径。 在Kubernetes 1.28版本,ValidatingAdmissionPolicy的CEL表达式通过namespaceObject支持namespace访问。 在Kubernetes 1.28版本,将API groups ValidatingAdmissionPolicy 和ValidatingAdmissionPolicyBinding提升到betav1。 在Kubernetes 1.28版本,ValidatingAdmissionPolicy 扩展了messageExpression字段,用来检查已解析类型。
  • 重要说明 在Kubernetes 1.28版本,调度框架发生变化,减少无用的重试,从而提高调度程序的整体性能。如果开发人员在集群中使用了自定义调度程序插件,请参见调度框架变化进行适配升级。 在Kubernetes 1.28 版本,Ceph FS 树内插件已在 v1.28 中弃用,并计划在 v1.31 中删除(社区没有计划进行 CS I 迁移)。 建议使用 Ceph CSI 第三方存储驱动程序作为替代方案。 在Kubernetes 1.28 版本,Ceph RBD 树内插件已在 v1.28 中弃用,并计划在 v1.31 中删除(社区没有计划进行 CSI 迁移)。建议使用 RBD 模式的 Ceph CSI 第三方存储驱动程序作为替代方案。
  • 特性门禁及命令行参数 在Kubernetes 1.28版本,kubelet移除了flag –short。因此kubectl version 默认输出与kubectl version –short相同。 在Kubernetes 1.28版本,kube-controller-manager废弃flag--volume-host-cidr-denylist和--volume-host-allow-local-loopback。--volume-host-cidr-denylist是用逗号分隔的一个CIDR范围列表,禁止使用这些地址上的卷插件。--volume-host-allow-local-loopback为false时,禁止本地回路IP地址和--volume-host-cidr-denylist中所指定的CIDR范围。 在Kubernetes 1.28版本,kubelet --azure-container-registry-config被弃用并在未来的版本中会被删除。 请使用--image-credential-provider-config和--image-credential-provider-bin-dir来设置。 在Kubernetes 1.28版本,kube-scheduler: 删除了--lock-object-namespace和--lock-object-name。 请使用--leader-elect-resource-namespace和--leader-elect-resource-name或ComponentConfig来配置这些参数。(--lock-object-namespace用来定义锁对象的命名空间,--lock-object-name用来定义锁对象的名称) 在Kubernetes 1.28版本,KMSv1已弃用,以后只会接收安全更新。请改用KMSv2。在未来版本中,设置--feature-gates=KMSv1=true以使用已弃用的KMSv1功能。 在Kubernetes 1.28版本,移除了如下特性门禁:DelegateFSGroupToCSIDriver、DevicePlugins、KubeletCredentialProviders、MixedProtocolLBService、ServiceInternalTrafficPolicy、ServiceIPStaticSubrange、EndpointSliceTerminatingCondition。
  • Everest插件优化密钥认证功能公告 发布时间:2021/02/02 Everest插件在1.2.0版本优化了使用OBS存储时的密钥认证功能,请在Everest插件升级完成后(从低于1.2.0的版本升级到1.2.0及以上版本),重启集群中使用OBS的全部工作负载,否则工作负载使用OBS存储能力将受影响! 关于Everest插件的版本说明,请参见CCE容器存储插件(Everest)版本发布记录。 父主题: 产品变更公告
  • API变更与弃用 在Kubernetes1.29版本中,新创建的CronJob不再支持在.spec.schedule中通过TZ或者CRON_TZ配置时区,请使用.spec.timeZone替代。已经创建的CronJob不受此影响。 在Kubernetes1.29版本中,移除了alpha API ClusterCIDR。 在Kubernetes1.29版本中,kube-apiserver新增启动参数--authentication-config,用于指定AuthenticationConfiguration文件地址,该启动参数与--oidc-*启动参数互斥。 在Kubernetes1.29版本中,移除了KubeSchedulerConfiguration的API版本kubescheduler.config.k8s.io/v1beta3,请迁移至kubescheduler.config.k8s.io/v1。 在Kubernetes1.29版本中,将CEL表达式添加到v1alpha1 AuthenticationConfiguration中。 在Kubernetes1.29版本中,新增对象ServiceCIDR,允许用户动态配置集群分配Service的ClusterIP时所使用的地址范围。 在Kubernetes1.29版本中,kube-proxy新增启动参数--conntrack-udp-timeout、--conntrack-udp-timeout-stream,可对nf_conntrack_udp_timeout和nf_conntrack_udp_timeout_stream内核参数进行设置 。 在Kubernetes1.29版本中,将CEL表达式的支持添加到v1alpha1 AuthenticationConfiguration的WebhookMatchCondition中。 在Kubernetes1.29版本中,PVC.spec.Resource的类型由原先的ResourceRequirements替换为VolumeResourceRequirements。 在Kubernetes1.29版本中,将PodFailurePolicyRule中的OnPodConditions转变为可选字段。 在Kubernetes1.29版本中,FlowSchema与PriorityLevelConfiguration的API版本flowcontrol.apiserver.k8s.io/v1beta3已升级至flowcontrol.apiserver.k8s.io/v1,并进行了以下更改 PriorityLevelConfiguration:.spec.limited.nominalConcurrencyShares字段在省略时自动设为默认值30,并且为了确保与1.28兼容,在1.29中v1版本该字段不允许显示指定为0。在1.30中,将允许v1版本该字段显示指定为0。flowcontrol.apiserver.k8s.io/v1beta3已废弃,并在1.32中不再支持。 在Kubernetes1.29版本中, 优化了kube-proxy的命令行文档,kube-proxy实际上不会将任何socket绑定到由--bind-address启动参数指定的IP。 在Kubernetes1.29版本中,移除了selectorSpread调度器插件,使用podTopologySpread替代。 在Kubernetes1.29版本中,当CSI-Node-Driver没有在运行时,NodeStageVolume操作会重试。 在Kubernetes1.29版本中,ValidatingAdmissionPolicy支持对CRD资源进行校验。使用该特性需开启特性门控ValidatingAdmissionPolicy。 在Kubernetes1.29版本中,kube-proxy新增启动参数--nf-conntrack-tcp-be-liberal,可对内核参数nf_conntrack_tcp_be_liberal进行配置。 在Kubernetes1.29版本中,kube-proxy新增启动参数--init-only,设置后使kube-proxy的init容器在特权模式下运行,进行一些初始化配置,然后退出。 在Kubernetes1.29版本中,CRI的返回体中新增容器的fileSystem字段,表示容器的fileSystem使用信息,而原先只包含镜像的fileSystem。 在Kubernetes1.29版本中,所有内置的CloudProvider全部默认设置为关闭,如果仍需使用,可通过配置DisableCloudProviders和DisableKubeletCloudCredentialProvider特性门控来选择性关闭或者打开。 在Kubernetes1.29版本中,kubelet可通过--node-ips来设置双栈IP(kubelet设置--cloud-provider=external,此时可以使用--node-ips参数来设置节点地址(IPv4/IPv6)),使用该特性需开启特性门控CloudDualStackNodeIPs。
  • 新增特性及特性增强 Service的负载均衡IP模式(Alpha) 在Kubernetes1.29版本,Service的负载均衡IP模式以Alpha版本正式发布。其在Service的status中新增字段ipMode,用于配置集群内Service到Pod的流量转发模式。当设置为VIP时,目的地址为负载均衡IP和端口的流量将由kube-proxy重定向到目标节点,当设置为Proxy时,流量将被发送到负载均衡器,然后由负载均衡器转发到目标节点。这项特性将有助于解决流量绕过负载均衡器缩导致的负载均衡器功能缺失问题。更多使用细节请参考Service的负载均衡IP模式。 NFTables代理模式(Alpha) 在Kubernetes1.29版本,NFTables代理模式以Alpha版本正式发布。该特性允许kube-proxy运行在NFTables模式,在该模式下,kube-proxy使用内核netfilters子系统的nftables API来配置数据包转发规则。更多使用细节请参考NFTables代理模式。 未使用容器镜像的垃圾收集(Alpha) 在Kubernetes1.29版本,未使用容器镜像的垃圾收集以Alpha版本正式发布。该特性允许用户为每个节点配置本地镜像未被使用的最长时间,超过这个时间镜像将被垃圾回收。配置方法为使用kubelet配置文件中的ImageMaximumGCAge字段。更多使用细节请参考未使用容器镜像的垃圾收集。 PodLifecycleSleepAction(Alpha) 在Kubernetes1.29版本,PodLifecycleSleepAction以Alpha版本正式发布。该特性在容器生命周期回调中引入了Sleep回调程序,可以配置让容器在启动后和停止前暂停一段指定的时间。更多使用细节请参考PodLifecycleSleepAction。 KubeletSeparateDiskGC(Alpha) 在Kubernetes1.29版本,KubeletSeparateDiskGC以Alpha版本正式发布。该特性启用后,即使在容器镜像和容器位于独立文件系统的情况下,也能进行垃圾回收。 matchLabelKeys/mismatchLabelKeys(Alpha) 在Kubernetes1.29版本,matchLabelKeys/mismatchLabelKeys以Alpha版本正式发布。该特性启用后,在Pod的亲和/反亲和配置中新增了matchLabelKeys/mismatchLabelKeys字段,可配置更丰富的Pod间亲和/反亲和策略。更多使用细节请参考matchLabelKeys/mismatchLabelKeys。 clusterTrustBundle投射卷(Alpha) 在Kubernetes1.29版本,clusterTrustBundle投射卷以Alpha版本正式发布。该特性启用后,支持将ClusterTrustBundle对象以自动更新的文件的形式注入卷。更多使用细节请参考clusterTrustBundle投射卷。 基于运行时类的镜像拉取(Alpha) 在Kubernetes1.29版本中,基于运行时类的镜像拉取以Alpha版本正式发布。该特性启用后, kubelet 会通过一个元组(镜像名称,运行时处理程序)而不仅仅是镜像名称或镜像摘要来引用容器镜像。 您的容器运行时可能会根据选定的运行时处理程序调整其行为。基于运行时类来拉取镜像对于基于VM的容器会有帮助。更多使用细节请参考基于运行时类的镜像拉取。 PodReadyToStartContainers状况达到Beta 在Kubernetes1.29版本,PodReadyToStartContainers状况特性达到Beta版本。其在Pod的status中新增了一个名为PodReadyToStartContainers的Condition,该Condition为true表示Pod的沙箱已就绪,可以开始创建业务容器。该特性使得集群管理员可以更清晰和全面地查看 Pod 沙箱的创建完成和容器的就绪状态,增强了指标监控和故障排查能力。更多使用细节请参考PodReadyToStartContainersCondition。 Job相关特性 Pod更换策略达到Beta 在Kubernetes1.29版本,Pod更换策略特性达到Beta版本。该特性确保只有Pod达到Failed阶段(status.phase: Failed)才会被替换,而不是当删除时间戳不为空时,Pod仍处于删除过程中就重建Pod,以此避免出现2个Pod同时占用索引和节点资源。 逐索引的回退限制达到Beta 在Kubernetes1.29版本,逐索引的回退限制特性达到Beta版本。默认情况下,带索引的 Job(Indexed Job)的 Pod 失败情况会被统计下来,受 .spec.backoffLimit 字段所设置的全局重试次数限制。这意味着,如果存在某个索引值的 Pod 一直持续失败,则会 Pod 会被重新启动,直到重试次数达到限制值。 一旦达到限制值,整个 Job 将被标记为失败,并且对应某些索引的 Pod 甚至可能从不曾被启动。该特性可以在某些索引值的 Pod 失败的情况下,仍完成执行所有索引值的 Pod,并且通过避免对持续失败的、特定索引值的Pod进行不必要的重试,更好地利用计算资源。 原生边车容器达到Beta 在Kubernetes1.29版本,原生边车容器特性达到Beta版本。其在initContainers中新增了restartPolicy字段,当配置为Always时表示启用边车容器。边车容器和业务容器部署在同一个Pod中,但并不会延长Pod的生命周期。边车容器常用于网络代理、日志收集等场景。更多使用细节请参考边车容器。 传统ServiceAccount令牌清理器达到Beta 在Kubernetes1.29版本,传统ServiceAccount令牌清理器特性达到Beta版本。其作为kube-controller-manager的一部分运行,每24小时检查一次,查看是否有任何自动生成的传统ServiceAccount令牌在特定时间段内(默认为一年,通过--legacy-service-account-token-clean-up-period指定)未被使用。如果有的话,清理器会将这些令牌标记为无效,并添加kubernetes.io/legacy-token-invalid-since标签,其值为当前日期。如果一个无效的令牌在特定时间段(默认为1年,通过--legacy-service-account-token-clean-up-period指定)内未被使用,清理器将会删除它。更多使用细节请参考传统ServiceAccount令牌清理器。 DevicePluginCDIDevices达到Beta 在Kubernetes1.29版本,DevicePluginCDIDevices特性达到Beta版本。该特性在DeviceRunContainerOptions增加CDIDevices字段,使得设备插件开发者可以直接将CDI设备名称传递给支持CDI的容器运行时。 PodHostIPs达到Beta 在Kubernetes1.29版本中,PodHostIPs特性达到Beta版本。该特性在Pod和downward API的Status中增加hostIPs字段,用于将节点IP地址暴露给工作负载。该字段是hostIP的双栈协议版本,第一个IP始终与hostIP相同。 API优先级和公平性达到GA 在Kubernetes1.29版本,API优先级和公平性(APF)特性达到GA版本。APF以更细粒度的方式对请求进行分类和隔离,提升最大并发限制,并且它还引入了空间有限的排队机制,因此在非常短暂的突发情况下,API 服务器不会拒绝任何请求。 通过使用公平排队技术从队列中分发请求,这样,一个行为不佳的控制器就不会导致其他控制器异常 (即使优先级相同)。更多使用细节请参考API优先级和公平性。 APIListChunking达到GA 在Kubernetes1.29版本,APIListChunking特性达到GA版本。该特性允许客户端在List请求中进行分页,避免一次性返回过多数据而导致的性能问题。 ServiceNodePortStaticSubrange达到GA 在Kubernetes1.29版本,ServiceNodePortStaticSubrange特性达到GA版本。该特性kubelet会根据Nodeport范围计算出预留地址大小,并将Nodeport划分为静态段和动态段。在Nodeport自动分配时,优先分配在动态段,这有助于减小指定静态段分配时的端口冲突。更多使用细节请参考ServiceNodePortStaticSubrange PersistentVolume的阶段转换时间戳达到Beta 在Kubernetes1.29版本,PersistentVolume的阶段转换时间戳特性达到Beta版本。该特性在PV的status中添加了一个lastPhaseTransitionTime字段,表示PV上一次phase变化的时间。通过该字段,集群管理员可以跟踪PV上次转换到不同阶段的时间,从而实现更高效、更明智的资源管理。更多使用细节请参考PersistentVolume的阶段转换时间戳。 ReadWriteOncePod达到GA 在Kubernetes1.29版本中,ReadWriteOncePod特性达到GA版本。该特性允许用户在PVC中配置访问模式为ReadWriteOncePod,确保同时只有一个 Pod能够修改存储中的数据,以防止数据冲突或损坏。更多使用细节请参考ReadWriteOncePod。 CSINodeExpandSecret达到GA 在Kubernetes1.29版本中,CSINodeExpandSecret特性达到GA版本。该特性允许在添加节点时将Secret身份验证数据传递到CSI驱动以供后者使用。 CRD验证表达式语言达到GA 在Kubernetes1.29版本中,CRD验证表达式语言特性达到GA版本。该特性允许用户在CRD中使用通用表达式语言(CEL)定义校验规则,相比webhook更加高效。更多使用细节请参考CRD校验规则。
  • 1.19版本集群停止维护公告 发布时间:2023/07/07 华为云CCE集群1.19版本即将于2023/09/30 00:00(北京时间)正式停止维护,届时针对CCE集群1.19以及之前的版本,华为云将不再支持新集群创建。若您账号下存在1.19及之前的集群版本,为了保证您的服务权益,建议尽快升级到最新的商用版本。 关于如何升级集群,请参见CCE集群升级指导。 关于CCE集群的版本机制,请参见Kubernetes版本策略。 父主题: 集群版本公告
  • 场景描述 CSS 服务默认给7.1.1、7.6.2和7.10.2版本的Elasticsearch集群安装了开源OpenDistro告警插件(opendistro_alerting),该插件具备Dashboard、Monitors、Destinations三个组件,并在Destinations组件中支持通过 SMN 服务发送告警通知。使用OpenDistro告警插件时,Elasticsearch集群需要通过SMN发送通知,这要求进行服务授权配置,服务授权是指允许CSS服务代理使用其他云资源,例如授权使用SMN服务资源,从而使CSS集群能够发送SMN 消息通知 。有关OpenDistro告警插件的官方文档,请参见OpenDistro-Monitors。
  • 授权使用SMN服务 通过CSS服务的管理员账号登录 云搜索 服务管理控制台。 在左侧导航栏选择“服务授权”。 在服务授权页面,单击“创建SMN委托”,在弹窗中确认委托创建成功。 如果已经创建过委托,则右上角会提示“css_smn_agency exist, no need to created.”。 如果无创建权限,则右上角会提示“当前用户没有操作权限,请通过 IAM 检查账户权限!”,请确认该管理员账号是否配置了IAM使用权限。
共100000条