华为云用户手册

  • AI原生应用引擎应用场景 面向不同的企业需求,AI原生应用引擎提供不同的功能服务。 例如,智能对话、以文搜图、NL2SQL等通用应用场景,可在AI原生应用引擎体验各大模型推理云服务,并通过可视化画布流程编排进行业务集成。 细分领域如金融、电网场景,需要对推理结果进行定制调整,则可在AI原生应用引擎使用模型在线微调训练功能,快速生成行业场景定制模型服务,满足用户特定需求。 对话沟通 针对客户服务和销售团队,通过对话沟通,快速理解并响应客户的需求,以提供高效的解决方案或产品信息。这包括了使用CRM系统进行客户管理、利用即时通讯工具与客户进行互动、进行销售拓展,以及提供定制化的服务方案,旨在提高客户满意度和忠诚度。 内容创作 可应用于市场营销和品牌传播部门。根据目标受众的偏好和需求,创作吸引人的营销文案、视频剧本和故事内容,包括市场研究、内容策划、以及利用各种数字媒体平台发布和推广内容。帮助企业增强品牌影响力,提高用户参与度和品牌忠诚度。 分析控制 针对数据分析和业务智能部门,利用先进的数据分析工具和算法,从海量数据中提取有价值的信息,帮助企业做出基于数据的决策。包括客户行为分析、市场趋势预测、以及优化业务流程等。帮助企业提高运营效率,降低成本,同时为客户提供更加个性化的服务。 父主题: AI原生应用引擎简介
  • AI原生应用引擎基本概念 使用之前,请先了解表1中相关概念,从而更好的使用AI原生应用引擎。 表1 基本概念说明 基本概念 说明 Agent Agent指具备自主智能的实体,具有一定的智能和自主性,可以自主地发现问题、设定目标、构思策略、执行任务等。 技能 技能是在自动化和人工智能领域的应用程序。能够自动地执行一些任务或提供一些服务,如客户服务、数据分析、信息传输、智能助手、自动回复等。 智能编排 智能编排是一种基于人工智能技术的自动化流程编排工具,通过分析业务流程,自动构建流程模型,并根据预设规则自动化执行流程,从而提高工作效率和准确性。 ClickHouse ClickHouse是一个开源的分布式列式数据库管理系统,主要用于在线分析处理(OLAP)场景。它具有高性能、高可靠性、高可扩展性等特点,可以处理海量数据,支持复杂的查询和数据分析操作。ClickHouse支持SQL语言,同时还提供了许多扩展功能,如数据压缩、数据分区、分布式查询等。它被广泛应用于互联网企业、金融、电商、游戏等领域。 节点数 节点数是指在一个特定的环境中,例如测试或生产环境,需要部署的节点数量。 镜像名称 用于标识环境配置的镜像。 镜像版本 用于区分一个镜像库中不同的镜像文件所使用的标签。 资源规格 指根据不同的环境类型和用途,对服务器的 CPU 、内存、数据盘等硬件资源进行合理分配和管理的过程。例如,开发环境的资源规格可能会比生产环境的小,而性能测试环境的资源规格可能会更大,以满足其对硬件资源的需求。 容器端口 容器端口是指在容器内部运行的应用程序所监听的网络端口。容器是一种虚拟化技术,它可以将应用程序及其依赖项打包在一起,形成一个独立运行的环境。在容器内部,应用程序需要监听一个或多个网络端口,以便与外部系统进行通信。 服务端口 服务端口是计算机网络中用于标识应用程序的端口号,它是一个16位的整数,范围从0到65535。在一个计算机上,可以同时运行多个应用程序,每个应用程序都需要一个唯一的端口号来标识自己。当一个应用程序需要接受网络请求时,它会监听自己的端口号,等待来自网络的连接请求。当连接请求到达时,应用程序会接受连接并开始处理请求。 推理单元 推理单元是指计算机系统中的一个模块,用于进行逻辑推理和推断。其主要功能是根据已知的事实和规则,推导出新的结论或答案。 推理单元常常被用于解决问题、推理、诊断、规划等任务。它可以帮助计算机系统自动推理出一些结论,从而实现智能化的决策和行为。推理单元通常包括知识表示、推理机和推理策略三个部分。知识表示用于将事实和规则以一定的形式表示出来,推理机则用于实现推理过程,推理策略则用于指导推理机的搜索和推理方向。 大语言模型 大语言模型是一种能够理解和生成人类语言的人工智能模型。这些模型通常使用大量的数据进行训练,以便它们能够识别语言中的模式和规律。大语言模型的应用范围非常广泛,包括 自然语言处理 机器翻译 语音识别 、智能问答等领域。 向量化模型 向量化模型是将文本数据转换为数值向量的过程。常用于将文本转换为机器可以处理的形式,以便进行各种任务,如文本分类、情感分析、机器翻译等。 多模态模型 多模态模型是指能够处理多种类型数据(如文本、图像、音频等)的机器学习模型。这些模型可以将不同类型的数据进行融合和联合分析,从而实现更全面的理解和更准确的预测。多模态模型的应用非常广泛,例如在图像识别中,可以将图像和文本信息结合起来,提高图像识别的准确性;在自然语言处理中,可以将文本和语音信息结合起来,提高文本语义理解的准确性。 LoRA Low-Rank Adaptation,低秩适应,是一种将预训练模型权重冻结,并将可训练的秩分解矩阵注入Transformer架构每一层的技术,该技术可减少下游任务的可训练参数数量。 Loss曲线 Loss曲线是一个用于评估模型训练效果的工具,它展示了模型在训练过程中产生的损失(Loss)随时间的变化情况。通过观察Loss曲线,可以了解模型的收敛效果、参数的敏感性和有效性。 父主题: AI原生应用引擎简介
  • 开发中心工作台介绍 开发中心工作台首页界面区分开发中心用户和非开发中心用户有所不同: 开发中心用户进入工作台如图1所示。 图1 开发中心工作台首页(开发中心用户视角) 一站式开发功能地图 在图1的“一站式开发功能地图”区域,根据工作场景,指引了应用开发的主流是操作,同时鼠标光标移至各流程环节图标上时,可查看该环节相关的岗位人员角色及其参与的活动。 常用功能 常用功能模块的快捷入口,单击功能名称可快捷跳转到相应的功能操作界面。 开发插件及示例代码 在该区域可总览常用的开发插件,单击“更多”,可快捷跳转至开发插件库页面,获取更多开发插件及示例代码。 我的团队 在图1的“我的团队”区域,可快捷管理团队信息,相关操作详见表1。 表1 我的团队相关操作 操作 说明 创建团队 单击“我的团队”区域右上角“创建团队”。 在“创建团队”页面,设置团队相关参数,包括团队名称、团队归属部门、关联服务、团队 LOG O、团队简介。 单击“创建”。 在“我的团队”区域可查看到创建的团队的卡片。 关注团队 单击“我的团队”区域右上角“关注团队”。 在“关注团队”页面的“团队列表”中,单击需要添加的团队名称右侧的“关注”。 在“我的团队”列表中可查看到此新关注的团队卡片。 设置默认团队 选中“我的团队”区域内团队卡片左下角的“设为默认”,可将此团队设置为默认团队,此默认团队将置顶显示在开发中心团队空间中的团队首位。 移出团队 单击“我的团队”区域内团队卡片右下角的“移出”,可将此团队从我的团队列表移出,我的团队列表中将不显示此团队。移出后通过右上角“添加团队”可再次添加到我的团队。 非开发中心用户进入工作台如图2所示,请先根据界面提示单击“用户管理”添加开发中心的访问权限,具体操作请参见管理AppStage开发中心用户。 图2 开发中心工作台首页(非开发中心用户视角)
  • AI原生应用引擎功能介绍 AI原生应用引擎的主要功能如表1所示。 表1 AI原生应用引擎功能介绍 主要功能 功能简介 Agent管理 提供自定义创建、开发、发布、取消发布AI应用,还可以对自己收藏的AI应用进行运行调试等。用户可以将自己在AI资产中心关注或后续计划使用的AI应用、技能(工具)进行收藏或取消收藏。 AI应用体验 将平台预置的应用和用户自己创建的应用进行API调测,帮助开发人员发现并解决应用接口上的问题和错误。 数据管理 平台纳管了用户自定义的和平台预置的数据集,用户使用这些数据集进行模型训练、知识库构建等,快速完成平台使用并验证模型训练效果。 模型管理 用户可以将平台预置模型通过创建模型微调流水线生成微调的模型,还可以创建模型服务及调测模型,检验模型的准确性、可靠性及反应效果。 提示语管理 用户可以将自己创建的、收藏的及平台预置的提示语模板进行优化和改进。 知识库管理 用户可以自定义创建并管理知识库,用于组织和管理大量的数据信息,且创建的知识库启用后可在创建及管理Agent时引用。 父主题: AI原生应用引擎简介
  • AppStage开发中心功能介绍 开发中心的主要功能如表1所示。 表1 开发中心功能介绍 主要功能 功能简介 团队管理 团队和成员管理,团队所属部门、关联服务等信息配置以及成员的新增、修改和删除。 版本管理 需求和业务规划,制定版本计划,跟踪交付任务,跟踪发布上线。 需求管理 需求管理流程覆盖需求的收集、分析、评审、排序、分发、实现、验证、确认的全过程。 代码管理 提供分布式代码管理和协同开发能力,包括代码托管、代码检查、代码审核、代码追溯、持续集成等功能。 流水线管理 将产品需求纳入流水线进行需求设计、开发、验证,最终通过软件包将实现的用户需求交付给下游。 缺陷管理 从缺陷的发现和提出,到分析定位、实施修复,再到测试和验收,最终导向缺陷的闭环。 部署发布管理 版本发布后自动推送、自动部署,实现从开发到发布、部署、运行全生命周期可追溯。 效能管理 提供从需求、缺陷、代码、构建、测试、部署、发布到运营等研发各阶段作业数据的分析洞察能力。 父主题: AppStage开发中心简介
  • AppStage开发中心应用场景 互联网SaaS开发运营 在面对市场高速变化、产品盈利窗口窄时,经常由于研发工具难以满足项目实际需求,导致难以及时交付高质量的产品给客户;应用平台提供一站式工具链,覆盖应用开发各个环节,支持云上开发运维一体化,同时提供各种开发插件提升SaaS开发效率,帮助用户业务成功。 研发流程和知识能力沉淀 企业在面对云原生和数字化转型过程中,被动式的工具堆砌,缺少体系化的工具能力和持续的研发知识沉淀,研发工具能力建设影响业务的发展。应用平台开发中心通过一站式工具链实现流程Build In,提供海量研发资产模板,帮助客户实现研发的持续反馈和能力沉淀,提升研发能力和效率。 父主题: AppStage开发中心简介
  • AppStage开发中心基本概念 基本概念 说明 产能 产能原指在一定时间内,企业所能生产的产品或提供的服务的数量。开发中心中特指版本开发团队每天能提供的开发人员的数量。 Scrum 增量迭代式的软件开发方法,通过最重要的迭代计划会议、每日站会、迭代回顾、验收会议来进行简单高效的管理。 IPD-系统设备类 面向系统设备类产品开发场景的IPD需求管理方法,通过结构化流程、强大的跨项目协作能力来对大型产品开发进行高质高效的管理。 IPD-独立软件类 面向独立软件类开发场景的IPD需求管理方法,通过结构化流程、强大的跨项目协作能力来对大型软件开发进行高质高效的管理。 IPD-自运营软件/云服务类 面向云服务软件类开发场景的IPD需求管理方法,通过端到端客户价值需求管理、灵活轻便的敏捷规划、强大的跨项目协作能力来对云服务软件进行高质高效的管理。 开发插件 开发插件是一种软件应用程序,用于开发、编译、调试和部署软件。IDE通常包含代码编辑器、编译器、调试器和其他开发工具,以提供一个集成的开发环境,方便开发人员进行软件开发工作。 内建质量 内建质量指在产品或服务设计和开发过程中,将质量要求和标准纳入到产品或服务的设计和开发中,从而在产品或服务最初的构建阶段就实现了质量控制。这样做可以避免在后续阶段出现质量问题,提高产品或服务的可靠性和稳定性。 父主题: AppStage开发中心简介
  • 使用流程 参考图1和表1可帮助您快速上手开发中心的主流程和核心功能。 图1 开发中心使用流程 表1 使用流程详解 序号 流程环节 说明 参与角色 1 管理团队 添加开发中心用户 开发中心的用户数根据购买规格有相应的用户数量限制,组织管理员通过用户的添加或删除来合理管理开发中心的使用人员。 组织管理员 创建团队 在开发中心进行服务开发前,需要组织管理员先创建一个团队,将团队关联需要开发的服务。 配置服务扩展信息 将团队关联服务后,还需将团队关联的服务关联CodeArts项目,后续的服务开发管理过程中才能正常使用CodeArts服务的代码托管、流水线、编译构建功能。 添加团队成员 在团队多用户协作开发过程中,不同角色成员执行各自权限和责任事项,因此需要在团队中添加协作开发的各角色成员(项目经理、开发人员、测试人员等),实现统一有序的成员信息管理。 项目经理 2 规划版本 创建版本 创建版本的基本配置信息以及选择版本开始和结束时间。 规划交付件 在版本开发启动初期对产品开发过程所需的交付件进行规划,以辅助开发过程规范有序且可追溯。 录入需求 使用内置的多种开箱即用的场景化需求模型和对象类型录入版本开发相关的需求/任务。 规划版本补丁(补丁类型的版本) 针对版本类型为补丁类型的版本规划需要解决的补丁(缺陷)。 3 开发版本 创建代码仓 开发人员进行代码开发前,需要先创建代码仓库用于托管代码。 项目经理 下载代码到本地 开发人员进行代码文件的操作前,需要使用Git Bash客户端和TortoiseGit客户端下载代码仓库文件到本地环境中。 开发人员 安装插件 开发人员可下载代码开发所需的开发工具,如WiseStudio 插件、Nuwa 插件、Wushan 插件等,然后进行安装。 开发代码 开发代码的详细指导请参见《开发指南》。 提交代码到代码仓 开发人员在本地完成业务代码编写后,需要提交代码文件至代码仓库。 管理交付件 进行交付件管理等,保证版本开发过程阶段性成果沉淀以及过程可追溯。 项目经理 4 构建版本 配置流水线 根据业务需要,如开发测试环境应用部署、生产环境应用部署等,对这些自动化任务进行自定义编排,一次配置后就可以一键自动化触发调度执行。 开发人员 代码安全检视 进行安全编码TOP问题的信息统计和检查结果录入。 5 测试版本 缺陷管理 对于版本测试过程发现的缺陷进行记录、跟踪、分析和解决。 开发人员 测试人员 测试评估 编辑总体测试结论、系统预置的测试类型结论,新增和管理自定义测试类型的测试结论,以及新增和管理版本关键风险问题。 6 发布版本 标准发布 待版本开发及编译构建完成,且发布准入检查项均通过后,可由开发人员、测试人员或项目经理提交标准发布申请,待项目经理审批通过后,将软件版本发布到对应的部署平台。 开发人员 测试人员 项目经理 调测发布 在版本标准发布(即正式发布)前,可先执行调测发布进行环境调测。
  • 为什么使用AppStage开发中心 开发中心提供全场景一站式作业平台,承载端到端研发作业流,提供涵盖软件研发全生命周期的研发工具链和研发管理服务。以团队为中心,通过单点登录、精准链接等方式深度集成CodeArts需求管理、代码托管、流水线、缺陷管理四个工具的功能,基于服务版本维度提供从需求、设计、开发、测试、部署发布全场景一站式研发门户,实现精细化项目管理,掌握和处理项目全量信息,支撑研发角色统一在一站式门户协同工作,提升团队研发效率。 父主题: AppStage开发中心简介
  • 国际站接受哪些货币? 国际站产品支持以美金 定价 ,根据下方的表格,不同的签约主体结算币种可选范围不一样。 表1 签约主体及结算货币说明 签约主体名称 结算货币 SPARKOO TECHNOLOGIES SOUTH AFRICA (PTY) LTD ZAR 南非兰特 Sparkoo Technologies (Thailand) Co., Ltd. THB 泰铢 SPARKOO TECNOLOGIAS DO BRASIL LTDA BRL 巴西雷亚尔 SPARKOO TECHNOLOGIES PERU S.A.C. PEN 秘鲁索尔 Sparkoo Technologies Chile SpA. CLP 智利比索 Sparkoo Technologies Arabia Co., Ltd. SAR 沙特里亚尔 Sparkoo Technologies Singapore Pte. Ltd. EUR 欧元 SGD 新加坡元 CNY 人民币 HKD 港元 JPY 日元 Sparkoo Technologies Hong Kong Co., Limited HKD 港元 CNY 人民币 EUR 欧元 JPY 日元 SGD 新加坡元 父主题: 支持货币和支付方式
  • 国际站客户购买华为云中国大陆Region云服务接受哪些结算货币? 国际站产品支持以美金定价,根据下方的表格,不同的签约主体结算币种可选范围不一样。 表1 签约主体及结算货币说明 签约主体名称 结算货币 SPARKOO TECHNOLOGIES SOUTH AFRICA (PTY) LTD ZAR 南非兰特 Sparkoo Technologies (Thailand) Co., Ltd. THB 泰铢 SPARKOO TECNOLOGIAS DO BRASIL LTDA BRL 巴西雷亚尔 SPARKOO TECHNOLOGIES PERU S.A.C. PEN 秘鲁索尔 Sparkoo Technologies Chile SpA. CLP 智利比索 Sparkoo Technologies Arabia Co., Ltd. SAR 沙特里亚尔 Sparkoo Technologies Singapore Pte. Ltd. EUR 欧元 SGD 新加坡元 CNY 人民币 HKD 港元 JPY 日元 Sparkoo Technologies Hong Kong Co., Limited HKD 港元 CNY 人民币 EUR 欧元 JPY 日元 SGD 新加坡元 父主题: 国际站客户购买中国大陆Region云服务
  • 真实性核验工作新要求需要做什么? 网站负责人在进行真实性核验时,除了按照系统提示完成真实性核验,还需执行如下操作: 签署《ICP备案信息真实性责任告知书》及《ICP备案信息真实性承诺书》,并上传至备案系统。 录制网站负责人诵读《ICP备案信息真实性承诺书》的视频,并上传至备案系统。 如果主体负责人、网站负责人不是单位法人代表,还需提供《主体负责人法人授权书》、《网站负责人法人授权书》,并上传至备案系统。 父主题: 江苏省ICP备案真实性核验工作新要求
  • 验证码发送原则 验证码仅发送至备案信息中填写的主体负责人、网站或APP负责人手机号码中,具体以表1为准。 表1 备案类型短信验证说明 备案类型 短信核验对象 备注 新增备案 主体负责人手机号 网站负责人手机号或APP负责人手机号 全部需验证通过。 若主体负责人与网站负责人或APP负责人手机号为同一人,只发送一个验证码(判断标准为手机号码)。 新增接入 网站负责人手机号或APP负责人手机号 接入网站变更主体时, 还需验证主体负责人的手机号。 接入APP变更主体时,还需验证主体负责人的手机号。 新增网站或APP 网站负责人手机号或APP负责人手机号 新增网站变更主体时,主体、网站负责人都需进行短信验证。 新增APP变更主体时,需要验证主体负责人的手机号。 新增APP主体无变更时,无需短信验证。 变更备案 仅主体变更:主体负责人手机号 仅网站变更:网站负责人手机号 仅APP变更:APP负责人手机号 主体和网站均变更:主体负责人手机号、网站负责人手机号 主体和APP均变更:主体负责人手机号、APP负责人手机号 若变更手机号码,需同时向备案系统提交新的手机号码信息,通信管理局审核通过后再进行短信核验工作。 注销主体 主体负责人手机号 当有特殊原因需要注销其他单位备案信息或需要注销空壳主体的备案信息时,无法直接在互联网信息服务备案系统中进行注销,需向备案所在地的通信管理局提交书面申请,进行线下注销。 注销网站 网站负责人手机号 注销APP APP负责人手机号 取消接入 不验证。 无 备案信息提交管局通知后,5分钟左右即可收到验证短信。如没有收到,您也可以登录工信部网站,手动重新发送验证短信,系统最多可以重发2次短信验证码。 具体操作指导请参见短信重发操作步骤。 验证码为6位数字,请谨慎输入。连续5次输入错误短信核验的任意信息,在第6次输入验证时系统将自动退回您的备案申请。 验证码发送号码为12381或106**********12381。为保证顺利收到短信通知,建议您不要设置短信拦截功能。
  • 服务异常修复 诊断异常的服务,需要先手动修复异常状态的手动处理项,再一键修复可自动处理项。 在诊断状态为异常的服务下单击“处理”,若手动处理项有异常,根据修复指导进行手动修复。 图2 手动处理项 手动修复异常状态的手动处理项后,单击“下一步”进入自动修复项页面,单击“一键修复”,自动处理异常状态的检查项。 图3 自动处理项 如果自动处理无法修复状态异常的检查项,请根据修复指导进行手动修复。 已配置网关或创建灰度发布的服务可能因为Service的端口名称被修改而出现异常,此时不支持进行一键修复。 如果服务未在服务列表中展示,请检查对应的工作负载是否存在。
  • 扁平网络 扁平网络指的是两个或多个Kubernetes集群的Pod之间能够直接访问,而无需通过其他组件转发,能够提供更高的通信效率。 图1 扁平网络 使用扁平网络对Kubernetes集群的网络模型、网络连通性、规划网段有一定的约束: 所有集群必须使用容器对接ENI的网络模型,通过VPC的路由实现Pod之间跨集群通信。支持CCE集群和 CCE Turbo 集群。如果使用CCE集群,在创建时,网络模型需要选择“VPC网络”;如果使用CCE Turbo集群,在创建时,网络模型需要选择“云原生网络2.0”。 集群的网络类型可参考:集群网络构成。 所有集群VPC之间需要互通,可以处于同一VPC内,也可以将多个集群的VPC通过其他方式(对等连接、云连接等)连通。如果集群处于不同VPC内,要注意VPC的网段之间不要冲突。 对等连接可参考:创建同一账户下的对等连接。 云连接可参考:同区域同账号VPC互通。 所有集群要有统一的网络规划,所有集群的容器网段、服务网段之间不能冲突。如果多个集群处于不同VPC,那么所有集群的VPC网段也不能冲突。同时,以上网段不能和网格控制面网段冲突。
  • 扁平网络和非扁平网络集群混合场景 图3 扁平网络和非扁平网络混合部署 为了减少运维负担,不建议扁平网络和非扁平网络的集群混合加入ASM网格中,如果必须混合部署,有以下使用约束: 所有扁平网络的集群必须使用容器对接ENI的网络模型,对非扁平网络的集群没有特殊要求。 所有集群VPC之间的网络需要互通,可以处于同一VPC内,也可以将多个集群的VPC通过其他方式(对等连接、云连接等)连通。如果集群处于不同VPC内,要注意VPC的网段之间不要冲突。 对等连接可参考:创建同一账户下的对等连接。 云连接可参考:同区域同账号VPC互通。 所有集群(包括非扁平网络)的容器网段、服务网段之间不能冲突。例如:混合网络拓扑场景下,CCE集群Cluster1为扁平网络拓扑,CCE集群Cluster2为非扁平网络拓扑,那么Cluster1的容器网段、服务网段不能和Cluster2的容器网段、服务网段冲突,即使Cluster2集群为非扁平网络拓扑。 如果多个集群处于不同VPC,那么所有集群的VPC网段也不能冲突。同时,以上网段不能和网格控制面网段冲突。
  • 非扁平网络 非扁平网络指的是两个或多个Kubernetes集群的Pod之间因为网络模型不支持、容器网段冲突等原因无法直接通信,而是通过一个东西向流量的转发网关,实现非扁平网络集群间的通信。 图2 非扁平网络 相比于扁平网络,非扁平网络的使用约束少: 所有集群VPC之间的网络需要互通,可以处于同一VPC内,也可以将多个集群的VPC通过其他方式(对等连接、云连接等)连通。 对等连接可参考:创建同一账户下的对等连接。 云连接可参考:同区域同账号VPC互通。 非扁平网络对用户集群的网络模型没有特别的要求,用户集群只需要将Gateway地址暴露出来,供其他集群访问即可。但是因为使用集中的流量入口,性能瓶颈主要集中在网关上,而且多一次的转发,会对通信时延产生一定的影响。 在ASM控制台为网格添加集群时,需要为集群配置一个东西向流量的私网ELB,作为其他集群的访问入口。
  • 操作步骤 登录应用服务网格控制台,单击服务网格的名称,进入网格详情页面。 在左侧导航栏选择“网关管理”,在需要添加路由的网关所在行,单击操作列的“添加路由”,配置如下参数。 URL匹配规则 前缀匹配:例如映射URL为/healthz,只要符合此前缀的URL均可访问。例如/healthz/v1、/healthz/v2。 完全匹配:只有完全匹配上才能生效。例如映射URL为/healthz,则必须为此URL才能访问。 支持通过YAML方式配置正则匹配规则,修改VirtualService配置文件即可: ... http: - delegate: name: nginx-80 namespace: default match: - uri: regex: /do[a-z]*/ ... 如上所示,“regex”表示按正则表达式方式匹配URL,注意URL必须以“/”开头。 URL 服务支持的映射URL,例如/example。 同一网关下的URL配置不能相同。 命名空间 服务网关所在的命名空间。 目标服务 添加网关的服务,直接在下拉框中选择。目标服务会根据对应的网关协议进行过滤,过滤规则请参见添加路由时,为什么选不到对应的服务?。 配置诊断失败的服务无法选择,需要先根据手动修复项或自动修复项进行修复。 访问端口 仅显示匹配对外协议的端口。 重写 (对外协议为HTTP/HTTPS时可配置) 重写HTTP/HTTPS的URI和Host/Authority头,于转发前执行。默认关闭。开启后,需要配置如下参数: URI:使用此值重写URI的路径(或前缀),如果原始URI是基于前缀匹配,那么将替换相应匹配的前缀。 Host/Authority头:使用此值重写HTTP/HTTPS的Host/Authority头。 域名 单独配置路由 为网关中某个域名单独配置路由规则。 图1 添加路由 配置完成后,单击“确定”。
  • 操作步骤 登录应用服务网格控制台,使用以下任意一种方式进入添加集群页面。 (快捷方式)在企业版网格右上方,单击图标。 在企业版网格详情页,单击左侧导航栏的“网格配置”,在“基本信息”页签单击“添加集群”。 设置集群信息。 集群配置 在集群列表中选择集群,或在列表右上角输入集群名称搜索需要的集群。勾选后,系统自动校验集群是否符合添加要求,若校验不通过,会以图标标识,鼠标放上去可以查看校验不通过的原因以及解决方案。具体内容可参考集群校验报错常见场景及解决方案。 如果当前没有可用集群,需要先创建集群后,再进行添加,详情可参考购买CCE集群。 选择好集群后,按照集群的网络模型或实际的通信需求选择集群的网络类型(要求网格版本为1.8.4-r3及以上)。网络类型分为扁平网络和非扁平网络,如果是非扁平网络,还要为集群配置一个东西向流量的私网ELB,作为其他集群的访问入口。 关于扁平网络和非扁平网络的介绍以及如何选型请参见扁平网络和非扁平网络;选择非扁平网络时,如果查询不到ELB,请参考企业版网格添加集群时,选择非扁平网络,为什么查询不到ELB?进行排查。 sidecar配置 选择命名空间:为命名空间设置标签istio-injection=enabled,其中的Pod在重启后会自动注入istio-proxy sidecar。 是否重启已有服务:如果开启(即重启已有服务),会自动注入istio-proxy sidecar,业务将会暂时中断。 可观测性配置 继承自网格配置,不可修改。 设置完成后,单击“确定”。 添加集群大约需要一分钟,请耐心等待。添加完成后,返回网格详情页面可查看到添加的集群信息。
  • 约束与限制 目前支持v1.15、v1.17、v1.19和v1.21版本的集群加入企业版网格。 不支持安全容器类型的CCE Turbo集群添加至网格。 同一网格最多只能添加五个集群。 同一虚拟私有云的集群只能加入同一个网格。 为了满足高可用的要求,集群需要至少包含两个可用节点,每个节点至少保证有2U4G的可用资源。 集群的服务网段、容器网段不能和网格内已有集群的服务网段、容器网段冲突。如果集群和网格内的已有集群处于不同的VPC,集群的子网网段也不能冲突。 如果实例(Pod)需要跨集群通信,集群需要使用ENI网络模型,且集群之间网络互通,可以处于同一VPC内,也可以将多个集群的VPC通过其他方式(对等连接、云连接等)连通。网络连通请参见如何通过对等连接打通两个集群的VPC网络,实现实例跨集群通信?。 CCE集群和CCE Turbo集群混合多集群场景,CCE集群服务访问Turbo集群服务时,需要为Turbo集群的ENI安全组入方向放通CCE集群的容器网段,否则会访问不通。具体操作请参见CCE集群服务访问CCE Turbo集群服务时,如何配置安全组规则?。
  • 配置sidecar资源限制 支持为sidecar(即istio-proxy容器)配置CPU和内存的资源上下限。同一个节点上部署的工作负载,对于未设置资源上下限的工作负载,如果其异常资源泄露会导致其他工作负载分配不到资源而异常。未设置资源上下限的工作负载,工作负载监控信息也会不准确。 默认的sidecar资源上下限为: CPU(Core):最小 0.1,最大 2 MEM(MiB):最小 128,最大 1024 如需更改,请参考以下操作: 单击工作负载操作列的“sidecar资源限制”,也可以勾选多个工作负载,在列表左上角单击“sidecar资源限制”进行批量配置。 图2 sidecar资源限制 CPU最小值:也称CPU请求,表示容器使用的最小CPU需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配CPU总量 ≥ 容器CPU请求数时,才允许将容器调度到该节点。 CPU最大值:也称CPU限制,表示容器能使用的CPU最大值。 MEM最小值:也称内存请求,表示容器使用的最小内存需求,作为容器调度时资源分配的判断依赖。只有当节点上可分配内存总量 ≥ 容器内存请求数时,才允许将容器调度到该节点。 MEM最大值:也称内存限制,表示容器能使用的内存最大值。当内存使用率超出设置的内存限制值时,该实例可能会被重启进而影响工作负载的正常使用。
  • sidecar注入 可展示当前已注入sidecar的命名空间及所属集群。如果还未做过注入操作,或者需要为更多命名空间注入sidecar,请参考以下操作: 登录应用服务网格控制台,单击服务网格的名称,进入网格详情页面。 在左侧导航栏选择“网格配置”,单击“sidecar管理”页签。 单击“sidecar管理”,选择命名空间,判断是否重启已有服务,单击“确定”。 图1 注入sidecar 选择命名空间:选择一个或多个命名空间,系统将为命名空间设置标签istio-injection=enabled。 是否重启已有服务: :会重启命名空间下已有服务关联的Pod,将会暂时中断业务。只有在重启后,已有服务关联的Pod才会自动注入istio-proxy sidecar。 :已有服务关联的Pod不会自动注入istio-proxy sidecar,需要在CCE控制台,手动重启工作负载才会注入sidecar。是否重启已有服务只会影响已有服务,只要为命名空间设置了istio-injection=enabled标签,后面新建的服务实例都会自动注入sidecar。 流量拦截配置 默认情况下,ASM所注入的sidecar会拦截所有入方向和出方向流量,可通过流量拦截配置修改默认的流量拦截规则。 入方向端口:可用于配置端口级别拦截规则,生效于网格服务的内部端口,以逗号分隔入站端口。 仅拦截指定端口表示访问网格服务指定端口范围内的请求将被重定向到sidecar中。 仅排除指定端口表示访问网格服务的请求,除端口范围外的请求将被重定向到sidecar中。 出方向端口:可用于配置端口级别拦截规则,生效于网格服务对外访问的流量方向上,以逗号分隔出站端口。 仅拦截指定端口表示网格服务访问指定端口范围内的请求将被重定向到sidecar中。 仅排除指定端口表示网格服务对外访问的请求,除指定端口范围外的流量都将被重定向到sidecar中。 出方向网段:可用于配置网段级别拦截规则,生效于网格服务对外访问的流量方向上,以逗号分隔 IP ,以 CIDR 形式表示。 仅拦截指定网段表示指定网段范围内的流量将被重定向到sidecar中。 仅排除指定网段表示除指定网段范围外的流量将被重定向到sidecar中。 若界面提示“以下集群未开放命名空间注入修改操作”,可能因为当前网格是通过1.0控制台创建的,默认不开放命名空间注入,需要通过kubectl命令行开放,具体操作请参见如何为集群开放命名空间注入?。 为集群的命名空间开启sidecar注入后,该命名空间下所有工作负载关联的Pod将自动注入sidecar。如果某些工作负载不希望注入sidecar,可参考某些工作负载不注入sidecar,该如何配置?进行配置。
  • 操作步骤 登录应用服务网格控制台,单击服务网格的名称,进入网格详情页面。 在左侧导航栏选择“服务管理”,选择需要更改流量策略的服务,单击操作列的“流量治理”,在右侧页面进行流量策略更改。 接下来,以Bookinfo应用的reviews服务为例,结合 APM 应用性能管理 )的监控拓扑图来描述负载均衡算法更改前后的配置效果。 负载均衡算法为“轮询调度”时,不断访问productpage页面,观察流量如何分发。 进入“流量监控”页面,鼠标右键单击reviews服务,选择“展开”选项,这时可以看到所有实例的被分发情况。 从下图可以看出,请求依次分发给reviews的5个实例。这与负载均衡“轮询调度”算法相吻合。 在“负载均衡”页签中,单击“立即配置”,将负载均衡算法修改为“随机调度”。 图1 修改负载均衡算法 不断访问productpage页面,观察流量分发情况。 可以发现流量分发没有什么固定规律,各个实例的访问次数参差不齐,说明随机算法已经生效。
  • 创建JWT认证 创建JWK。 访问JWT工具网站,选择“Algorithm”为“RS512”,获取公钥(PUBLIC KEY)。 图1 生成公钥 在JWK to PEM Convertor online工具中选中“PEM-to-JWK (RSA Only)”,输入上一步获取的公钥,单击“submit”,将公钥转换为JWK。 图2 将公钥转换为JWK {"kty":"RSA","e":"AQAB","kid":"a78641b9-d81e-4241-b35a-71726c3fa053","n":"u1SU1LfVLPHCozMxH2Mo4lgOEePzNm0tRgeLezV6ffAt0gunVTLw7onLRnrq0_IzW7yWR7QkrmBL7jTKEn5u-qKhbwKfBstIs-bMY2Zkp18gnTxKLxoS2tFczGkPLPgizskuemMghRniWaoLcyehkd3qqGElvW_VDL5AaWTg0nLVkjRo9z-40RQzuVaE8AkAFmxZzow3x-VJYKdjykkJ0iT9w CS 0DRTXu269V264Vf_3jvredZiKRkgwlL9xNAwxXFg0x_XFw005UWVRIkdgcKWTjpBP2dPwVZ4WWC-9aGVd-Gyn1o0CLelf4rEjGoXbAAEgAqeGUxrcIlbjXfbcmw"} 创建JWT认证。 登录应用服务网格控制台,单击网格名称,进入网格详情页面。 在左侧导航栏选择“服务管理”,在列表右上方选择服务所在命名空间。 选择httpbin服务,单击操作列的“安全”,在右侧页面选择“JWT认证”页签,单击“立即配置”,在弹出的“JWT认证”页面填写如下信息: 发行者:JWT的颁发者,本文设置为“test”。 令牌受众:JWT受众列表,设置哪些服务可以使用JWT Token访问目标服务,本文设置为“ASM”。 jwks:设置JWT信息,本文设置为{"keys": [1创建的JWK]},例如1创建的JWK为{"kty":"RSA","e":"AQAB","kid":"a78641b9-d81e-4241-b35a-71726c3****"},则jwks为{"keys": [{"kty":"RSA","e":"AQAB","kid":"a78641b9-d81e-4241-b35a-71726c3****"}]}。 图3 创建JWT认证 单击“确定”完成创建。
  • 验证JWT认证是否生效 使用JWT工具将JWT请求信息编码成JWT Token。 在“Decoded”区域输入以下JWT请求信息,在“Encode”区域将看到自动转换后的JWT Token。 HEADER:设置alg为“RS512”,输入1创建的JWK中的kid,设置type为“JWT”。 PAYLOAD:设置iss为“test”,aud为“ASM”,确保与2中配置的发行者、令牌受众保持一致。 VERIFY SIGNATURE:与1.a中的公钥保持一致。 图4 创建JWT Token 通过入口网关访问httpbin服务。 执行以下命令,带1创建的JWT Token访问服务。 TOKEN=1创建的JWT Token curl -I -H "Authorization: Bearer $TOKEN" http://{httpbin服务的外部访问地址}/ 预期输出: HTTP/1.1 200 OK server: istio-envoy date: Wed, 21 Sep 2022 03:11:48 GMT 执行以下命令,带无效的JWT Token访问服务。 curl -I -H "Authorization: Bearer invalidToken" http://{httpbin服务的外部访问地址}/ 预期输出: HTTP/1.1 401 Unauthorized www-authenticate: Bearer realm="http://***.***.***.***:***/", error="invalid_token" content-length: 145 content-type: text/plain date: Wed, 21 Sep 2022 03:12:54 GMT server: istio-envoy x-envoy-upstream-service-time: 19 修改2中创建的JWT认证,将令牌受众置空(表示对访问的服务不受限制),然后执行以下命令,带1创建的JWT Token访问服务。 curl -I -H "Authorization: Bearer $TOKEN" http://{httpbin服务的外部访问地址}/ 预期输出: HTTP/1.1 200 OK server: istio-envoy date: Wed, 21 Sep 2022 03:20:07 GMT 执行以下命令,不带JWT Token访问服务。 curl -I http://{httpbin服务的外部访问地址}/ 预期输出: HTTP/1.1 403 Forbidden content-length: 85 content-type: text/plain date: Wed, 21 Sep 2022 03:29:31 GMT server: istio-envoy x-envoy-upstream-service-time: 6 根据以上结果,可以看到带有正确的JWT Token的请求访问服务成功,带有错误的JWT Token或者不带JWT Token的请求访问服务失败,说明请求身份认证生效。
  • 创建灰度发布 登录应用服务网格控制台,使用以下任意一种方式进入创建灰度任务页面。 (快捷方式)在网格右上方,单击图标。 (快捷方式)在网格中心位置,单击“创建灰度任务”。 在网格详情页创建。 单击网格名称,进入网格详情页,单击左侧导航栏的“灰度发布”。 如果当前不存在发布中的灰度任务,请在金丝雀发布或蓝绿发布中单击“立即发布”;如果当前存在发布中的灰度任务,请单击右上角“灰度发布”。 配置灰度发布基本信息。 灰度类型 选择创建灰度发布的类型,可根据实际需求选择金丝雀发布和蓝绿发布,两者的区别可参考灰度发布概述。 灰度任务名称 自定义灰度任务的名称。输入长度范围为4到63个字符,包含小写英文字母、数字和中划线(-),并以小写英文字母开头,小写英文字母或数字结尾。 命名空间 服务所在的命名空间。 灰度发布服务 在下拉列表中选择待发布的服务。正在进行灰度任务的服务不可再进行选择,列表中已自动过滤。 工作负载 选择服务所属的工作负载。 版本号 当前服务版本号,版本号不支持修改。 图1 灰度发布基本信息 部署灰度版本信息。 部署集群 灰度发布服务所属的集群。 版本号 输入服务的灰度版本号。 实例数量 灰度版本的实例数量。灰度版本可以有一个或多个实例,用户可根据实际需求进行修改。每个灰度版本的实例都由相同的容器部署而成。 镜像名称 默认为该服务的镜像。 镜像版本 请选择灰度版本的镜像版本。 自定义镜像 用户可通过自定义镜像自行配置本地或第三方镜像地址,灰度发布镜像将采用所配置镜像。注意需确保自定义镜像地址有效,镜像可拉取。 图2 灰度版本信息 图3 灰度版本信息 单击“发布”,灰度版本开始创建。 请确保灰度版本的实例状态正常,且启动进度为100%时,再开始下一步进行流量策略的配置。发布之后进入观察灰度状态页面,可查看Pod监控,包括启动日志和性能监控信息。 (仅金丝雀发布涉及)单击“配置流量策略”,进行流量策略配置。 策略类型:分为“基于流量比例”和“基于请求内容”两种类型,通过页签选择确定。 基于流量比例 根据流量比例配置规则,从默认版本中切分指定比例的流量到灰度版本。例如75%的流量走默认版本,25%的流量走灰度版本。实际应用时,可根据需求将灰度版本的流量配比逐步增大并进行策略下发,来观测灰度版本的表现情况。 图4 基于流量比例 流量配比:可以为默认版本与灰度版本设置流量配比,系统将根据输入的流量配比来确定流量在两个版本间分发的比重。 基于请求内容 目前支持基于Cookie内容、自定义Header、Query、操作系统和浏览器的规则约束,只有满足规则约束的流量才可访问到灰度版本。例如,仅Cookie满足“User=Internal”的HTTP请求才能转发到灰度版本,其余请求仍然由默认版本接收。 图5 基于请求内容 Cookie内容 正则匹配:此处需要您使用正则表达式来匹配相应的规则。 自定义Header 完全匹配:只有完全匹配上才能生效。例如:设置Header的Key=User,Vaule=Internal,那么仅当Header中包含User且值为Internal的请求才由灰度版本响应。 正则匹配:此处需要您使用正则表达式来匹配相应的规则。 可以自定义请求头的key和value,value支持完全匹配和正则匹配。 Query 完全匹配:只有完全匹配上才能生效。例如:设置Query的Key=User,Vaule=Internal,那么仅当Query中包含User且值为Internal的请求才由灰度版本响应。 正则匹配:此处需要您使用正则表达式来匹配相应的规则。 可以自定义Query的key和value,value支持完全匹配和正则匹配。 允许访问的操作系统:请选择允许访问的操作系统,包括iOS、Android、Windows、macOS。 允许访问的浏览器:请选择允许访问的浏览器,包括Chrome、IE。 流量管理Yaml信息:根据所设置的参数自动生成规则YAML。 基于请求内容流量策略只对直接访问的入口服务有效。如果希望对所有服务有效,需要业务代码对HTTP请求的Header信息进行传播。 例如:如果您基于reviews服务,配置了基于请求内容的灰度发布策略,通过访问productpage服务的界面,是无法看到效果的。 原因是,您的客户端访问productpage服务携带了HTTP请求的Header信息,而productpage服务请求reviews服务时,将这些Header信息丢失了(详情可参考如何使用Istio调用链埋点),从而失去了基于请求内容的灰度发布效果。 设置完成后,单击“策略下发”。 灰度策略的生效需要几秒时间,您可以查看服务的流量监控,以及对原始版本及灰度版本的健康监控。
  • 金丝雀升级原理 ASM基础版网格支持金丝雀升级,金丝雀升级过程中将允许新老网格控制面同时存在,通过在命名空间打上版本对应的标签,可以选择一部分sidecar重启,并连接上新版本的控制面,待所有sidecar都正常连接到新控制面之后下面老版本网格的控制面。 需要注意的是,在部署新网格版本控制面时,istio-ingressgateway和istio-egressgatway的新版本也会同时部署,新老网格版本的网关将同时工作。
  • 操作步骤 登录应用服务网格控制台,确认网格是否需要升级版本。判断方法如下: 列表上方是否提示可升级版本的网格。 网格名称右侧是否存在“可升级”提示。 若存在可升级版本的网格,单击该网格名称,进入网格详情页面。 在左侧导航栏选择“网格配置”,单击“升级”页签。 根据升级路径选择合适的升级方式完成网格升级。 基础版本升级 升级详情请查看金丝雀升级。 企业版补丁更新 单击“补丁更新”,在弹出的提示框中单击“确定”。
  • 升级路径 网格类型 源版本 目标版本 升级方式 企业版 1.8.4-r1 1.8.6-r3 补丁更新(原地升级) 1.8.4-r2 1.8.6-r3 补丁更新(原地升级) 1.8.4-r3 1.8.6-r3 补丁更新(原地升级) 1.8.4-r4 1.8.6-r3 补丁更新(原地升级) 1.8.4-r5 1.8.6-r3 补丁更新(原地升级) 1.8.6-r1 1.8.6-r3 补丁更新(原地升级) 1.8.6-r2 1.8.6-r3 补丁更新(原地升级) 1.6.9-r4 1.6.9-r5 补丁更新(原地升级) 基础版 1.8.x 1.15.7-r1 先版本升级到1.13最新版本(金丝雀升级),再版本升级(金丝雀升级)到1.15.7-r1 1.13.x 1.15.7-r1 版本升级(金丝雀升级)到1.15.7-r1 1.15.5-rx 1.15.7-r1 补丁更新(金丝雀升级)到1.15.7-r1 1.15.x-rx 1.18.7-r1 版本升级(金丝雀升级)到1.18.7-r1 专有版 1.3.0-rx 1.15.7-r3 先迁移至基础版本网格,再版本升级至1.8.6-r4(金丝雀升级),再版本升级(金丝雀升级)到1.13.x最新版本,再版本升级(金丝雀升级)到1.15.7-r3 1.6.9-rx 1.15.7-r3 先迁移至基础版本网格,再版本升级至1.8.6-r4(金丝雀升级),再版本升级(金丝雀升级)到1.13.x最新版本,再版本升级(金丝雀升级)到1.15.7-r3 1.8.4-r1 1.15.7-r3 先迁移至基础版本网格,再版本升级(金丝雀升级)到1.13.x最新版本,再版本升级(金丝雀升级)到1.15.7-r3
  • 编辑已有istio资源 登录应用服务网格控制台,单击服务网格的名称,进入网格详情页面。 在左侧导航栏选择“网格配置”,单击“istio资源管理”页签。 在搜索框中选择istio资源类型(如“istio资源:virtualservices”),以及资源所属命名空间。 图1 筛选istio资源 单击操作列的“编辑”,在右侧页面修改相关配置,默认勾选底部提示信息,即控制台相关功能将不再开放使用,单击“确定”保存。 编辑Istio资源后,具体哪些控制台功能不可用,与Istio资源类型有关。详细说明请参见YAML配置资源处理策略。 支持以YAML或JSON格式显示,同时可以将配置文件下载到本地。
共100000条