-
Kurator 是华为云开源的面向分布式云原生环境的一站式解决方案。它利用 Karmada 作为多集群编排基础,内置集成了Istio、Prometheus、Thanos、Volcano、KubeEdge、Argo 等主流云原生技术。基于此,Kurator 构建了包括集群舰队管理、集群生命周期管理、统一应用分发、流量治理、监控和策略管理在内的分布式云平台管理能力。在最新 0.6.0 版本中,Kurator 为云原生应用增加了 CI/CD 流水线设置与管理功能,简化流水线创建。此外,强化了 0.4.0 版本发布的统一应用分发功能,可以在部署新应用时设置金丝雀(灰度)发布、A/B 测试、蓝绿发布三种渐进式发布策略。新增的流水线特性和渐进式发布功能与统一分发能力结合,实现基于代码仓库的 GitOps 工作流。这有助于快速构建分布式云原生平台,简化应用开发与发布流程。Kurator CI/CD 的结构图如下所示:用户更新代码仓库后,触发 Kurator 流水线,完成代码拉取、检查、编译并构建镜像。其后,用户更新应用部署模板,例如更改应用配置中的镜像信息。Kurator Application Controller 侦测到配置更新,将自动触发已应用的渐进式发布策略,实现应用的自动发布。如此一来,整个软件研发生命周期以代码为中心,实现开发至发布完整流程的自动化,简化运维、部署工作。 流水线 CI/CD 流水线实现源码到发布的自动化过程,包括源码管理、检查、测试等阶段。但由于每个阶段技术需求不同,导致流水线配置和管理难度大。Kurator 参考开源项目 Tekton,通过预定义常用任务模版的方式简化流水线创建操作。用户只需指定任务名称和代码仓库访问凭证即可创建流水线,使用门槛低。对熟悉流水线的高级用户,Kurator 也支持自定义任务。用户可以根据自己需求定制任务内容,满足个性化场景。通过预置任务模板和自定义任务的能力,Kurator 大幅简化了流水线配置和管理的难度。从图中可以看出,在使用流水线时,Kurator 完成了大部分工作。用户只需配置运行环境,选择任务模板即可完成流水线创建,大大减少学习成本。特别是与传统Tekton 相比,Kurator 提供了预定义任务模板,用户只关注任务内容而不再处理具体实现,实现了流水线使用的极致简化。除了简化流水线的创建操作外,Kurator 还考虑到了软件供应链安全,可以在流水线构建镜像时自动为其添加数字签名和源头证明,以防范假冒镜像,保证镜像源头可靠,保证在镜像制作方面的安全性。软件供应链安全指的是保护软件从开发到部署的整个生命周期过程中的安全性。软件供应链安全可以提高软件安全性能和用户信任度,预防恶意代码渗透。签名和证明添加后,镜像将自动上传至仓库。在镜像仓库中可以直接查看镜像签名和证明的详细情况,如图所示。用户可以用签名过程生成的公钥验证镜像签名和源头。这样在生产中,生产者仅需公布签名公钥,就能让用户验证数字签名和来源证明。接下来将展示一个在 Kurator 中创建一个流水线的示例:在流水线定义 spec.tasks 中指定任务名称,即可选择 Kurator 内置的常用任务模板。目前内置的常用任务模板包括:名称任务目标git-clone拉取源码go-test运行go代码单元测试go-lintgo源码静态检查build-and-push-image编译,构建镜像并上传此外,通过 customTask 定义可以发布自定义任务。通过指定 image、command 和 args,实现定制任务需求,如上述示例中自定义任务完成的工作就是打印README.md。更多的示例和细节,请参考: https://kurator.dev/docs/pipeline/ 渐进式发布 金丝雀发布、A/B 测试和蓝绿发布都是主流的应用发布策略,可有效减少上线风险。Kurator 0.6.0 在原统一应用分发基础上,增加渐进式发布功能。现在应用可以指定三种渐进式发布策略中的一种策略。同时,可以将具备发布能力的统一分发,与 CI/CD 流水线结合起来,实现基于代码仓库的 GitOps 工作流。▍金丝雀发布金丝雀部署是一种渐进式发布策略。先向少数用户发布新的软件版本进行测试,根据测试结果,决定是否向更多用户推出新版本。旨在最大限度地减少新版本上线后对用户的影响,是一种更安全、更可靠的软件发布策略。参阅以下的操作示例,了解如何使用 Kurator 配置金丝雀发布。通过配置 rollout 中的 workload 字段,可以将金丝雀发布的目标设置为 webapp 命名空间下名为 backend 的应用。发布目标除了支持 deployment 应用之外,还支持 daemonSet应用。流量分析使用 Kurator 内置的请求成功率(request-sueccess-rate)和平均访问时延(request-duration)两个指标作为衡量新版本是否健康的标准。其中通过 thresholdRange 指定阈值。示例中要求请求成功率大99%,平均访问时延小于 500ms,新版本的服务才会被认定为健康。rolloutPolicy.canaryStrategy 配置了每次测试成功后,下次流量递增的比例和最终允许测试版本流量占比的最大值,从而实现渐进式发布新版本。示例中每次递增 10% 的流量流向新版本,最多为 50%。也可以设置 maxWeight 为 55,这样在最后一次测试的时候,只会新增 5% 的流量流向新版本。除了这些配置之外,Kurator 还可以设定完成验证之后,流量以什么样的比例逐步流向新版本。更多细节请参考: https://kurator.dev/docs/fleet-manager/rollout/canary/▍A/B测试A/B 测试为效果测试,是验证应用两版本表现的测试方法。它通过将用户分到不同组,每个组体验不同版本,然后分析每个组用户在使用过程中的各项指标,选择效果较好的版本。A/B 测试也可以先让部分用户试用新版本,收集真实环境下的用户反馈,再决定是否上线新版本。了解如何在 Kurator 配置应用的 A/B 测试,请参考下方操作示例。和金丝雀发布类似,由 workload 指定 A/B 测试的目标。通过 metric 指定测试的指标。A/B 测试和金丝雀发布不同的点在于需要配置 match 中的匹配规则,实现流量分组。上述 match 配置是只有 http 请求头满足使用 FireFox 浏览器或请求的 cookie 中包含 “type=insider” 的情况下,请求才会被转发到新版本。通过对不同请求头的处理达到对用户分组的效果,对不同的版本进行效果测试。除了匹配请求头之外,还能匹配 URI、端口号等。更多细节请参考: https://kurator.dev/docs/fleet-manager/rollout/abtest/▍蓝绿发布蓝绿发布是一种渐进零停机发布方法。它将生产环境分为两个独立运行的蓝绿环境,蓝环境承载当前实际流量,绿环境预部署新版本。新版本通过测试后,只需切换流量到绿环境,就能实现零停机升级。蓝环境备用支持回滚。通过实时扩容,可近乎零停机完成迭代交付,提高发布效率和用户体验。了解如何在 Kurator 配置蓝绿发布的操作示例,请参考下方。蓝绿发布需要配置目标应用、测试指标、迭代次数和容许测试失败的次数,其中测试的迭代次数由 analysisTimes 指定,容许测试失败的次数由 checkFailedTimes指定,除此之外无需配置别的规则。因为蓝绿发布在测试新版本的时候是将全局流量转发到绿环境中进行测试,没有金丝雀发布的渐进式流量递增和 A/B 测试的对用户分组的需求。更多细节请参: https://kurator.dev/docs/fleet-manager/rollout/blue-green/ 未来展望 综上所述,通过 CI/CD 流水线和渐进式发布功能,Kurator 实现了从源码到发布的完整流水线自动化,真正提升了开发效率和运维能力,实现开发、配置和发布的应用全流程生命周期管理。此外还大幅简化了采用 CI/CD 流水线和渐进式发布的门槛。随着 Kurator 的不断迭代升级,我们还将继续为流水线添加更多的预定义任务模板,为渐进式发布提供更多的测试指标。欢迎大家试用 Kurator 并提出宝贵的意见与需求。Kurator的门户为:cid:link_0随着功能的逐渐完善,Kurator 将成为用户快速立体掌握云原生技术体系、高效运行分布式应用的强大工具。参考链接Kurator项目地址:cid:link_0CI/CD流水线:https://kurator.dev/docs/pipeline/软件供应链安全:https://kurator.dev/docs/pipeline/chain-security/渐进式发布:https://kurator.dev/docs/fleet-manager/rollout/金丝雀发布:https://kurator.dev/docs/fleet-manager/rollout/canary/A/B测试:https://kurator.dev/docs/fleet-manager/rollout/abtest/蓝绿发布:https://kurator.dev/docs/fleet-manager/rollout/blue-green/更多云原生技术动向关注容器魔方添加小助手k8s2222进入技术群
-
源代码是企业最宝贵的资产之一,随着软件规模的不断扩大,企业管理庞大的源代码成为一个重大挑战。为了保持企业员工持续稳定地开展软件开发活动,一个好用的代码管理平台变得尤为重要。代码管理工具是软件开发的基础,能够帮助团队协作更加高效,自动化交付更加流畅。因此,选择一款优秀的代码管理平台能够有效提升团队协作效率和自动化交付效率,从而更好地满足企业的软件开发需求。本期 【云享问答】 通过这10个问题,带你全方位了解华为云CodeArts Repo代码托管带来的开发体验。💬 1、什么是代码托管?代码托管服务有什么优势? 代码托管服务是基于Git的在线代码托管服务,具有安全高效、跨地域协同开发、代码浏览方便、集成工具、易于管理、易于合作、共享代码等优势。💬 2、开发者在选择代码托管服务时要注意哪些因素? 选择代码托管服务时,需考虑多方面因素。首先要确保服务有足够的安全性和隐私性,防止代码泄露或损失。其次,性能和稳定性也至关重要,以确保代码的快速访问和修改。同时,成本、可扩展性也是选择的关键因素。另外,用户界面是否友好易用,集成工具是否丰富,也是开发者关注的重点。除此之外,良好的支持、活跃的社区以及符合项目需求和法律规定的政策和规定,也都为选择代码托管服务提供了重要参考。💬 3、华为云CodeArts Repo 与DevOps有什么不同?CodeArts Repo有哪些特性?华为云CodeArts Repo与DevOps的不同之处在于它们的目标和作用范围。DevOps是一种开发模式,强调开发人员和运维人员之间的紧密协作,以快速、高效地交付高质量的软件。而华为云CodeArts Repo是一种具体的工具,主要用于代码管理和协同开发,以支持DevOps实践。CodeArts Repo是华为云基于自主研发内核的一款代码管理工具,提供全方位的代码托管服务,沉淀了华为多年内部代码管理经验,助力企业高效协同开发与项目管理。其拥有六大特性,确保代码安全稳定高效开发,支持多种开发场景,提升代码质量并传递开发经验。通过质量门禁确保入库代码质量,双向可追溯记录代码来龙去脉,内置多种模板确保开发规范有序。💬 4、华为云代码托管的工作模式是什么?代码托管(CodeArts Repo)采用Git Flow作为基础工作模式。Git-Flow提供了一组建议,通过严格执行这些建议的规则,帮助中小型研发团队,能够更好的规范自己的开发工作。并行开发:各个特性与修复bug,可以并行;团队协作:多人开发过程中,大家都能够理解其他人的当前工作;灵活调整:通过hotfix分支,支持各种紧急修复的情况;master分支:最为稳定,功能比较完整,随时可发布的代码;develop分支:用于平时开发的主分支,并一直存在,永远是功能最新最全的分支,包含所有要发布到下一个release的代码,主要用于合并其他分支;feature分支:用于开发新的功能的分支,一旦开发完成,通过测试,合并回develop分支进入下一个release;release分支:用于发布准备的专门分支;hotfix分支:用于修复线上代码的bug 。💬 5、在开发者应用的过程中,CodeArts Repo对开发环境和版本的要求如何? CodeArts Repo对开发环境和版本的要求,主要有三个方面:1、浏览器兼容:建议使用Chrome和Microsoft Edge,同时也支持IE10+、Firefox和Safari。2、分辨率:推荐1920*1080或更高。3、单个仓库规格:页面单文件上传≤10MB本地单文件推送≤200MB在线修改代码保存行数≤5000行仓库总容量≤2GB。 💬 6、CodeArts Repo适合哪些类型的企业和人群使用?CodeArts Repo主要适合开发人员、运维人员、项目管理人员和高校师生等人群使用。对于开发人员,它提供了代码托管、版本控制和代码检视等功能;对于运维人员,它确保了代码的安全和稳定性;对于项目管理人员,它支持多组织协同和权限控制;对于高校师生,它提供了完整的教学环境和丰富的代码仓库模板。💬 7、开发者在应用代码托管服务时,如何防止软件代码被他人Copy? 处理方法1:主要依赖于软件和监控手段来防止代码泄露封闭USB接口和蓝牙接口,防止外部数据传输;安装特殊软件,监控并限制上传行为;监控特定文件的上传,需注意防止文件改名、压缩、混淆后上传;监控上传到特定网站,需防止上传到未知网络服务、邮件地址、自建服务器;监控电脑操作并记录,但这种方式只能在代码泄露后作为证据,不能事前防范。处理方法2:采取更严格的硬件和访问控制 禁止个人笔记本和不明来源的IP地址,确保只有授权设备能访问;企业全面采用华为云的云电脑(云桌面)进行开发,确保代码只存储在云端;限制只有云桌面可以访问软件开发生产线帐户,其他IP地址不允许访问;所有代码只存储在云端,无法拷贝到外部,确保代码不被泄露。 💬 8、CodeArts Repo有哪些安全特性?在代码托管(CodeArts Repo)产品层面具有以下安全特性:基于角色与权限的细粒度授权:在CodeArts Repo层面,提供针对代码访问的,更加细粒度的授权模型;不可抵赖性:我们提供代码仓库的完整访问日志,供用户审计;数据加密:用户的代码在CodeArts Repo中,是以加密方式存储的。 💬 9、CodeArts Repo如何确保代码安全?CodeArts Repo通过安全管理,合并请求和提交规则管理确保代码安全:合并请求和提交规则管理,保证代码上传质量;部署密钥和IP白名单,控制代码上传下载权限;在代码仓库中显示代码的界面增加水印,降低代码资产泄露风险,保证代码安全;审计日志,动态保证可追踪性;锁定仓库,保证版本确定性,防止未经授权的代码提交。💬 10、在应用的过程中,CodeArts Repo是如何解决较为严重的IO负载问题的?可以通过规避大量的上传和下载来解决,解决方式如下: 1、识别已经上传过的,不进行二次上传操作,减少上传次数。2、读写分离,规避频繁上传下载。3、Hash分片存储。更多关于CodeArts Repo的功能,可进入产品官网免费开通基础版使用
-
23年【云声·建议】反馈活动第十场来啦~本月为今年最后一场累积兑换奖励月份,各位小伙伴抓紧机会,其中不限建议数量的高价值建议奖仍然保留,数量不限。8-10月累积金额最高的小伙伴有机会兑换华为GT系列手表哦~快来云声提优化建议吧!【活动时间】10月1日-10月31日【活动对象】所有华为云用户如果您是新用户您也可以先去体验我们的免费云产品服务~再来吐吐槽~如果您是老用户功能问题?体验不好?快来云声提建议告诉我们吧!!【奖项设置】有效建议总积分第1名:300元开发者盲盒礼包有效建议总积分第2-3名: 200元开发者盲盒礼包有效建议总积分第4-10名:100元开发者盲盒礼包其中反馈高价值优质建议奖的用户额外获得100-200元开发者盲盒礼包(建议数量不限,可与其他奖项叠加)PS:10月云声获奖用户的奖励金额可以选择累积与8-9月份激励一起发放一次集中兑换可选择兑换电子产品或者其他开发者定制礼品累积金额1000+有机会兑换华为GT系列手表、无线耳机等~【活动规则】1.有效建议积分云声关联产品/功能分为云产品建议、解决方案建议、平台建议,三种类型的建议对应的分值不相同,云产品建议(1分)、解决方案建议(0.5分)、平台建议(0.1分),按照当月有效建议类型对应不同分值以及邀请加分项来进行计算总排名,关联产品/功能可在云声提建议页面查看,示例如下;说明:云声关联产品/功能分别对应以上3种类型,取决于建议内容实际对应的产品/功能,与实际关联的标签无关。2.优质建议奖1)经内部产品研发团队评估为高价值优质建议奖的用户,额外奖励100元开发者盲盒礼包/人说明:高价值建议数量不限,且与有效建议积分奖可叠加,每位用户每月最多可获得一次;高价值优质建议要求建议能被采纳,以及内部评估建议对产品优化改进有重要作用;建议内容需要表述清晰,有明确的建议方案,最好有操作截图或链接等能进一步详细描述。3.注意事项1)若出现积分相同且排名一致的情况,在每月的已实现和已采纳建议中,会选出价值更高的建议用户给予奖励,基础评分计算规则,可参考如下表格。若同名次出现同分情况,由内部工作人员评选建议价值度更高的用户获奖2)同一用户在同一页面(文档)提出的同一类问题(包括但不限于错别字、语句不通顺、视觉体验等),在通过审核后仅算作一条有效建议数3)若发现代他人提交优化建议,此建议分值只取原分值30%4)兑换礼品以仓库现有礼品为准,不可以指定,如遇商品缺货,将随机换成其他等价值礼品发放
-
众所周知,桌面集成开发环境(IDE)已经融入到开发的各个环节,对开发者的重要性和广泛度是不言而喻的,而开发插件更是建立在IDE基础上的功能Buff。Huawei Cloud ToolKit作为华为云围绕其产品能力向开发者桌面上的延伸,帮助开发者快速在本地连接华为云,打通华为云到开发者的最后一公里。接下来,将通过十问十答的方式,带领大家全面了解Huawei Cloud ToolKit。💬 1、为什么开发者日常开发需要IDE及开发插件?IDE的中文名字是集成开发环境,对于软件开发者而言是编码必不可少的工具,通常提供代码编辑、编译、调试等基本功能。对于一个非脚本式的工程开发,IDE对开发者而言是刚需。IDE插件是IDE基本能力上的一次升级,可以在IDE平台功能基础上定制化功能提供给开发者。华为云开发者插件在不同的IDE平台上向开发者提供了对接华为云的能力,方便开发者快速上云。💬 2、为了帮助开发者更好的使用华为云产品,华为云推出了哪些便捷工具或平台?华为云开发者插件平台(Huawei Cloud Toolkit)是围绕华为云开发者生态工具体系打造的一系列的 IDE 插件,支持IntelliJ平台、VSCode、华为自研CodeArts IDE,帮助用户快速连接华为云。支持华为云 API 能力对接、自然语言一键转换成 C++、Java 等标准代码、一键部署到云端等等。Huawei Cloud Toolkit主要是针对企业开发者、高校开发者。它可以帮助企业开发者在工作过程中快速上手、开箱即用、提质增效;帮助高校开发者灵活使用、简洁易用、方便特性,在工作、实验、练习、培训过程中提供很大便利。Toolkit可与主流IDE及华为云其他产品无缝集成,帮助开发者简化应用部署到服务器,尤其是华为云服务器中的操作。「开箱即用,全面免费」确保开发者快速上手,真正做到降本提效。💬 3、通过在IDE环境中集成Toolkit插件,开发者可以轻松完成哪些工作?Huawei Cloud Toolkit具备以下5个能力:1、API开放能力:Huawei Cloud Toolkit插件深度融合了华为云API的开放能力,快速、高效集成华为云API,支持用户检索API、查看API文档、调试API;2、代码补全能力:编程过程中支持SDK代码片段补全,加速用户集成华为云应用。3、一键部署能力:支持快速部署,一键部署到ECS、CCI;4、代码检查能力:提供业界规范(含华为云)检查,支持一键格式化和代码自动修复;5、其他能力:还支持包括微服务工程搭建等在内的诸多能力。并且随着Huwei Clud Toolkit下的插件市场不断扩大,其能力在不断的提升,若想查看插件具体能力请前往插件能力分布。💬 4、Toolkit系列插件支持哪些IDE平台,如何在这些IDE平台获取到Toolkit?当前,Huawei Cloud Toolkit提供了 10 个插件工具,具体能力分别如下:1、Huawei Cloud API:华为云API插件提供华为云服务全量API检索、调试、SDK代码自动补全、集成华为云CLI、示例代码等功能;2、Huawei Cloud DevSpore:华为云DevSpore插件支撑开发者在IDE上快速完成企业级微服务工程搭建;3、Huawei Cloud FunctionGraph:华为云FunctionGraph插件是Serverless产品的IDE插件,提供函数本地调试、运行、云端部署等功能;4、Huawei Cloud CodeArts Check:华为云代码检查插件提供业界规范(含华为云)检查,支持一键格式化和代码自动修复,当前支持Java、C++、C;5、Huawei Cloud CodeArts Snap:华为云 CodeArt Snap 智能编程助手致力于打造现代化开发新范式,通过将自然语言转化为规范可阅读、无开源漏洞的编程语言,提升开发者编码效率,助力企业快速响应市场不确定性;6、Huawei Cloud Toolkit Platform:华为云底座插件为华为云各类云服务插件提供公共能力,比如单点登录、UI集成、API访问等功能;7、Huawei Cloud ModelBox DevKit:华为云ModelBox插件帮助开发者更高效、便捷地注册ModelBox框架支持的设备及搭建ModelBox开发环境;8、Huawei Cloud Deploy:华为云部署插件旨在帮助开发者更高效、更方便地构建应用程序,支持将应用一键部署到ECS、CCI等;9、Huawei Cloud Developer Technical Support:华为云开发者技术支持插件支持开发者管理问题单、提供诸如搜索、提交问题单等功能;10、Open Capability Center/Huawei Cloud DeveloperKit:华为云开放能力中心插件关联华为云各云服务开发指南、视频课程、沙箱、API、SDK 和示例代码,帮助开发者更快地了解华为云、学习华为云、集成华为云。除此以为,作为能够为华为云各类业务插件提供公共能力的底座插件,Huawei Cloud Toolkit Platform还提供如下功能:1、为所有 Huawei Cloud Toolkit 插件提供单点登录。2、为所有 Huawei Cloud Toolkit 插件提供能访问华为云服务的 API。3、为所有 Huawei Cloud Toolkit 插件提供 UI 集成能力。4、在IntelliJ系列平台和VS Code IDE,底座插件是 Huawei Cloud Toolkit系列插件的基础,若想使用其他插件的能力,请提前安装好底座插件并完成账号登录。💬 5、Toolkit支持在本地IDE连接到哪些华为云服务和产品?💬 6、相较市面上开发插件,Toolkit能够为开发者带来哪些便利?Huawei Cloud Toolkit 支持多个平台,包括IntelliJ系列、VSCode IDE、华为自研CodeArts IDE。Huawei Cloud Toolkit 的插件不仅支持公有云,同时还可以支撑本地化部署的私有云/混合云。💬 7、如何使用Toolkit来连接到华为云数 据库,并在本地进行测试和调试?RDS是华为云提供的数据库功能,开通RDS服务后,可以利用Huawei Cloud API插件在代码侧直接调用服务API,也可以在线调试。支持相关API代码一键补全等等。请参考帮助文档。💬 8、如何通过Toolkit快速调试华为云OpenAPI?开发者可以在入口函数处利用API自动生成API生成补全代码,然后需要手动补全AK、SK等用户信息后可以直接调试API。还可以利用API插件的在线调试功能,补全相关必选参数即可在线快速调试。💬 9、很多开发者使用Anaconda的Jupyter notebook和Spyder,Toolkit是否考虑开发这两者的插件?Jupyter notebook更多是作为一个交互式的命令行工具在做一些简单的调试,Spyder也是一个轻量级的IDE。对于Python开发者而言,Pycharm是更强大更主流的工具。Huawei Cloud Toolkit支持IntelliJ平台下的Pycharm。后续不排除考虑开发Jupyter notebook和Spyder的插件的可能,但尚未提上议程。💬 10、开发者如果想要从入门到深入了解使用Toolkit ,有哪些实用建议?Classroom是基于华为云的云上一站式教学实践平台,提供云上软件教学服务,支持帮助学习插件toolkit技术,包含MOOC课程,教学市场,云端实验室,伙伴赋能,竞赛赋能,高校联盟六大板块,支持高校师生实现备课、上课、作业、考试、实验、实训等全教学流程的线上教学,提供多类习题自动判题、企业级DevOps实训、免费在线习题库等众多高级特性辅助进行数字化教学转型。开发者登录Classroom平台后,选择MOOC课程模块,选择Toolkit课程进入课程了解华为云Toolkit产品的功能以及学习插件的使用,同时可以利用Classroom平台上的云端实验室模块进行沙箱实验。更多Huawei Cloud Toolkit 指南等你了解:cid:link_1Classroom平台:cid:link_2
-
华为GES图引擎服务优质博文精选图数据基础知识 & GES介绍人人都在谈的图数据库到底是个啥? 作者:你好_TT, 2021-05-08从零开始学Graph Database:什么是图 作者:弓乙, 2022-10-08画张图,就能秒级洞察千亿复杂关系 2021-01-12华为云新一代黑科技核心算法揭秘 作者:mr.FangYang, 2018-08-21云图说-解析华为云”黑科技“---图计算技术 作者:阅识风云, 2018-07-10聊聊图的相似性 作者:你好_TT, 2021-12-25图算法实践之k-hop 作者:你好_TT, 2021-05-12GES容灾介绍 2023-07-22【干货】华为云图数据库GES技术演进 作者:Chenyi, 2023-08-23华为云GES:十年磨一剑,打造业界一流的云原生分布式图数据库 2023-08-24GES使用指引 &图进阶学习华为云图引擎服务 GES 实战——创图 作者:你好_TT, 2021-08-22调用 GES 服务业务面 API 相关参数的获取 作者:你好_TT, 2021-08-23图数据库对 NULL 属性值支持情况 作者:你好_TT, 2021-06-18Gremlin语言学习系列链接汇总 作者:你好_TT, 2021-02-05如何使用GES进行社交关系考据?---GES查询能力介绍 作者:弓乙, 2021-10-19聊聊图上超级快的多跳过滤查询 作者:弓乙, 2023-4-12使用GES4Jupyter连接GES并进行图探索 作者:蜉蝣与海, 2022-06-25使用参数化查询提高Cypher查询的性能 作者:蜉蝣与海, 2022-04-10记一次图引擎GES cypher慢查询的分析与优化作者:蜉蝣与海, 2022-05-08GES对图细粒度权限控制的支持 作者:你好_TT, 2021-12-29使用Cypher子查询进行图探索 作者:蜉蝣与海, 2023-05-10华为云图引擎服务GES属性管理进阶 2024-01-15GES场景化应用全链路数据血缘在满帮的实践 作者:你好_TT, 2021-12-09GES与Flink的对接 作者:你好_TT, 2021-12-29要想推荐系统做的好,图技术少不了 作者:你好_TT, 2021-12-27图计算助力智慧金融 作者:你好_TT, 2020-04-18扒一扒GES如何赋能互联网电商风控 作者:Dr Thunder, 2021-04-23使用GES处理金融风控场景示例一 作者:图森破, 2020-05-19基于人货场的电商知识图谱的构建 作者:某某人, 2020-07-04采用GES构建锅炉仿真系统的关系图谱 作者:犀牛, 2020-06-28基于GES图数据库的网络架构模型构建 作者:左手看星星, 2020-07-29华为云ModelArts与图引擎联手打造,图深度学习强势落地! 作者:我们都是云专家, 2019-08-08基于GES图数据库的大规模数据追溯服务优化 2021-03-03618 技术特辑(一)不知不觉超预算3倍,你为何买买买停不下来? 作者:技术火炬手, 2021-06-11云图说-复杂网络的破解之道,图引擎带你径直迈向成功作者:阅识风云, 2019-10-16云图说-互联网应用的关系分析利器——企业EI的百晓生“图引擎”作者:阅识风云, 2019-04-19爱库存X华为云:乘“云”破浪,逐梦新电商: 外部链接 云社区链接构建站点数字孪生,支撑确定性运维:华为云九洲云图CloudMap 作者:HWCloudAI 2023-03-315分钟迁移关系型数据库到图数据库 作者:RiverSide 2023-07-17HyG超大规模图计算引擎专题GES图计算引擎HyG揭秘之图切分 作者:π, 2022-06-23CSR格式如何更新? GES图计算引擎HyG揭秘之数据更新 作者:π, 2023-06-15图神经网络 & 图深度学习专题图嵌入&知识表征の初体验 作者:图森破, 2020-05-15在OCR场景使用GCN图卷积 作者:图森破, 2020-06-11风控领域图深度学习算法思考 作者:图森破, 2020-07-14知识图谱trans系列算法介绍 作者:图森破, 2021-06-29图嵌入算法介绍 作者: 图森破, 2021-06-29图神经网络!打开企业盈利的下一个风口 作者:chenyi, 2019-12-28图卷积神经网络初探 作者:chenyi, 2019-11-29图技术漫谈Neo4j闭源转商,成为强大图计算平台还需要几步?作者:chenyi, 2019-12-28Freebase Data Dump结构初探, 作者:蜉蝣与海, 2021-07-27带你认识图数据库性能和场景测试利器LDBC SNB, 作者: 闹闹与球球, 2022-06-24从图引擎平台技术,看华为云EI的决心和野心作者:chenyi, 2018-01-29使用Jupyter可视化图查询语言Cypher语法树 作者:蜉蝣与海, 2022-08-22Euler浅析 作者:弓乙, 2019-01-23从两个开源图数据库PR看查询执行时的编码设计问题 作者:蜉蝣与海, 2022-05-03Notebook案例精选图数据库实践-新冠患者轨迹追溯电商风控案例教育知识图谱利用图数据库研究COVID-19论文数据集基于图引擎的医药查询系统Koolab新冠患者轨迹追溯端边云Serverless大数据湖解决方案附录:GES首页:cid:link_21GES最新动态:cid:link_17AI训练营图数据库系列 作者:Ray博士第一讲第二讲第三讲开发者中心-图引擎服务GES开发指南:cid:link_0GES帮助文档:cid:link_9GES算法API参数参考:cid:link_11
-
↵首先,我们通过一个有趣的栗子来认识什么是镜像。假如我来到一片空地,想要建一座房子,那么我需要砍木头、搬石头、画图纸等等,一顿忙活后,房子终于盖好了。这时,我发现地址选的不好,想迁到另外一处。按照之前的方法,我必须重新砍木头、搬石头、画图纸,想想都头大。我幻想拥有一种超能力,将盖好的房子复制一份,做成“镜像”,装在口袋里,等到了另一片空地,用这个“镜像”复制一座房子,拎包入住。在云计算界,镜像就是这么神奇的存在。让我们从镜像的前世开始谈起,慢慢揭开它的神秘面纱~温馨提示:本文干货较多,阅读可能需要二十分钟。镜像的前世说到镜像,不得不提起云计算业界大佬OpenStack。OpenStack是一个开源的云计算管理平台项目,旨在为公共及私有云的建设与管理提供软件,这个项目由几个主要的组件组合起来完成一些具体的工作。Glance组件负责虚拟机镜像的上传、注册、查找、编辑、删除等功能,它提供了一个REST API,允许用户查询虚拟机镜像元数据来获取实际的镜像文件。您可以将Glance提供的镜像存储在各种位置,从简单的文件系统到对象存储系统。OpenStack各组件关系及Glance所扮演的角色见图1 OpenStack各组件关系。图1 OpenStack各组件关系在OpenStack整个云环境中,如果没有虚拟机镜像,就无法在计算节点上生成虚拟机,OpenStack也就失去了它的意义,所以说镜像服务是OpenStack的一个核心服务。Glance组成Glance包括以下服务:Glance API:接受最终用户或Nova Compute对镜像的请求,诸如镜像创建、检索、存储。Glance Registry:存储、处理和检索有关镜像的元数据,元数据诸如大小、类型。Database:存储镜像的元数据,主要使用MySQL和SQLite。Store Backend:存储镜像本身,支持多种方式,包括普通的文件存储、Swift、Amazon S3等。图2 Glance组成Glance APIGlance API是系统后台运行的服务进程,对外提供REST API,响应镜像查询、检索和存储的调用。Glance API不会真正处理请求。如果是与镜像元数据相关的操作,Glance API会把请求转发给Glance Registry;如果是与镜像自身存取相关的操作,Glance API会把请求转发给该镜像的Store Backend。Glance RegistryGlance Registry是系统后台运行的服务进程,负责处理和存取镜像的元数据,例如镜像的大小、格式和名称。Glance支持多种格式的镜像,包括AKI、AMI、ARI、ISO、QCOW2、Raw、VDI、VHD和VMDK,下次课程将着重介绍镜像格式的相关知识,敬请期待。Database镜像的元数据会保存到Database中,使用比较广泛的是MySQL和SQLite。Store BackendGlance自己并不存储镜像,真正的镜像是存放在Backend中的。Glance支持多种Backend,包括普通的文件存储、Swift、Amazon S3等。Glance的操作方式可以通过OpenStack Web UI、命令行和OpenStack CLI三种方式操作Glance,例如镜像的增删改查。对于Glance的镜像管理命令举例如下:glance image-createglance image-deleteglance image-updateglance image-show云计算从初创时的牛刀小试,到现如今成长为一个庞大的行业和生态,各云厂商不断为其注入能量。为了提升用户的云上体验,华为云在镜像服务产品能力和生态能力方面也做了很多工作,下面将从两个方面介绍镜像服务IMS:镜像产品能力:镜像有哪些类型?IMS提供了哪些产品能力?镜像生态能力:围绕镜像衍生出了哪些产品?这些产品对用户有什么价值?镜像产品图3 产品导图镜像分类镜像是云服务器运行环境的模板,在购买云服务器时,镜像是必填项,有四个分类,分别是公共镜像、私有镜像、共享镜像和市场镜像。他们有什么区别?实际该如何选择呢?下面我们将这四种类型做个对比:镜像类型说明可用性/安全性费用公共镜像常见的标准操作系统镜像,所有用户可见,包括操作系统以及预装的公共应用。公共镜像具有高度稳定性,皆为正版授权,可放心使用。高免费市场镜像提供预装操作系统、应用环境和各类软件的优质第三方镜像。无需配置,可一键部署,满足建站、应用开发、可视化管理等个性化需求。较高免费/收费私有镜像包含操作系统或业务数据、预装的公共应用以及用户的私有应用的镜像,仅用户个人可见。中免费共享镜像用户将接受云平台其他用户共享的私有镜像,作为自己的镜像进行使用。低免费在实际选择时,有一个简单的判断原则:如果需要一个纯净版OS,则选择公共镜像如果需要一个完整的软件环境,比如Magento电子商务系统,则选择市场镜像如果希望基于当前云服务器实例复制新实例,则选择私有镜像如果想使用别人共享的镜像,则选择共享镜像镜像产品能力创建镜像流程为了满足用户多种业务场景的需求,华为云将私有镜像再次分类为:系统盘镜像、数据盘镜像和整机镜像,从字面即可理解这几种镜像的含义,整机镜像也叫全镜像,可以包含系统盘和数据盘。整机镜像基于差量备份制作,相比同样磁盘容量的系统盘镜像和数据盘镜像,创建效率更高。以系统盘镜像为例,图5展示了从ECS实例创建镜像的过程:从现有镜像开始,创建一个实例,自定义该实例,从该实例创建新的镜像,并最终创建新的实例。图5 系统盘镜像使用流程用途创建镜像可用于将ECS实例环境信息打包,快速复制新的ECS实例,常见于应用扩容场景。也可用于混合云部署场景,为了实现云上及线下资源同步,可以借助镜像导入导出功能。以将公有云资源同步到私有云为例,实现过程如下:i. 基于ECS制作私有镜像,可以为系统盘镜像或数据盘镜像(不建议制作整机镜像,因其不支持导出)ii. 将私有镜像导出到OBS桶iii. 下载OBS桶中的镜像文件,上传到私有云使用更多指导,请参阅“通过云服务器创建系统盘镜像”。导入镜像流程支持将本地或者其他云平台的镜像文件导入到华为云使用,依据镜像文件类型可用来创建ECS实例或EVS数据盘。包括四个步骤,详细流程如下:图6 导入镜像用途上云,将计算资源从线下迁移到云上。更多指导,请参阅“通过外部镜像文件创建系统盘镜像”。导出镜像流程图7 导出镜像用途将云上的ECS系统及软件环境复制到线下集群或私有云环境使用。更多指导,请参阅“导出镜像”。共享镜像假设Jack要将自己的镜像共享给Rose,流程如下:图8 共享镜像过程同样的镜像,又需要共享给Alice,可以通过为镜像添加共享租户实现:图9 添加共享租户Rose已经使用Jack共享的镜像完成业务部署,不再需要该镜像,可以拒绝已经接受的共享镜像:图10 拒绝已经接受的共享镜像Jack也可以单方向取消共享给其他人的镜像:图11 取消共享镜像更多指导,请参阅“共享指定镜像”。复制镜像流程区域内复制:实现加密镜像与非加密镜像的转换图12 区域内复制跨区域复制:实现镜像在不同区域间迁移图13 跨区域复制用途典型场景为系统环境多区域部署,以应对系统高可用及国际化的趋势,部署方式通常需要多区域+海外节点部署,快速实现跨区域复制ECS实例的方法之一便是通过复制镜像将一个镜像复制到多个区域,然后使用私有镜像快速创建实例。更多指导,请参阅“跨区域复制镜像”。镜像生态除了上文介绍的镜像产品能力,华为云也建立了比较完善的镜像生态体系,比如Cloud-Init开源组件、用户数据、镜像的商品管理能力。图14 镜像生态Cloud-Init是开源的云初始化工具,本质上是一系列Python脚本及组件,用来在云服务器启动时配置自定义信息。华为云公共镜像默认都已安装Cloud-Init,建议您在创建私有镜像时也进行安装。用户数据注入,是华为云提供的一种自定义实例启动行为及传入数据的功能。当您有如下需求时,可以考虑使用用户数据注入:i. 通过脚本简化实例配置ii. 通过脚本初始化系统iii. 已有脚本,在创建实例时一并上传iv. 其他可以使用脚本完成的功能举个栗子,通过以下脚本为Linux ECS实例更新系统软件包,并且开启httpd相关服务。用户数据将会在ECS启动时由Cloud-Init进行调度配置。注入成功后,您的ECS就可以使用httpd服务了。迁移服务,即华为云主机迁移服务SMS,是一种P2V/V2V迁移服务,可以帮您把x86物理服务器或者私有云、公有云平台上的虚拟机迁移到ECS上,轻松实现服务器上的应用和数据迁移到华为云。更多信息,请参阅“主机迁移服务”。镜像商品管理能力华为云支持第三方ISV上架市场镜像,市场镜像通常由具有丰富云服务器维护和配置经验的服务商提供,并且市场镜像经过服务商和华为云云市场的严格测试,可保证镜像内容的安全性。今天小课就为大家分享到这里,希望对您认识镜像有所帮助。后续课程会展开介绍镜像前世今生中的某些知识点,比如Cloud-Init和用户数据注入技术,敬请期待。
推荐直播
-
OpenHarmony应用开发之网络数据请求与数据解析
2025/01/16 周四 19:00-20:30
华为开发者布道师、南京师范大学泰州学院副教授,硕士研究生导师,开放原子教育银牌认证讲师
科技浪潮中,鸿蒙生态强势崛起,OpenHarmony开启智能终端无限可能。当下,其原生应用开发适配潜力巨大,终端设备已广泛融入生活各场景,从家居到办公、穿戴至车载。 现在,机会敲门!我们的直播聚焦OpenHarmony关键的网络数据请求与解析,抛开晦涩理论,用真实案例带你掌握数据访问接口,轻松应对复杂网络请求、精准解析Json与Xml数据。参与直播,为开发鸿蒙App夯实基础,抢占科技新高地,别错过!
回顾中 -
Ascend C高层API设计原理与实现系列
2025/01/17 周五 15:30-17:00
Ascend C 技术专家
以LayerNorm算子开发为例,讲解开箱即用的Ascend C高层API
回顾中
热门标签