• 【DTSE Tech Talk】直播回顾汇总,开发者必读的技术公开课干货大合集!
    SaaS云原生内容合集:1、SaaS云原生应用典型架构  讲师:程泽   DTSE Tech Talk丨第1期:要想不踩SaaS那些坑,得先了解“SaaS架构”-云社区-华为云 (huaweicloud.com)2、1小时深度解读SaaS应用系统设计  讲师:程泽   DTSE Tech Talk丨第2期:1小时深度解读SaaS应用系统设计-云社区-华为云 (huaweicloud.com)​3、数据隔离方案探讨,让SaaS应用开发更轻松  讲师:程泽   DTSE Tech Talk丨第3期:解密数据隔离方案,让SaaS应用开发更轻松-云社区-华为云 (huaweicloud.com)4、身份应用云上技术架构实践  讲师:茆正华、程泽   DTSE Tech Talk | 第4期:云原生架构下的数字身份治理实践-云社区-华为云 (huaweicloud.com)28、多沙箱容器运行时Kuasar开发上手实践 讲师:张天阳DTSE Tech Talk | 第28期:理论+实操,带你了解多沙箱容器运行时Kuasar-云社区-华为云 (huaweicloud.com)40、分布式云原生趋势下,如何借助Kurator加速数智化转型 讲师:解强龙DTSE Tech Talk | 第40期:Kurator,你的分布式云原生解决方案-云社区-华为云 (huaweicloud.com)42、云原生Bursting如何助力企业降本增效? 讲师:刘雨青DTSE Tech Talk 第42期|Cloud Bursting解决方案,Serverless容器降本增效极致体验-云社区-华为云 (huaweicloud.com)低代码应用开发内容合集:6、回归理性,直面低代码  讲师: 董鑫武   【DTSE Tech Talk】人人都是开发者丨低代码应用开发内容合集-云社区-华为云 (huaweicloud.com)7、揭密华为云低代码技术微认证 讲师: 董鑫武 【DTSE Tech Talk】人人都是开发者丨低代码应用开发指南 NO.2:低代码应用构建流程和适用场景分享-云社区-华为云 (huaweicloud.com) 8、零代码玩转汽车营销  讲师: 王文龙【DTSE Tech Talk】人人都是开发者丨低代码应用开发指南 NO.3:零代码,让业务人员实现应用创造自由-云社区-华为云 (huaweicloud.com)媒体内容合集: 10、华为云会议带你入门音视频世界  讲师: 金云飞   DTSE Tech Talk | 第10期:云会议带你入门音视频世界-云社区-华为云 (huaweicloud.com)11、深入浅出畅谈华为低时延直播技术  讲师: 杨金文   DTSE Tech Talk | 第11期:深入浅出畅谈华为云低时延直播技术-云社区-华为云 (huaweicloud.com)31、突破传统,AI在加速“孵化”你的数字人 讲师:季鹏磊DTSE Tech Talk | 第31期:突破传统,AI在加速“孵化”你的数字人-云社区-华为云 (huaweicloud.com)PaaS内容合集:9、EiPaaS组装式应用驱动企业数字化转型  讲师: 傅翌伟   DTSE Tech Talk 丨第9期:EiPaaS驱动企业数字化转型-云社区-华为云 (huaweicloud.com)13、Serverless凭什么被誉为未来云计算范式? 讲师: 石敏   DTSE Tech Talk 丨第13期:Serverless凭什么被誉为未来云计算范式?-云社区-华为云 (huaweicloud.com)14、初识EiPaaS和EiPaaS的国际趋势  讲师:Paul ChenDTSE Tech Talk 丨第14期:初识EiPaaS和EiPaaS的国际趋势-云社区-华为云 (huaweicloud.com)24、应用架构现代化之深入浅出微服务 讲师:蒋鸿伟DTSE Tech Talk | 第24期:应用架构现代化之深入浅出微服务-云社区-华为云 (huaweicloud.com)30、新一代iPaaS “积木”式组装集成,超联接更智能 讲师:徐静珠DTSE Tech Talk | 第30期:新一代iPaaS “积木”式组装集成,超联接更智能-云社区-华为云 (huaweicloud.com)EI数仓合集:18、SQL执行优化之密钥:统计信息大揭秘  讲师:王跃DTSE Tech Talk 第18期丨统计信息大揭秘,数仓SQL执行优化之密钥-云社区-华为云 (huaweicloud.com)22、GaussDB(DWS)数仓发展趋势详解 讲师:曾凯DTSE Tech Talk 第22期 | 从数仓发展史浅析数仓未来技术趋势-云社区-华为云 (huaweicloud.com)23、GaussDB(DWS)云原生数仓技术解析 讲师:王传廷DTSE Tech Talk 第23期 | GaussDB(DWS)云原生数仓技术解析_数仓GaussDB(DWS)_大数据_华为云论坛 (huaweicloud.com)34、数仓过载不用愁,资源管理帮分忧 讲师: 周孟韬DTSE Tech Talk 第34期 | 掌握把“烂”SQL牢牢关进笼子里的密钥-云社区-华为云 (huaweicloud.com)38、数仓实时入库利器!HStore表原理与应用实践详解 讲师:马俊松DTSE Tech Talk 第38期 | 实时入库不用愁,HStore帮分忧 (qq.com)41、数仓专家手把手教您资源管控与运维实战 讲师:吕鹏博DTSE Tech Talk 第41期 | 数仓专家手把手教您资源管控与运维实战-云社区-华为云 (huaweicloud.com) 43、备份恢复全掌握,数仓数据更安全 讲师:李文鑫DTSE Tech Talk 第43期 | 数仓数据可靠保证:物理细粒度备份恢复-云社区-华为云 (huaweicloud.com)开源内容合集: 29、易用的开源实时监控工具 HertzBeat 如何与用户一起“跳动”讲师:巩超DTSE Tech Talk 第29期 | 解读与用户一起“跳动”的开源实时监控工具 HertzBeat-云社区-华为云 (huaweicloud.com) 33、解决开发者“兼容”难题,OpenTiny技术探索与应用解读 讲师:曾令卡DTSE Tech Talk 第33期 | 带你体验很实用的OpenTiny-云社区-华为云 (huaweicloud.com)物联网内容合集:32、让设备数据说“实”话!IT 老手带你实战搭建IoT动态实时大屏 讲师:李小龙DTSE Tech Talk 第32期 | 理论+实操,华为云专家带你实战IoT动态实时大屏-云社区-华为云 (huaweicloud.com)37、如何为物联网设备注入“华为云+鸿蒙DNA”? 讲师:陈星利DTSE Tech Talk 第37期 | 如何为物联网设备注入“华为云+鸿蒙DNA”?看华为云IoT怎么答【华为云IoT+鸿蒙】-云社区-华为云 (huaweicloud.com)aPaaS内容合集:39、华为云业务可视化构建平台SVE,你的数据分析好帮手 讲师:左倩DTSE Tech Talk 第39期| 小白都会的数据可视化大屏搭建,速来学习! (qq.com)OpenGemini时序数据库内容合集:36、openGemini时序数据库应用场景与技术实践分享 讲师:向宇DTSE Tech Talk 第36期 | 一文带你全面了解openGemini-云社区-华为云 (huaweicloud.com)昇思MindSpore内容合集:35、解决大模型“开发难”,MindSpore自动并行技术应用实践 讲师:吕昱峰DTSE Tech Talk 第35期| 解决大模型“开发难”,昇思MindSpore自动并行技术应用实践 (qq.com)欧拉内容合集:27、解密Huawei Cloud EulerOS算力释放技术 讲师:陆维迪DTSE Tech Talk 第27期 |4大特性看Huawei Cloud EulerOS为开发者带来平滑迁移体验-云社区-华为云差旅内容合集:21、从原生迈向混合,小而美团队如何搞定APP高效定制? 讲师:徐意DTSE Tech Talk 第21期丨从原生迈向混合,小而美团队如何搞定APP高效定制?-云社区-华为云 (huaweicloud.com)----------------持续更新中----------------DTSE Tech Talk(华为云开发者联盟推出的技术公开课)解读云上前沿技术,畅聊开发应用实践。专家团队授课,答疑解惑,助力开发者使用华为云开放能力进行应用构建、技术创新。更多技术公开课,请点击:DTSE Tech Talk_华为云直播_云社区_华为云 (huaweicloud.com)
  • [技术干货] Pytorch安装,这一篇就够了,绝不踩坑-转载
     不管任何分布式的架构,它都离不开服务之间的拆分,细化,微服务也一样,下面,风哥来带大家一起了解一下微服务的服务拆分原则,并带大家通过一个小案例了解一下服务间拆分和远程调用吧😀。  1 服务拆分 1.1 服务拆分原则 ​ 开头,风哥不墨迹了,把几个微服务之间的拆分原则先告诉大家。  不同微服务之间,尽量不要有相同的业务,确保低耦合性 每个微服务都应该有一个属于自己的独立数据库 各个微服务之间,可通过微服务对外暴露的业务接口进行访问  1.2 服务拆分示例 1.2.1 实例的demo的结构如下:  请忽略eureka,它是下个章节的内容,学习的时候,做这个案例,一不小心没停下来😉。   cloud-demo:父工程  order-service:订单微服务,负责订单相关业务(当然这里只是一个小demo,只搞了一个查询的功能) user-service:用户微服务,负责用户相关业务(功能也略少哈) 那么,根据上边服务拆分原则,可以得到如下结论(ps:没看下面的小伙伴们可以先看下上边,机灵的小脑袋瓜里先思考一下有什么结论):  用户服务和订单服务都必须对外暴露Restful接口,供其他微服务调用 两个服务之间如果要调用另一个微服务的功能,只能通过Restful接口调用,不能直接访问其他微服务的数据库 所以,用户微服务和订单微服务要有自己独立的数据库 1.2.2 数据库表结构 Eg: cloud-order表中含有cloud-user的id字段。   ​ 那个,导入工程啥的,在这我就不给具体流程了,大家学到了这里,相信都有这些基本能力了,接下来咱们直接根据这个演示服务拆分的小demo,来聊一下远程调用。  2 远程调用 2.1 远程调用实例 ​ 在这里为了演示微服务间的远程调用,在这里就要设定需求场景了,先看原来demo的功能:  ​ 先看一下两个微服务间需要交互的功能接口,这里的小demo只有一个,那就是查询订单的接口  @Service public class OrderService {      @Autowired     private OrderMapper orderMapper;          public Order queryOrderById(Long orderId) {         // 1.查询订单         Order order = orderMapper.findById(orderId);         return order;     } } ​ 接下来启动服务,咱们看一下控制台返回的数据   ​ 从上面,可以很清晰地看到user是空的,那么我们查询订单的时候想让它显示对应的user信息怎么办呢?  ​ 这个时候,订单查询模块的接口就需要远程调用user模块的查询接口得到相应的user信息了。  ​ 那么,不同模块之间的怎么调用其他模块的接口呢?  ​ 有了这些疑问,接下来,大家跟着风哥一起探索一下吧。  2.2 案例需求 ​ 在做一个功能时,我们的大体思路都是先确定需求,画好流程图,然后讨论,明确需求,再去实施,微服务同样也不例外。  ​ 接下来,咱们看一下各个模块相互间的功能需求图,咱们这个小demo及其简单,微服务间的接口间的相互调用只有order-service中的查询接口的方法内去调用user-service中的查询接口,来,看需求图。   ​ 看了需求图,相信大家对过程有了一个更清晰的了解,也明白接下来咱们需要做什么了,没错,我上句话已经说过了,order-service模块中的查询方法要向user-service模块发送一个http请求,调用http://localhost:8081/user/{userId}这个接口,获得相应的用户信息。  ​ 然而呢,比较细心的小伙伴们,相信已经发现了现在风哥好像还没有说通过调用用户模块查询接口获取用户数据返回的数据类型是什么?有的人肯定会说,那肯定是User类型啊。这样说没错,但是说明咱们欠缺了思考,从另一个模块的接口获得数据,你这个模块里又没有相应的数据类型,你怎么将人家的数据封装成User类型呢?而这也恰恰是咱们需要学习远程调用中的一个关键部分。带着疑问出发学习更有劲,那么,跟着风哥来看一下具体的步骤吧。  ​ 大概步骤:  注册一个RestTemplate的实例并注入到Spring容器中取  在order-service中修改OrderService类中的queryOrderById方法,根据Order对象中的userid查询user数据  在OrderService类中注入RestTemplate的实例对象,通过调用它的getForObject()方法将指定url的数据封装成指定类型的数据  将封装的User对象加入到Order对象中去,返回Order对象  来,小伙伴们跟着风哥的步骤一起来做一下,let’s go.  步骤一 在order模块的启动类注册RestTemplate对象 ​ 为什么选择在order模块的启动类中呢,因为在这个过程中,order模块的相应方法是一个消费者行为,user模块充当的是一个服务者行为,而关于消费者和服务者理论,我会放在文末进行描述。  @MapperScan("cn.itcast.order.mapper") @SpringBootApplication public class OrderApplication {      public static void main(String[] args) {         SpringApplication.run(OrderApplication.class, args);     }      /**      * 为了实现负载均衡      * 创建RestTemplate并注入Spring容器中      * @return      */     @Bean     @LoadBalanced     public RestTemplate restTemplate(){         return new RestTemplate();     }  } 步骤二 调用相应接口获取并封装数据 ​ 在这里,我把细分的2-4步合并为了一步,因为实现起来,不要问:风哥,为啥呢?因为它俩密不可分呐,拆开来描述是为了让大家更清晰地去了解具体流程,而现在实现则要根据实际情况啊,宝贝儿们。  这里我为什么url前面用的是userservice,而不是其微服务模块对应的端口呢,这就涉及了Eureka的知识了,在这里没改是为了给大家先埋下个种子,让大家充满干劲去看本专栏下篇文章 restTemplate.getForObject(url, User.class):通过url调用相应的接口获取数据并封装成User数据类型 @Service public class OrderService {      @Autowired     private OrderMapper orderMapper;      @Autowired     private RestTemplate restTemplate;      public Order queryOrderById(Long orderId) {         // 1.查询订单         Order order = orderMapper.findById(orderId);         //2.查询user         //2.1.获取url地址         String url = "http://userservice/user/"+order.getUserId();         //2.2.根据url发起远程调用获取user         User user = restTemplate.getForObject(url, User.class);         //3.设置用户         order.setUser(user);         // 4.返回         return order;     } } 最后返回所需要的order数据类型即可。  结果图  2.3 服务者和消费者 前面说好的哈,文末跟大家聊一聊服务者和消费者理论。  在服务调用关系中,都有两个不同的角色:  服务者:即服务的提供方,说的现实一点,就是乙方啊😂 消费者:调用服务的一方,也说现实一点,就是甲方啊😂 在咱们这个小案例demo中,服务者和消费者非常清晰。   但是,凡是没有绝对,就像相对静止状态一样,状态随时可能会变,可能下一个业务中user-service就成了消费方,而order就成了服务者了,所以,这要根据具体业务具体分析🐶。  ​ 那么,好了,快乐的时光总是短暂的,风哥和小伙伴们在下篇文章中再见。 ———————————————— 版权声明:本文为CSDN博主「踏风彡」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_54217349/article/details/127955490 
  • [技术干货] 各类“云”技术经验分享
    各类“云”技术经验分享云计算技术经验分享通过一段时间的学习和实践,我对“云计算技术”有了一定的了解,从根本上改变对了云计算技术的认识,我深刻认识到这不仅是一门高科技技术 ,而且会成为日后推动世界经济发展的重大力量。当前,信息技术已经深入到各行各业,并在提升人类管理地球智慧的过程中发挥着基础性的作用。信息技术自身同样需要变得更加智慧来应对复杂的世界,“云计算”则代表了信息技术当前发展的新阶段。从宏观的角度来看,这也是经济发展规律的必然结果。社会经济从最开始的自给自足状态,渐渐发展到社会分工和标准化的出现;然后随着规模的扩大,产业链进一步细分和重组,用户可以获得丰富多样的、高度可定制的服务和产品。信息技术也是一样,用户将逐渐告别自己购买设备,自主开发和管理的阶段,转而采用云计算技术来获得更加高性价比和个性化的信息服务。  21世纪初期,崛起的Web2.0让网络迎来了新的发展高峰。网站或者业务系统所需要处理的业务量快速增长,例如视频在线 或者照片共享,这样的网站需要为用户储存和处理大量的数据。这类系统所面临的重要问题是如何在用户数量快速增长的 情况下快速扩展原有系统,随着移动终端的智能化、移动宽带网络的普及,将有越来越多的移动设备进入互联网,意味着 与移动终端相关的IT系统会承受更多的负载,而列于提供数据服务的企业来讲,IT系统需要处理更多的业务量。由于资源 的有限性,电力成本、空间成本、各种设施的维护成本快速上上升,这就面临着怎样有效地 利用这些资源,以及如何利用更少的资源解决更多的问题。同时,随着高速网络连接的衍生,芯片和磁盘驱动器产品在功能增强的同时,价格也在变得甘益低廉,拥有成百上千台计 算机的数掂中心也具备了快速为大量用户处理复杂问题的能力。技术上,分布式计算的日益成熟和应用,特别是网格计算 的发展通过Internet把分散在各处的硬件、软件、信息资源连接成为一个巨大的整体,从而使得人们能够利用地理上分散 于各处的资源,完成大规模的、复杂的计算和数据处理的任务oJ。数据存储的快速增长产生了以GFS(Google File System) 、SAN(Storage Area Network)为代表的高性能存储技术。服务器整合需求的不断升温推动了Xen等虚拟化技术的进步还有 Web2 0的实现,SaaS(Software as a Service)观念方兴未艾,多核技术的普及等,所有这些技术为产生更强大的计算能力和服务提供了可能。计算能力和资源利用效率的迫切需求,资源的集中化和技术的进步,推动云计算应运而生。  什么是云计算?不同的人从不同的角度来看,说法不尽相同。胡建强老师认为,就社会发展对信息技术的需求来看,云计算本质上就是面向减少初期投资、降低运营成本、实现规模效益、产生新创价值等需求而在计算技术和商业模式上的创新发展。云计算契合了当前信息系统发展的新需求,将成为大规模的智慧解决方案中的基础性信息技术,并在支持信息系统基础架构、组建操作平台、开发运行新型应用等方面提供集成的、便捷的、快速的手段。胡老师同时指出,近几年来,云计算在我国可谓风生水起,热闹非凡。然而,云计算从概念到落地实际上只能从2010年算起。在此之前只能看成是云计算的市场引入阶段。一、云计算的正确理解  云计算普遍认为是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使用能够按需获取计算存储空间和信息服务。  这里所说的“云”不是我们通常所理解的云。它是一些可以自我维护和管理的虚拟计算资源。通常是一些大型服务器集群,包括计算服务器、存储服务器和宽带资源等。  二、云计算的概念  云计算是网格计算、分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡等传统计算机技术和网络技术发展融合的产物。狭义云计算是指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的资源;广义云计算是指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需的服务。这种服务可以是IT和软件、互联网相关的,也可以是任意其他的服务,它具有超大规模、虚拟化、可靠安全等独特功效。  三、云计算的原理  通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。  四、云计算的现状  云计算是多种技术混合演进的结果,其成熟度较高,又有大公司推动,发展极为迅速。Google、Amazon、IBM、微软、Yahoo、Apple等大公司相继研发出云计算技术。  在我国,云计算发展也非常迅猛。2008年,IBM先后在无锡和北京建立了两个云计算中心;世纪互联推出了CloudEX产品线,提供会联网主机服务、在线存储虚拟化服务等;中国移动研究院已建立起1024 个CPU的云计算试验中心,并于2010年5月发布“BigCloud”;解放军理工大学研制了云存储系统Mass Cloud,并以它支撑基于3G的大规模视频监控应用和数字地球系统;Alibaba集团也成立了专注于与技术领域研究和研发的阿里云公司,启动大淘宝战略,研制了淘宝的分布式文件系统(TFS);中国电信与EMC公司合作推出面向家庭和个人用户的运营商级的云信息服务-“E云”,并在第二届中国云计算大会的展台上展示其云端产品。  目前,云计算不仅引起各行各业的广泛关注,还引起了各国政府的高度重视。美国、日本、英国等许多国家都在大力建立国家级云计算项目,试图在这场IT技术的全新革命中抢占先机。  中国的云计算发展还处于初级阶段,我们应该看到云计算巨大的发展潜力,要推动并加强云计算的研发和创新,培养相关的科研创新人才和团队,帮助国内  企业攻克在IT产业和信息服务领域的关键技术,加速信息化建设进程,进而提升工业化水平。  五、云计算的优势  1、具备规模经济性  具有相当的规模,Google云计算已经拥有100多万台服务器, Amazon、IBM、微软、Yahoo等的“云”均拥有几十万台服务器。  2、虚拟化能力强  云计算支持用户在任意位置、使用各种终端获取应用服务。所请求的资源来自“云”,而不是固定的有形的实体。只需要一台笔记本或者一个手机,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。  3、高可靠性  “云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机可靠。  4、通用性强  云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。  5、高可伸缩性  “云”的规模可以动态伸缩,满足应用和用户规模增长的需要。  6、按需服务  “云”是一个庞大的资源池,可以根据用户需求定制;可以像自来水,电,煤气那样提供计量服务。  7、价格低廉  由于“云”的特殊容错措施可以采用极其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率较之传统系统大幅提升,因此用户可以充分享受“云”的低成本优势。  8、支持快速部署业务,快速开展服务  云计算的强大的管理系统可以快速地部署业务,并实现新业务需要的云计算平台其他业务已有的数据库和能力组件快速调用和整合。  六、云计算应运而生的原因  随着互联网的发展,Web 2.0的浪潮使得大众可以参与信息制造和编辑,从而导致信息增长具有无限性的趋势。而摩尔定律的终结,使得在技术上和经济上都没有办法依靠硬件性能的提升而解决这一问题。怎样低成本的高效快速解决无限增长的信息存储和计算问题是一个摆在科学家面前的命题。云计算是采用大规模低成本运算单元通过IP网络相连而组成的运算系统以提供运算服务的技术。它具有高性能、低成本、通用性强的特点。  七、云计算对于技术的影响  1、计算成为一种公共资源 过去,企业和个人的数据都存储在计算机里,随着海量数据的增长,高效且低成本地存储和处理变得十分困难,不仅需要大带宽的网络基础设施,还需要处理海量数据的计算与存储的云计算平台。云计算平台正逐步成为一种社会公共资源,为企业和个人提供信息服务。  2、云计算成为科学研究不可或缺的加速器科学研究需要大理的计算和存储能力,特别是新型的算法和软件,需要利用海量数据来验证和优化。云计算技术为大型算法的研究和难提供了一种廉价高效的方案。  3、云计算可以极大降低企业IT成本 云计算服务最主要的吸引力在于企业能够降低购买和维护硬件、软件以及其他设备的成本。与一家云服务厂商签订合同,便可以云服务厂商的虚拟服务器基础设施上运行选择的系统或应用。  4、云计算极大影响了互联网应用模式和产品开发方向 通过云计算,更多的应用能够以互联网服务的模式交付和运行。利用强大的互联网浏览器和通用的终端设备,用户可以很方便地操作各种软件应用。  八、云计算对各产业的影响  1、在互联网领域,使得信息消费模式发生巨变 个人及企业用户将不需要学习客户端软件的操作,只需要根据提供的简洁的界面和窗口,访问一下站点就可以得到服务。同时,网络化的应用软件能按需定制,收费灵活,并杜绝盗版。  2、在工业领域,助力工业化和信息化的融合 目前,大多数工业领域企业都在着手利用云计算整合其现有的数据中心,实现对既往投资的IT资源的充分利用。通过云计算来处理电信运营商所拥有的海量数据,以期降低IT系统的成本,提高IT系统的效率和性能,加强经营决策的实时程度,将是电信运营商使用云计算的一个重要领域。  3、在**领域,助力构建独立、安全的`国家级公众信息服务网络 云计算的特殊优势引起了各国政府的关注。日本内务部、美国国防部、英国政府都称将建立大规模的云计算基础设施,以支持所有政府运作所需的资讯科技系统,提高运营效率和降低成本。  九、云计算发展面临的主要问题  1、云计算标准尚无建立  目前,无论是云平台还是云服务的国际标准都没有形成,这就给云计算的发展带来瓶颈。  2、云计算的安全性  目前,安全性和隐私权可能是将服务迁移到云计算所面临的最大风险。灵活性、易于使用的服务和易于共享基础设施是云计算的优势,但人们的云计算使用方式可能会让很多公司的信息和知识产权面临风险。  3、政策法规不完善  云计算加速现有IT及信息服务业的变革,从而极大地改变着产业链格局和商业模式。面对新的产业链格局和新的商业模式,很多在政策法规领域的工作还没跟上  4、云观念的接受不容易  云计算服务也许未能提供大企业需要的可靠性、可管理性和支持程度。目前,许多云服务主要以中小型企业和消费者为主,而不是以大企业为目标。  5、云计算节省金钱的程度  目前,云计算并不昂贵,但是考虑到总拥有成本(包括重复性成本)、运营成本以及潜在的风险,这个问题则可能另有答案。  十、面对云计算,中国科技应如何发展?  云计算,对于中国既是机遇,更是挑战!它必将深刻改变IT及信息产业的格局,同时改变我们的生活。也可能会改变中国科技在全球的地位。作为中国的科技管理机构,应该直面挑战,抓住机遇!需要从国家层面重视云计算的技术变革,在教育、普及、重点研发、示范工程等诸多领域统筹规划,科学发展。  1、助力国家信息基础设施建设,推动国家信息化发展  随着各行各业信息化进程的不断深化,政府、大型企事业单位等重点客户面  临着许多困境与挑战:IT机房的建设和系统运维难,人工成本和能源消耗巨大等。云计算将可以提供可靠的基础软件、丰富的网络资源、低成本的构建和管理能力,加速国家信息基础设施的建设。  2、促进节能减排,建设资源节约型、环境友好型社会  云计算的集中化资源整合可以有效地降低能源消耗,提高电能利用率。实践表明,和传统数据中心相比,云计算能够节省约70%的电能消耗,节能效果显著。  3、发展我国云计算工业,保护中国的数据安全  以美国为代表的发达国家信息服务业的服务范围是跨国界的,其全球强势地位一时还难以撼动,其产业渗透在我国处处可见。我国大量互联网数据被聚集在北美的数据中心上,使用Google、微软、雅虎等搜索和邮箱的网民数量难以估计,国家的数据安全以及国民个人信息隐私的安全令人忧虑。同时,将公共事务处理任务部署到“云”中,可以更好地整合、共享有限的高性能计算资源,使其按需使用、灵活调配。借助云计算,我国将可能用较低的投入、较快的速度来创建自有的数据资源和知识资源,提高世界知识总量的拥有率、转化率和使用率。  4、促进产学研用相结合,加快科学技术创新  云计算是为了解决企业信息化发展的实际问题而由产业界推动的技术创新。海量数据处理是现代工业发展的一个标志。云计算关键技术问题和瓶颈只有在大规模集群环境中才能显现并获得解决,需要企业投入大量资金,联合高校、科研院所进行关键技术攻关。  5、吸引并培养尖端人才队伍,加快推进人才强国战略云计算是世界上最热闹的IT技术革命,是集硬件、软件、中间件综合的信息化尖端技术,需要大量的专业人才进行科技攻关。加强云计算的自主研发,有助于促进产学研用联合创新,并在创新过程中培养学科带头人以及专业研发人员。不仅如此,云计算本身将是吸引全球高层次人才的“聚宝盆”,开展云计算的研发将大大加速杰出人才的引进及优秀团队的培养。  虽然云计算的发展仍面临着许多的难题,但是云计算这种方式的确有其不可取代的优势,它被许多专家认为,会改变互联网的技术基础,甚至会影响整个产业的格局,云计算技术和基于云计算的服务的存在,会成为日后推动世界经济发展的重大力量。云原生技术经验分享1. 云原生的基础是利用了容器技术。关于容器的特点有:(1)容器技术使用Linux系统内核的namespace技术隔离了进程;(2)容器技术使用Linux系统内核的cgroup技术实现了进程的资源限制;(3)容器技术使用镜像分发的技术实现了应用和运行环境的打包部署和分发,因为运行环境打包进了镜像中,保证了运行环境的统一,这大大方便了应用的部署;(4)容器镜像的文件系统是联合文件系统,分层联合挂载,这样的好处就是可以很大程度上复用本机上的重复镜像文件层;(5)容器技术相比虚拟机有那些优缺点:首先,容器技术更高效的利用系统资源,容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,容器对系统资源的利用率更高;其次,使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,磁盘利用率更高;最后,容器的这些优势和特点也造成了相对于虚拟机的劣势:无法虚拟化运行与宿主物理机操作系统内核不同(因为共享物理机的内核)的操作系统应用。在资源隔离上也不如虚拟机。2. 云原生的基础架构编排工具K8S的底层实现是使用go语言,想要很好的运维和开发K8S,必须掌握好go语言。3. 认识与了解K8S:Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本。(1)基于容器的应用部署、维护和滚动升级;(2)负载均衡和服务发现;(3)跨机器和跨地区的集群调度;(4)自动伸缩;(5)无状态服务和有状态服务;(6)插件机制保证扩展性。4. 什么是K8S及K8S的核心对象:Kubernetes是谷歌开源的容器集群管理系统,是Google多年大规模容器管理技术Borg的开源版本。Kubernetes的核心对象有:(1)node:计算节点;(2)namespce:隔离名称空间;(3)pod:调度最小单元,其中必须包含1个或1个以上的容器;(4)service:一种可以访问 Pod逻辑分组的策略,通常是记录了pod的IP和端口、名称等信息;(5)ingress:对外暴露服务的对象,相比service的nodepod可以实现更强大的功能(反向代理等)。(6)configmap:保存应用的配置;(7)secret:安全的保存敏感信息;(8)deployment:无状态应用的部署对象;(9)replicaset:有状态应用的部署对象;(10)crd:自定义资源对象;
  • [业务动态] 关于《基于CCE进行云原生应用部署与运维管理》等2个沙箱实验下线优化的通知
    《基于CCE进行云原生应用部署与运维管理》、《基于ServiceStage的微服务开发与部署》沙箱实验于2022年11月17日进行下线优化,实验下线后将无法开始实验,下线前的实验操作记录可在【开发者个人中心】的【我的实验】页面中进行查看,预计于2022年11月21日完成优化并上线,请知悉。感谢您的关注,欢迎到沙箱实验室,体验更多精彩实验!发布日期:2022年11月17日
  • [活动公告] 议程揭晓!第一届云原生边缘计算学术研讨会议程公布!
    探索,边缘新未来2022年11月16日-17日第一届云原生边缘计算学术研讨会 The 1st KubeEdge Academic Workshop 2022议程揭晓!CNCF KubeEdge 社区将于2022年11月16日-17日举办第一届云原生边缘计算学术研讨会 The 1st KubeEdge Academic Workshop 2022 (KEAW'22)。本次研讨会聚合学界领军专家和技术爱好者,汇集边缘计算学术研究及实践案例,旨在进一步帮助更多云原生边缘计算开发者、用户了解边缘计算最新技术突破与未来挑战,洞察边缘计算前沿技术及趋势,开拓行业发展新机遇! 作为业界首个云原生边缘计算开源项目,KubeEdge自开源以来受到了产业界和学术界广泛的关注和支持,吸引了全球来自30+国家的70+贡献组织及16万+开发者,在Google Scholar中,KubeEdge相关学术论文已超过400篇。本届会议也将聚焦边缘计算技术研究和产业转化,携手共建边缘计算生态。CNCF KubeEdge 社区邀您一起见证云原生边缘计算技术突破与多场景创新,欢迎全球边缘计算技术爱好者线上与会!回复研讨会 进入研讨会交流群填写报名表 赢取社区周边
  • [行业资讯] 中软国际发力智联网自主创新 数智赋能千行百业
    2022年11月4日-6日,第四届华为开发者大会2022(Together)在东莞松山湖盛大举行。作为开源鸿蒙生态共建者和重要贡献者,中软国际与深开鸿应邀携手参加此次开发者大会。中软国际智能物联网业务集团市场部总经理黄志航在鸿蒙生态伙伴媒体发布会上作《数字化时代的自主创新之路》主题演讲,阐述数字经济时代智能物联网的战略价值和发展趋势,深入解读中软国际在自主创新智能物联网上的多层次业务布局并发布相关创新成果。数字经济是推动经济发展的新动力物联网是数字化转型的必经之路随着新一轮科技革命和产业变革深入发展,数字经济已成为世界各国抢抓发展新机遇、塑造国际竞争新优势的焦点。《“十四五”数字经济发展规划》提出,到2025年数字经济核心产业增加值占GDP比重达到10% ,指标达成的关键在于推动数字化转型,发展数字产业新赛道。在数字化转型与数字产业新赛道的交叉路口上,物联网是必经之路。中国物联网市场发展迅速,投资前景巨大。物联网在各行各业的应用正不断深化,催生出大量的新技术、新产品、新应用。与此同时,传统物联网存在的问题也开始暴露出来,如对外依赖强、烟囱项目多、项目周期长、多端互动难、安全隐患多等,成为行业向上跃升的巨大阻碍。人工智能与物联网协同应用,将成为解决难题的关键抓手。相比传统物联网,智能物联网更自主可控、更个性定制、更敏捷灵活、更全域智能、更高效安全。物联网升级智联网势在必行。中软国际发力智联网自主创新 以KaihongOS为底座构建多层次业务格局 自主创新操作系统是智能物联网之根。中软国际基于OpenHarmony产业生态,联合深开鸿创新研发一个数字底座——KaihongOS,一个超级终端管理平台GitIoT应用开发平台,赋能N个行业应用场景。面向智能物联网领域,自主创新操作系统KaihongOS下链智能终端设备,上承数字软件生态,聚合超级终端管理平台,推动千行百业自主创新发展。依托20多年软工能力沉淀和9万数字铁军,结合中软国际优秀的服务及交付能力,中软国际和深开鸿优势互补,联合打造“云-管-边-端”一体化全栈服务体系,通过国产化、模块化、系统化构筑端到端的自主、安全、可控AIoT行业解决方案,满足物联网领域行业垂直、场景具体、深度定制的要求,赋能国产智联网生态建设。打造AIoT生态服务平台——鸿联创 全面服务产品智能化 助力行业自主创新 智能物联网生态构建的重点,在于平台支撑、区域布局、机制形成与品牌打造。中软国际打造鸿联联创营(以下简称“鸿联创”)AIoT生态服务平台,旨在以需求为驱动、以场景为路径、以政府为先导、以区域为单元,探索对接服务自主创新智能物联网南北向生态的新模式。鸿联创于2020年9月首发乌镇并启动运营,之后逐步拓展郑州、苏州、盐城、中山、天津等地,为当地AIoT生态发展使能、释能、赋能。鸿联创全面服务产品智能化。在物联网产品迈向智能化的迫切需求下,企业急需针对研发制造、营销、运营服务等环节,实现全场景的智能产品全生命周期管理和改造。鸿联创以产品制造、产品营销、产品连接管理、产品创新运营等四大场景为牵引,通过流程改进、问题预防、数据可视化、自动化运维等技术手段,缩短智能化产品上市时间,减少研发成本,提升制造企业核心竞争力。鸿联创助力行业自主创新。鸿联创以构建智联网生态平台为抓手,以云原生数字底座、低代码应用开发、微服务、设备连接管理、数据可视化等技术套件,共建便捷、低成本的智联网生态体系,推动产业全价值链、全要素、全生命周期互联互通和数据共享,实现行业高效协同和资源精准配置。随着行业对自主创新的需求越来越高,推进自主、可控、安全的智联网建设也迫在眉睫,中软国际鸿联创也在全面升级平台、产品、服务、战略、品牌,聚焦政企客户AIoT国产化迁移场景和需求,深入发展自主创新智联网应用及生态。同时,中软国际将不断向下扎深kaihongOS“根技术”,强大GitIoT开发应用平台的“树干”,并以鸿联联创营为抓手,拉通供需,向上滋养千行百业枝繁“叶”茂,最终推动整个产业的数字化、智慧化数字转型!
  • [技术干货] 每周四晚8点|Volcano云原生批量计算课程直播!
    随着业务场景的不断丰富,批量计算也由传统的HPC逐渐扩展到大数据、AI等多种场景,但各领域独立发展将造成技术栈不兼容、资源使用率低等问题。在此背景下,云原生技术以其丰富的生态和灵活的扩展性受到各大厂商的青睐,云原生统一基础设施成为必然选择。Volcano作为CNCF首个云原生批量计算项目,支持几乎所有的主流计算框架,提供丰富的高级调度策略及多元算力支持,可在人工智能、大数据、基因测序等海量数据计算和分析场景得到快速应用,弥补了Kubernetes批处理调度能力的空缺 ,并已构建起完善的上下游生态。项目目前已有450+位来自全球各地的贡献者和50+落地案例。今年6月,Apache Spark 3.3版本正式发布,v3.3选择Volcano作为默认batch调度器,助力大数据平台云原生化。9月29日开始,Volcano即将全面开启技术分享课程,核心技术无保留传授——27节公开课,全网首发!13位批量计算行业大咖亲自教学一门职业技能,轻松get!课程研发团队 本次批量计算课程由CNCF 首个容器批量计算项目Volcano的核心贡献者联合研发。适合人群 计算机相关专业的学生群体云计算应用开发、运维工程师、产品经理云原生开源技术爱好者、Volcano社区用户、贡献者部分课表 课次课程名称1云原生批量计算公开课简介2云原生批量计算的先行者Volcano3Volcano安装部署快速入门4如何在AI场景下使用Volcano?5如何在大数据场景下使用Volcano?6如何在HPC场景下使用Volcano?7云原生批量计算的集大成者Volcano Job8Volcano Job插件机制及使用9手把手教你构建自己的Volcano Job插件10资源调度的基石Queue11Volcano的独门秘籍PodGroup12Volcano技术内幕:架构设计与实现原理13走近Action和Plugin机制14Action和Plugin之资源预匹配与SLA策略15Action和Plugin之资源分配与装箱策略扫码回复Volcano进群 免费领取全部27节课·课表不能错过的第一堂课 9月29日日开启,每周周四晚20:00开课CNCF 大使 Kevin WangVolcano 社区 Maintainer 王雷博为大家率先开启课程后续每周讲师信息,可添加k8s2222进学习群获取成为大家的批量计算导师带大家开启云原生批量计算的学习整个学习期间,你们的大佬级导师,也会在学习群内陪伴大家的课程,监督大家的课程进度哦。从入门到精通,万万不能错过第一课!(扫上方海报码回复Volcano进群)学批量计算,认识批量计算达人技能破局,需要1次体系化的洗礼27节课程规划,理论+实践提升战力每周1小时,轻松为个人职业加码不只是学习,一路结识更多批量计算达人添加助教微信领取开课礼包
  • [技术干货] 【一行代码秒上云应用上云实训营二期任务二】十分钟搞定应用上云运行实践,输出反馈文章赢取额外积分,还有征文奖励哦~
    **十分钟搞定应用上云运行实践****输出测评反馈文章获取额外积分**请各位参与活动的开发者,将实践手册体验测评反馈文章,、以博客的形式发出,并将博客链接附在此帖评论区即可~实践手册传送通道>>>征文活动>>>活动详情页>>>
  • [热门活动] 【一行代码秒上云应用上云实训二期任务一】零基础体验AppCloud一键部署,完成应用上云,还有积分、《程序员修炼之道》、代金券等诸多礼品可得哦~
    **零基础体验AppCloud一键部署****输出专业反馈报告赢取精美礼品**前往领取专属代金券资源>>>(已截止)体验传送通道>>>活动详情页>>>活动奖励奖项奖品要求报名AppCloud一键部署体验(已截止)1元ECS代金券前往AppCloud完成一键部署任务输出体验反馈报告5元ECS代金券以压缩包、帖子链接、博文链接等的方式附在本帖评论区优秀反馈体验报告《程序员修炼之道》由华为云AppCloud技术专家评审,参考模板详见附件~反馈体验幸运奖《devops实践指南》当反馈报告人数超过四人时,以抽奖形式送出操作流程1.前往体验AppCloud一键部署2.创建应用:自定义名称、应用简介、选择在华为云DevCloud中同步创新项目3.基础设置:下载软件包上传至华为云DevCloud,本机配置云服务器名称和ecs密码自定义4.一键部署:​5.访问应用6.释放资源:前往我的主页释放资源
  • 【一行代码秒上云应用上云实训二期奖励发放】零基础体验应用上云流程,加入华为云DTSE培训队伍,还有1400元ECS云资源券、开发者认证代金券、书籍、无线鼠标、香薰加湿器等诸多礼品等你来赢!
    奖项公示期三天,请各位如有异议私信版主反馈~若无异议,请获奖用户前往此问卷>>>填写获奖信息,以便寄送礼品~超过15个工作日未反馈信息,则视为放弃领奖哦~奖项奖品获奖用户AppCloud体验报告参与奖5元华为云代金券zz**liAr***veBre****anhid_****dg_leuhuf8osun***beiyu**n优秀产品体验报告《程序员修炼之道》Bre****anAppBazaar体验反馈幸运奖《devops实践指南》sun***bei积分奖37元微认证代金券zz**li**以“一行代码秒上云”为活动宗旨,追求高效上云实践****华为云DTSE强势站台,提供一线上云经验及技术支持****聚焦于开发者华为云云服务产品的使用到华为云云原生进阶的技术支持服务**适合人群:想要学习云上应用开发构建的开发者;                 想要了解实操华为云服务产品能力的开发者;                 对DevOps、敏捷知识感兴趣的开发者活动时间:2022.09.16-2022.11.30(鉴于目前活动参与人数较少,活动延期至11.30,请谅解~)学习交流群   注:请修改群内昵称为华为云账号+xx活动参与方式:注:体验AppCloud一键部署和AppBazaar实践操作都会涉及云资源消耗,产生一定的费用,请知晓并及时释放资源避免产生更多付费。 完成活动报名;点击​,邀请朋友完成任务,报名链接>>>完成AppCloud一键部署体验,并反馈产品体验报告,任务指导>>>完成AppBazaarDIY文档实践体验,参与征文活动,任务指导>>>完成问答抽奖,抽奖地址>>>参考AppBazaar官方DIY文档,自行设计一个项目的上云方案,任务指导>>>(1)邮箱提交:以《一行代码秒上云二期》DIY方案提交为主题提交至邮箱hwappcloud@163.com,邮件内容附联系方式、华为云账号以及微信号,以便后续邀请您加入华为云DTSE培训队伍~(2)微信提交:直接加入学习交流群将文档提交给群主,并提供联系方式和华为云账号~合格作品要求:(1) 开发者设计的上云方案经过验证确认该过程可复现、应用可运行;(2) 开发者上云方案所涉及项目代码需保证其安全性,无版权风险,且支持华为方进行方案复现评审;(3)方案文档呈现需完整,可读性强。优秀作品要求:(1)代表性,上云方案等是否具备代表性;(2)技术复杂度,包括使用的云服务的数量,高阶云服务的数量,产品高端特性、高级技术的应用等;(3)热度,酌情考虑案例发布后引起开发者技术探讨的热度、模仿该案例的热度等;(4)方案呈现的完整度,直观性,多样性等。任务清单>>>积分规则:任务点分值备注体验AppCloud20分输出产品体验报告10分评选为优秀产品体验报告10分完成上云实验10/个上限30分输出实践测评文章5分提交DIY上云方案10分评选优秀上云方案5分邀请好友完成AppCloud体验1分/个上限10分奖励清单:奖励类型奖项奖励个人奖报名并完成AppCloud体验(已截止)一元代金券AppCloud优秀体验报告Top1-3《程序员修炼之道》AppCloud体验报告参与奖5元华为云代金券AppBazaar体验反馈幸运奖《devops实践指南》  AppBazaar征文奖励600元、400元、300元、100元、50元开发者礼包问答抽奖《devops实践指南》积分奖积分>75,且TOP1-3499元开发者认证代金券+无线鼠标+公牛插座魔方+酷睿冰尊A9 带屏 笔记本散热器+定制双肩包+盲盒冰箱贴+《程序员修炼之道》书籍+京东京造金属鼠标垫积分积分>65,且TOP4-1037元微认证代金券+《微服务架构模式设计》+无线鼠标积分积分>50,且TOP11-2037元微认证代金券+无线鼠标积分>50,TOP21-5037元微认证代金券邀请奖邀请100+好友完成AppCloud产品体验,且邀请好友数量TOP11400元华为云云服务器产品券邀请40+好友完成AppCloud产品体验,且邀请好友数量TOP2香薰加湿器+酷睿冰尊A9 带屏 笔记本散热器+《凤凰项目 一个IT运维的传奇故事》书籍邀请20+好友完成AppCloud产品体验,且邀请好友数量TOP3无线鼠标+京东京造金属鼠标垫邀请10+好友完成AppCloud产品体验,且邀请好友数量TOP4-TOP10手持电风扇邀请1位好友完成AppCloud产品体验,可抽奖公牛插排奖品发放说明:本次活动抽奖将对抽奖过程做录屏公示,如您对评奖方式有异议,请勿参加本次活动。每位参加活动的用户理解并同意,为联系获奖用户以及奖品发放的需要,用户须在参与活动之时提供诸如姓名、联系方式、电子邮箱、通讯地址等真实个人信息,活动主办方将仅为前述目的以及适用法律规定的最小限度内收集和使用用户的个人信息,本次活动所收集的个人信息将在活动结束后删除。(用户在向华为云提交个人信息之前,应阅读、了解华为云《隐私政策声明》;用户参加本活动视为理解并同意华为云《隐私政策声明》,华为云《隐私政策声明》网页地址如下:https://www.huaweicloud.com/declaration/sa_prp.html)。获奖用户在领奖界面填写获奖信息,活动结束且用户填写完整领奖信息后14个工作日内,将统一发出奖品,不额外收取任何费用。由于获奖用户自身原因(包括但不限于提供的联系方式有误、身份不符或者通知领奖后超过30天未领取等)造成奖品无法发送的,视为获奖用户放弃领奖。为保证活动的公平公正,华为云有权对恶意刷活动资源(“恶意”是指为获取资源而异常注册账号等破坏活动公平性的行为),利用资源从事违法违规行为的用户收回抽奖及奖励资格。本活动规则由华为云在法律规定范围内进行解释。华为云保留不时更新、修改或删除本活动规则的权利。所有参加本活动的用户,均视为认可并同意遵守《华为云用户协议》,包括以援引方式纳入《华为云用户协议》的《可接受的使用政策》、《法律声明》、《隐私政策声明》、相关服务等级协议(SLA),以及华为云服务网站规定的其他协议和政策(统称为“云服务协议”)的约束。云服务协议链接的网址:cid:link_8 如果您不同意本活动规则和云服务协议的条款,请勿参加本活动。
  • [技术干货] 【一行代码秒上云】项目临时初验,生产环境还没搭全怎么办,在线等,急!
    客户领导临时决定明天项目初验,生产环境还没搭全怎么办,在线等,急!每当年底很多项目都忙着验收回款,验收回款的意义有多重大——成了,项目组发奖金;不成,别说奖金,明年开春团队保不保得住都难说。今天XX云项目的客户领导突然提议要在明天进行项目初验,项目经理小贾是悲喜交加,喜可以理解, “悲”又是怎么回事呢?原来,事情的经过是这样的。XX云原定在年后3月进行项目初验,因为小贾为人热情厚道,客户关系搞的也不错,所以客户领导决定提前初验,好让开发团队过个好年。提前验收是个好事,可是生产环境还没完全搭起来,——刀片机到位了,网络还没配置,程序运行环境、数据库啥的更别提了,一天时间根本搞不定,可告诉客户还没准备好的话,年前验收估计没戏了。“客户有意愿初验,那就必须拿下,可是生产环境都没弄好,咋整呢。我问问强哥,看看他有没有啥办法。”小贾真没辙了。强哥是XX云的研发大牛,作为团队骨干,这种小Case自然难不倒他。“亏你还是咱们XX云项目经理,云呀,你可以代码上云呀!”“代码上云和本地有什么区别么?”小贾一脸疑惑。“来,让强哥给你唠一唠这里面的门道。”什么是代码上云随着时代发展,IT项目对本地硬件环境要求也越来越高——越来越多的用户,越来越高的稳定性,越来越强劲的计算能力等。当然除了硬件环境外,还需要一支专业运维团队去配置、运行、维护这套环境,不管是资源投入,还是时间投入对企业来说,都是一笔不小的开销。“云”应运而生。“云”即云计算,指一种提供资源的网络,使用者可以随时获取“云”上的资源,按需使用且可无限扩展。大多数情况下,“云”可通过软件实现自动化管理,相比本地资源,只需少量人力参与,就能让资源被快速提供。“上云”是指将应用从本地部署或迁移至“云”上的过程,应用上云后,开发团队可以不必再过分关注硬件、环境等问题,因为云服务提供商的专业团队会保障环境稳定运行。为便于理解,举一个简单的例子:用老式随身听听音乐,需要不断地购买卡带或者cd(不管是体积还是成本都很大),而现在我们只需要用音乐软件搜一下想听的音乐,就可以直接听了,这就是本地环境和“上云”的差别。 “说了这么多,你明白了么”强哥问道。“你的意思是,我直接把应用部署到云主机上?网络、环境啥的都不用管了?”小贾似懂非懂。“也不全对,虽然现在云主机,云数据库等各类云产品功能很全,但是你还是得根据咱们项目修改一些应用配置,不过工作量相比于之前来讲,真是少多啦。”强哥自信的说道。听了强哥的建议,小贾内心的大石头落地了,验收和年终奖看来都不成问题了“云竟然这么厉害,我之前还真没了解过,哈哈哈哈。”“云的优点还不止这些呢,强哥再给你唠一唠?” “行啊~”代码上云的优点代码上云的优点有很多,在此列举以下四点:1.降低成本,提高效率开发团队直接从供应商处获取资源,无需像十几年前花费大量金钱来购买和维护资源(包括机房、主机、运维团队等),大大降低了资本支出成本。另外普通的开发团队很难应对来自网络对应用的各种攻击,而使用云服务则可以借助专业的安全团队来有效降低安全风险。2、按需购买,即开即用开发团队可以根据根据自己的需求,购买自己需要的配置,同时很多云厂商会提供“包年/包月”、“按实际时长计费”等多种计费方式。当资源不被需要时,可直接释放。 3、弹性易用开发团队可以根据业务需求自行定义弹性伸缩策略,通过可视化控制台配置定时或者周期性的监控策略,动态的调整弹性云服务器实例,保证业务平稳健康运行满足业务需求的同时,减少资源投入。通过云计算架构,当云资源无法满足应用生产时,开发团队可以对所用资源的配置进行升级。4、可靠性高。各大云平台通常会提供安全、稳定、高速、隔离、专有的网络传输通道,以保障云资源的网络稳定,同时提供开放性的云监控服务平台,提供资源的实时监控、告警、通知等服务,让开发团队可第一时间知悉业务运行状况。“代码上云优点多着呢,正好我这有一个SpringBoot的Demo,我给你打个样,让你看看什么叫‘一行代码秒上云’。”强哥越说越激动。“好啊,等我看完,我就把咱们项目部到云上。”华为云DevCloud如何实现“一行代码秒上云”想要一行代码秒上云,工具自然少不了,这里推荐使用华为云弹性云服务器ECS搭配华为云DevCloud。弹性云服务器ECS弹性云服务器是由CPU、内存、镜像、云硬盘组成的一种可随时获取、弹性可扩展的计算服务器,同时它结合虚拟私有云、虚拟防火墙、数据多副本保存等能力,为您打造一个高效、可靠、安全的计算环境,确保您的服务持久稳定运行。弹性云服务器创建成功后,您就可以像使用自己的本地PC或物理服务器一样,在云上使用弹性云服务器。购买弹性云服务器ECS时,可以按需选择主机的计费模式,主机配置,操作系统等属性。购买完成后,就拥有一台云端的弹性云主机。华为云DevCloud华为云软件开发服务(DevCloud)是一站式云端DevOps平台,面向开发者提供的云服务,即开即用,随时随地在云端进行项目管理、代码托管、代码检查、流水线、编译、构建、部署、测试、发布等,让开发者快速而又轻松地开启云端开发之旅。新建项目通过华为云软件开发服务(DevCloud)进入华为云DevCloud后,可以直接新建项目。选择“Scrum流程”开发流程,设置项目名称为“demo”,输入项目描述信息。如下图所示:完成项目创建。主机组管理点击项目“demo”顶部右侧的 “设置”下的“通用设置”。然后在通用设置页面左侧菜单栏选择“主机组管理”,点击“新建主机组”按钮添加主机组。在主机组管理功能中,填写项目需要部署运行的主机信息,如IP、用户名、密码等。代码托管代码托管 CodeHub,源自华为千亿级代码管理经验,基于Git,提供企业代码托管的全方位服务。点击项目“demo”项目顶部菜单栏“代码”,然后选择“代码托管”进入代码托管界面,点击“普通新建”按钮右侧的下拉箭头“V”并选择“按模板新建”选择名为“Java Web Demo”的官方代码仓库模板,点击“下一步”。根据提示填写仓库关键信息,即可生成代码仓库当然这里只是示例,代码仓库的操作、功能和本地Git仓库基本相同。代码检查代码检查(CodeCheck)是基于云端实现代码质量管理的服务,软件开发者可在编码完成后执行多语言的代码静态检查和安全检查,获取全面的质量报告,并提供缺陷的改进建议和趋势分析,有效管控代码质量,帮助产品成功。点击项目“demo”项目顶部菜单栏“代码”,然后选择“代码检查”进入代码检查界面,选择“web-dev-codecheck”检查任务,进入进入代码检查任务的“设置”界面,选择“规则集”在Java语言的“启用规则集”中选择“安全检查规则集”点击“开始检查”启动代码安全性检查任务执行。稍作等待,待任务执行完毕,点击“概览”查看检查结果,如下图所示实际开发中可根据代码检查报告,对代码中存在的安全问题进行修复后再执行安全检查直至问题达到可允许的范围内。。编译构建编译构建(CloudBuild)基于云端大规模并发加速,为客户提供高速、低成本、配置简单的混合语言构建能力,帮助客户缩短构建时间,提升构建效率。点击项目“demo”项目顶部菜单栏点击“构建&发布”,选择“编译构建”,进入编译构建服务首页,如下图所示:点击系统自动创建的名为“WEB-Dev-cloudbuild”构建任务所在行的“开始构建”按钮,开始进行编译构建(构建步骤可根据自身项目自行配置)。点击项目“demo”项目顶部菜单栏点击“构建&发布”,选择“发布”,按照构建任务名称及时间戳点击查看构建生成的软件包部署部署(CloudDeploy)提供可视化、一键式部署服务,支持并行部署和流水线无缝集成,支持脚本部署,容器部署等部署类型,支持java、node.js、python等多种技术栈,实现部署环境标准化和部署过程自动化。点击项目“demo”项目顶部菜单栏点击“构建&发布”,选择“部署”,进入部署服务页面,如下图所示:按上图所示点击“web-dev-deploy”部署任务所在行的图标,进入任务编辑页面。“web-dev-deploy”是代码模板自带由系统自动创建的,实际开发项目需要根据业务场景自行创建部署任务。启动执行后,等待部署任务执行完毕,如下图所示:访问结果如下图所示:“小老弟,看明白了么?”强哥问道。“明白,代码上云也不难嘛,也就分分钟钟的事。”“嘿嘿,我还有一招没秀呢,那就是流水线,有了它,以后每次发版更新,那都是秒上云了~”“哦?流水线?”流水线流水线 CloudPipeline提供可视化、可定制的持续交付流水线服务,实现缩短交付周期和提升交付质量的效果。点击项目“demo”项目顶部菜单栏点击“构建&发布”,选择“流水线”,进入流水线服务页面,如下图所示:按上图所示点击名为“WEB-Dev-pipeline”流水线任务所在行的图标,进入任务编辑页面。“WEB-Dev-pipeline”是代码模板自带由系统自动创建的,实际开发项目需要根据业务场景自行创建流水线任务。通过流水线,可以将之前配置的任务串联起来,自动执行,提升研发效率。“原来项目上云这么方便啊!我的初验有救了!我的年终奖有着落了!强哥你就是我的救世主!”小贾感叹道。强哥语重心长的说:“现在咱们IT圈干啥都离不开云,你应该多了解一下了云啦 ~”
  • [技术干货] 【华为云AppCloud】应用上云就三步,你学“Fei“了不?
    提问:把应用代码构建成可使用的云上应用,总共要几步?小白这样说:问我这个问题,我真的会谢…我能localhost把应用运行起来就不错了,构建云上应用?想都不敢想….刚出新手村的开发者这样说:这个问题难不倒我,依我这一年多的开发经验来看,至少得五步吧:第一步:把代码编译成制品包,第二步:买一台云主机,配上公网IP,至于主机规格,我可说不准,先2核4G,跑不起来再说呗;第三步:搭环境,在主机上安装jdk、tomcat等一系列应用运行所需要的程序;第四步:把制品包放到云主机的对应目录下,通过shell脚本启动服务,查看日志,看看有没有启动异常;第五步:打开浏览器,输入地址,访问应用。怎么样,没毛病吧,我跟你讲,自己搞一套应用环境,可不容易啊。大拿这样说:就这?DevOps听说过没?就是I have Development,I have Operations,emm…DevOps。提交代码到Git上,安装DevOps工具链完成应用的构建和部署,最后打开浏览器访问应用,三步到位,都不用手工安装服务器环境。当然DevOps包含的内容很多,比如 敏捷、精益、自动化、持续集成等 。DevOps最初的出现是为了解决复杂系统的快速迭代交付,通过自动化工具链比如Jenkins,让代码的构建以及软件包的部署都可以定时或触发性的自动化执行,这样就提高了交付效率。如果只是部署一个不经常更新的单机应用的话,说实话DevOps有些大材小用了。不过,我用DevOps工具链已经用习惯了,让我手动装环境是不可能的——具体流程我上面已经说过了;如果再算上购买云主机、弹性IP等步骤,最多就是四步吧。在这个过程中,DevOps工具链会帮助我完成服务器环境的搭建,这可比手工安装省事太多了,一台服务器还好,让我手工部署到10台服务器上,我可受不了;不过DevOps工具链的安装配置,也是一门学问哟,没有点基础,一般人可学不来。AppCloud这样说:两步。一个高效的工具两步就足够了。两步? AppCloud是什么牛马?什么是AppCloud?AppCloud是一个通过“技术方案”帮助开发者轻松构建上云应用的工具平台;我们将构建应用的“过程”模板化,形成“技术方案”;同时AppCloud结合DevOps理念,开发者在使用AppCloud时,只需要调用对应的技术方案,AppCloud会自动调用DevOps工具链,实现一键部署,快速构建云上应用。AppCloud对开发者有什么意义?当开发者对于构建应用无从下手或者有困惑时,可以通过我们的AppCloud提供的技术方案(包括部署来源,主机配置,部署任务等)实现一键部署,轻松完成云上应用的构建;同时AppCloud支持用户自定义“技术方案”,以供其他用户进行学习、使用。AppCloud好操作么?即使是小白,在AppCloud的帮助下,也能轻松构建云上应用。在AppCloud里没有复杂的环境配置,大部分配置都是预制好的,比如运行应用的资源、服务器环境等,这样就大大降低了构建云上应用的门槛。那具体如何构建云上应用呢?第一步:将应用代码构建成制品包(可通过本地IDE执行);第二步:打开AppCloud,将制品包上传至AppCloud,进行一键部署,在此过程中,AppCloud会自动购买应用运行所需的资源,并搭建运行环境,最后完成应用部署,从AppCloud中访问应用,上云完成。轻轻松松,一键上云,你还不来试试么?现在点击此处前往华为云体验官活动,一分钟体验一键部署云上应用!加入华为云体验官队伍还有更多权益等你来拿! 高效工具爱好者进入聊天:想知道我还能安利什么神奇工具,点我头像啊~​
  • [技术干货] 【云原生| Docker】 部署 Django & mysql 项目-转载
     一、准备工作   镜像加速源  镜像加速器    镜像加速器地址 Docker 中国官方镜像    https://registry.docker-cn.com DaoCloud 镜像站    http://f1361db2.m.daocloud.io Azure 中国镜像    https://dockerhub.azk8s.cn 科大镜像站    https://docker.mirrors.ustc.edu.cn 阿里云(需要注册,建议)    https://.mirror.aliyuncs.com 七牛云    https://reg-mirror.qiniu.com 网易云    https://hub-mirror.c.163.com 腾讯云    https://mirror.ccs.tencentyun.com  二、部署 Django & Mysql  1) .Dockignore 创建.dockignore文件  .git settings/local.py **/__pycache__ 2) Dockfile 使用pip freeze > requirements.txt命令打包好项目的依赖包列表(这种方式只适合在虚拟环境中导出虚拟环境中的包,如果不是在虚拟环境下就会导出全局环境的python的环境包) 要想在全局环境中导出我们项目的依赖包,可以利用python包pipreqs # 进入到项目所在目录,在执行下面的命令 $> pip install pipreqs $> pipreqs . --encoding=utf8 --force    # “.” 指的是将导出依赖包的文件放在当前目录下 # “--encoding=utf8” 指的是存放文件的编码为utf-8,否则会报错 # “--force”  --force 强制执行,当 生成目录下的requirements.txt存在时强子覆盖 创建dockfile文件 # 指定基础镜像 FROM python:3.7  #ENV server.params=  # updata太慢 设置镜像源 RUN sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list \ && apt-get clean  \     && apt-get update  \     && apt-get install python3-dev default-libmysqlclient-dev -y   # 创建 code 文件夹并将其设置为工作目录 RUN mkdir /code WORKDIR /code   # 将 requirements.txt 复制到容器的 recruitment 目录 ADD requirements.txt /code/  # 更新 pip 并 安装依赖库 RUN pip install pip -U && pip install -r requirements.txt  # COPY 是不解压的 ADD . /code/  # CMD [ "/bin/sh", "/code/start.local.bat" ] FROM python:3.7 指令从仓库拉取一个包含 python 3.7 的 Linux 操作系统环境(Linux 版本为 Debian)。  RUN 和 WORKDIR 指令都是针对容器的,功能是在容器里创建目录、并将其设置为工作目录。注意宿主机是没有这个目录的。  ADD 指令出现了两次。ADD requirements.txt /code/ 意思是将宿主机当前目录(即 Dockerfile 所在目录)的 requirements.txt 文件复制到容器的 /code 目录中。ADD . /code/ 意思是把当前目录所有内容复制到容器 /code/ 目录,注意中间那个点。  3) docker-compose.yml version: "3" services:   #  设置应用 容器   app:     restart: always     build: .   # todo 根据当前项目 dockerfile生成,相当于 docker build -t="ouruser/sinatra:v2" .   # bash shell窗口 -c命令行 默认迁移 和 运行     command: bash -c "python manage.py runserver 0.0.0.0:8080"   # bash -c "python manage.py runserver 0.0.0.0:8080"     volumes:       - .:/code     ports:       - "8080:8080"     depends_on:       - db     networks:       - db_network   # 设置数据库 容器   db:     image: mysql:8  # 版本一定要对应!      volumes:      - "./mysql/data:/var/lib/mysql"  # 设置timestamp 可为 null   #  设置字符集 (不是utf8会报错 #   collation 这是排序规则 #      - "./mysql/conf/my.cnf:/etc/mysql/my.cnf"     command: "mysqld --user=root --explicit_defaults_for_timestamp --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci" #      - -character-set-server=utf8mb4  # 设置默认字节 #      - -collation-server=utf8mb4_general_ci #   设置排序 #      - -explicit_defaults_for_timestamp=true # 设置可为 null     #      --default-authentication-plugin=mysql_native_password # 使用 5.7 版本的密码验证     #    "mysqld --user=root --explicit_defaults_for_timestamp --character-set-server=utf8mb4"     ports:       - "3307:3306"     restart: always     environment:       - MYSQL_ROOT_PASSWORD=123456  # 一定要配置       - MYSQL_DATABASE=django_recruitment     networks:       - db_network # 设置网络 networks:   db_network:     driver: bridge version 代表 docker-compose.yml 的版本,目前最新版为 3,不需要改动它。 从整体上看,我们定义了二个容器,分别是app、db,容器之间通过定义的端口进行通讯。定义了网络db_network,只有处在同一网络下的容器才能够互相通讯。不同网络之间是隔离的,即便采用同样的端口,也无法通讯。  定义了一个名叫 app 的容器。后面的内容都是 app 容器的相关配置:  restart :除正常工作外,容器会在任何时候重启,比如遭遇 bug、进程崩溃、docker 重启等情况。 build :指定一个包含Dockerfile的路径,并通过此Dockerfile来构建容器镜像。注意那个 “.” ,代表当前目录。 command :容器运行时需要执行的命令。这里就是我们很熟悉的运行开发服务器了。 volumes :卷,这是个很重要的概念。前面说过容器是和宿主机完全隔离的,但是有些时候又需要将其连通;比如我们开发的 Django 项目代码常常会更新,并且更新时还依赖如 Git 之类的程序,在容器里操作就显得不太方便。所以就有卷,它定义了宿主机和容器之间的映射:“.” 表示宿主机的当前目录,“:” 为分隔符,“/code” 表示容器中的目录。即宿主机当前目录和容器的 /code 目录是连通的,宿主机当前目录的 Django 代码更新时,容器中的 /code 目录中的代码也相应的更新了。这有点儿像是在容器上打了一个洞,某种程度上也是实用性和隔离性的一种妥协。  严格意义上讲,这里用到的 .:/code 并不是卷,而是叫挂载,它两是有区别的,只不过 docker-compose 允许将挂载写到卷的配置中。  expose:暴露容器的8000端口供其他容器访问,宿主机和外界无法访问 networks:能够访问db_network depends_on : 意思是此容器需要等待 db 容器启动完毕才能够启动。  分析一下 db 容器:  image :从仓库拉取 MySQL 5.7 。 volumes :这里出现的 static-volume 叫卷。它的使用方式像这样:static-volume:/code/collected_static ,冒号后面还是容器内的目录,但冒号前的却不是宿主机目录、仅仅是卷的名称而已。从本质上讲,数据卷也是实现了宿主机和容器的目录映射,但是数据卷是由 Docker 进行管理的,你甚至都不需要知道数据卷保存在宿主机的具体位置。  相比挂载,数据卷的优点是由于是 Docker统一管理的,不存在由于权限不够引发的挂载问题,也不需要在不同服务器指定不同的路径;缺点是它不太适合单配置文件的映射。和挂载一样,数据卷的生命周期脱离了容器,删除容器之后卷还是存在的。下次构建镜像时,指定卷的名称就可以继续使用了。  ports :MySQL 默认通信端口为 3306 。 environment :定义容器的环境变量,设置了 MySQL 的 root 用户的密码、数据库的名称。 network:只能够访问db_network。添加db容器后记得的修改Django里的数据库设置。  4)修改项目settings.py 我们在开发项目中,往往是使用django自带的sqlite进行快速开发测试,后面部署再使用mysql,这里也是一样的,个人建议部署到服务器可以先使用带过去的sqlite进行测试(且此时数据库是有数据的), 进行真正上线则使用mysql(没有数据)  ALLOWED_HOSTS = [ '*']  DATABASES = {     'default': {         'ENGINE': 'django.db.backends.sqlite3',         'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),     } }  # 部署用数据库配置 # DATABASES = { #     'default': { #         'ENGINE': 'django.db.backends.mysql', #         'NAME': 'django_recruitment', #         'USER': 'root', #         'PASSWORD': '123456', #         'HOST': 'db',         # 'HOST': '127.0.0.1', #         'PORT': '3306', #         'OPTIONS': {'charset': 'utf8mb4'}, #     } # }   # todo 注意:这里使用的是db别名,docker会自动解析成ip  部署!  5)生成表&数据迁移 由于我们所配置的数据是空的,此时我们需要生成表和数据迁移  5.1 生成表 进入到sh命令窗口  bash python manage.py migrate 5.2 数据迁移 django先连接回原来的数据库, python manage.py dumpdata > data.json 导出数据,并修改文件编码! 不然后面 loaddata会报错!  进入mysql终端,设置忽略外键 和 删除 auth_permission 和 django_content_type 表 ( 由于在数据迁移过程中这两个表数据默认生成)  set foreign_key_checks=0; truncate table django_content_type; truncate table auth_permission; set foreign_key_checks=1; 回到项目容器终端 进入到sh命令窗口  bash python manage.py loaddata data.json   # mysql版本一定要一样 不然报错 部署命令  运行命令docker-compose build构造镜像,再使用docker-compose up即可启用服务。  下面附上一下经常用到的命令:  停止容器,docker-compose down 后台运行docker容器:docker-compose up -d 只想启动其中的一个容器:docker-compose up -d db或者docker-compose up -d app即可启动db容器或app容器。 进入容器:docker exec -it container_id /bin/bash 上面的container_id如果不知道如何获取可以通过docker ps命令查看。 ———————————————— 版权声明:本文为CSDN博主「计算机魔术师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_66526635/article/details/126023879 
  • [技术干货] 【云原生】-Docker部署SQL Server及最佳应用-转载
     前言 SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),本文总结了容器环境下的部署及实践应用 ⛳️ 1.SQL Server介绍  SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS); SQL Server使用方便,伸缩性好与相关软件集成程度高; SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能  SQL Server 服务作用简介: 1.SQL Server(MSSQLSERVER)是必须要开启的,这个是数据库引擎服务,它就像汽车的发动机一样,缺它不可。 2.SQL Server代理(MSSQLSERVER)是代理服务,比如你有一些自动运行的,定时作业, 或者是一些维护计划,比如定时备份数据库等操作,那么就要打开,否则,就不会备份数据库了。  3.SQL Server Analysis Services (MSSQLSERVER)是分析服务,一般不用开启,除非你做多位分析,和数据挖掘,才需要开启。 4.SQL Full-text Filter Daemon Launcher (MSSQLSERVER)是全文检索服务,如果你没有使用全文检索技术,那么也不需要开启。  5.SQL Server VSS Writer MicrosoftSQLServer的SQL编写器服务, 允许备份和还原应用程序以便在VolumeShadowCopyService(VSS)框架中进行操作。 6.Sql Browser 服务 一般你要进行远程访问,不需要开启sql browser开启sql browser, 通过:服务器ip,端口 这种方式就可以访问远程的服务器 ⛳️ 2.查看镜像源 [root@jeames ~]# docker search mssql  ⛳️ 3.拉取镜像 docker pull mcr.microsoft.com/mssql/server:2017-latest  ​[root@jeames ~]# docker images  ​⛳️ 4.运行容器 docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=jem202207090." \ -p 1433:1433 --name sqlserver2017 \ -d mcr.microsoft.com/mssql/server:2017-latest  此处记得密码设置为复杂密码  参数解释: -e "ACCEPT_EULA=Y":默认选择同意协议许可证 -e "SA_PASSWORD=jem202207090.":设置连接密码为jeames007 -p 1433:1433: 宿主机端口映射到容器端口(前者为宿主机) --name sqlserver2017:容器别名 -d: 后台运行 mcr.microsoft.com/mssql/server:2017-latest:镜像名称:标签 ⛳️ 5.使用数据库 🚀 5.1 进入容器 [root@jeames ~]# docker exec -it sqlserver2017 bash ##查看docker日志 [root@jeames ~]# docker logs sqlserver2017   🚀 5.2 连接数据库 root@a0e5be7e8e03:/# /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P “jem202207090.”  🚀 5.3 查询数据库 1> select name from sys.Databases; 2> go   🚀 5.4 创建数据库 1> create database jem_db 2> go 可以看到我们成功的创建好了一个数据库。   ⛳️ 6. 远程连接 使用Navicat进行远程数据库链接测试,你可能会遇到远程连接失败问题, 请检查服务器防火墙,或者安全组规则配置。 SQL Server默认端口:1433 ​​​​​​​原因是Navicate没有找到电脑安装的sqlserver驱动,那么咱们进行安装即可, 找到navicat的安装目录下的sqlncli.msi(32位)或sqlncli_x64.msi(64位)的,根据系统版本选择安装 ———————————————— 版权声明:本文为CSDN博主「IT邦德」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_41645135/article/details/126416874 
  • [技术干货] kubernetes v1.23.3 二进制部署
    1. 组件版本和配置策略1.1 主要组件版本组件版本发布时间kubernetesv1.23.32022-01-26etcdv3.5.22022-02-01cri-ov1.23.02021-12-18flannelv0.16.32022-01-29coredns1.9.02022-02-10cni-pluginsv1.0.12021-09-081.2 主要配置策略kube-apiserver:使用节点本地 nginx 4 层透明代理实现高可用;关闭非安全端口 8080 和匿名访问;在安全端口 5443 接收 https请求;严格的认证和授权策略 (x509、token、RBAC);开启 bootstrap token 认证,支持 kubeletTLS bootstrapping;使用 https 访问 kubelet、etcd,加密通信;kube-controller-manager:3 节点高可用; 关闭非安全端口,在安全端口 10257 接收 https 请求;使用 kubeconfig 访问 apiserver的安全端口;自动 approve kubelet 证书签名请求 (CSR),证书过期后自动轮转;各 controller 使用自己的ServiceAccount 访问 apiserver;kube-scheduler:3 节点高可用; 使用 kubeconfig 访问 apiserver 的安全端口;关闭非安全端口,在安全端口 10259 接收https 请求;kubelet:使用 kubeadm 动态创建 bootstrap token,而不是在 apiserver 中静态配置;使用 TLSbootstrap 机制自动生成 client 和 server 证书,过期后自动轮转;在 KubeletConfiguration类型的 JSON 文件配置主要参数;关闭只读端口,在安全端口 10250 接收 https请求,对请求进行认证和授权,拒绝匿名访问和非授权 访问;使用 kubeconfig 访问 apiserver 的安全端口;kube-proxy:使用 kubeconfig 访问 apiserver 的安全端口;在 KubeProxyConfiguration 类型的 JSON文件配置主要参数;使用 ipvs 代理模式;集群插件:DNS:使用功能、性能更好的 coredns;2. 初始化系统和全局变量2.1 集群规划master节点:节点名称IP地址k8s-master-1192.168.2.175k8s-master-2192.168.2.176k8s-master-3192.168.2.178node 节点:节点名称IP地址k8s-node-1192.168.2.185k8s-node-2192.168.2.187k8s-node-3192.168.3.62k8s-node-4192.168.3.70控制节点/配置生成节点:节点名称IP地址qist192.168.0.151工作目录: /opt三台机器混合部署本文档的 etcd、master 集群和 woker 集群。如果没有特殊说明,需要在所有节点上执行本文档的初始化操作。2.2 kubelet cri-o cgroupCgroup Driver:systemd kubeelt cri-o Cgroup 配置为systemd2.3 设置主机名hostnamectl set-hostname k8s-master-1 # 将 k8s-master-1 替换为当前主机名退出,重新登录 root 账号,可以看到主机名生效。2.4 添加节点信任关系本操作只需要在 qist 节点上进行,设置 root 账户可以无密码登录所有节点:ssh-keygen -t rsa ssh-copy-id root@192.168.2.175 ssh-copy-id root@192.168.2.176 ssh-copy-id root@192.168.2.177 ssh-copy-id root@192.168.2.185 ssh-copy-id root@192.168.2.187 ssh-copy-id root@192.168.3.62 ssh-copy-id root@192.168.3.702.5 安装依赖包yum install -y epel-release yum install -y chrony conntrack ipvsadm ipset jq iptables curl sysstat libseccomp wget socat gitkube-proxy 使用 ipvs 模式,ipvsadm 为 ipvs 的管理工具;etcd 集群各机器需要时间同步,chrony用于系统时间同步;2.6 关闭防火墙关闭防火墙,清理防火墙规则,设置默认转发策略:systemctl stop firewalld systemctl disable firewalld iptables -F && iptables -X && iptables -F -t nat && iptables -X -t nat2.7 关闭 swap 分区关闭 swap 分区,否则kubelet 会启动失败(可以设置 kubelet 启动参数 --fail-swap-on 为 false 关闭 swap检查):swapoff -a sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab2.8 关闭 SELinux关闭 SELinux,否则 kubelet 挂载目录时可能报错 Permission denied :setenforce 0 sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config2.9 优化内核参数cat > /etc/sysctl.d/kubernetes.conf <关闭 tcp_tw_recycle,否则与 NAT 冲突,可能导致服务不通;内核低于4版本添加fs.may_detach_mounts=12.10 系统文件打开数cat>>/etc/security/limits.conf<centos7还需修改sed-i's/4096/655350/'/etc/security/limits.d/20-nproc.conf2.11 内核模块配置重启自动加载加载ipvs内核模块cat>/etc/modules-load.d/k8s-ipvs-modules.conf<加载netfilter等模块 内核4版本以下 nf_conntrack 替换 nf_conntrack_ipv4cat>/etc/modules-load.d/k8s-net-modules.conf<2.12 设置系统时区timedatectlset-timezoneAsia/Shanghai2.13 设置系统时钟同步systemctl enable chronyd systemctl start chronyd查看同步状态:timedatectl status输出:System clock synchronized: yes NTP service: active RTC in localTZ: noSystem clock synchronized: yes,表示时钟已同步;NTP service: active,表示开启了时钟同步服务;#将当前的UTC时间写入硬件时钟 timedatectlset-local-rtc0#重启依赖于系统时间的服务 systemctl restart rsyslog systemctl restart crond2.14 关闭无关的服务systemctl stop postfix && systemctl disable postfix2.15 创建相关目录创建目录:master 组件目录#k8s目录 mkdir -p /apps/k8s/{bin,log,conf,ssl,config} mkdir -p /apps/work/kubernetes/{manifests,kubelet} mkdir -p /var/lib/kubelet mkdir- p /usr/libexec/kubernetes/kubelet-plugins/volume/exec/ mkdir -p /apps/k8s/ssl/{etcd,k8s} #etcd目录 mkdir -p /apps/etcd/{bin,conf,data,ssl} #etcd data-dir目录 mkdir -p /apps/etcd/data/default.etcd #etcdwal-dir目录 mkdir -p /apps/etcd/data/default.etcd/walnode 节点目录mkdir -p /apps/k8s/{bin,log,conf,ssl} mkdir -p /apps/work/kubernetes/{manifests,kubelet} mkdir -p /var/lib/kubelet mkdir -p /usr/libexec/kubernetes/kubelet-plugins/volume/exec/cri-o 目录结构创建mkdir -p /apps/crio/{run,etc,keys} mkdir -p /apps/crio/containers/oci/hooks.d mkdir -p /etc/containers mkdir -p /var/lib/containers/storage mkdir -p /run/containers/storage mkdir -p /apps/crio/lib/containers/storage mkdir -p /apps/crio/run/containers/storage2.16 mount目录挂载挂载kubelet 跟cri-o数据目录最大兼容其它依赖组件例如csi插件cat>> /etc/fstab <验证挂载是否有误mount-a重启机器:sync reboot期待下次的分享,别忘了三连支持博主呀~ 我是 念舒_C.ying ,期待你的关注~💪💪💪