• [技术干货] k8s的重启策略和健康检查
    重启策略:Always:当容器终止退出后,总是重启容器,是默认策略。OnFailure:当容器异常退出(退出状态码非0)时,才重启容器。Never:当容器终止退出,从不重启容器。健康检查,有以下3种类型:livenessProbe (存活检查) :如果检查失败,将杀死容器,根据Pod的重启策略来操作。readinessProbe (就绪检查) :如果检查失败, Kubernetes会把Pod从service endpoints中剔除。startupProbe (启动检查):判断容器是否成功启动。支持以下三种检查方法:httpGet:发送HTTP请求,返回200-400范围状态码为成功。exec:执行Shell命令返回状态码是0为成功。tcpSocket:发起TCP Socket建立成功。
  • [问题求助] IEF平台如何实现边缘化数据上传到云端
    【操作步骤&问题现象】IEF平台如何实现边缘化数据上传到云端
  • [技术干货] 【大厂内参】第5期:解锁云原生2.0新时代,华为云携手企业开启云上“焕新应用”
    【摘要】 十年磨一剑,云原生从最初的默默无闻到企业数字化转型的核心支撑,华为云作为CNCF的创始成员,一直在为社区贡献力量。随着技术和业务的演进,云原生2.0时代的新价值——“云上内生的云能力”成企业所需,看华为云云原生基础设施如何开启云原生2.0时代。文章简介什么是云原生都0202年了,如果你还不懂云原生,那真的out了。带你读懂容器技术,“容器”和“虚拟机”别再分不清容器这个词,当你第一眼看它或许脑子里是这东西:瓶瓶罐罐、装水、装其他东西的玩意。不管是什么,总的来说,容器给人第一印象就是——“装”。一文读懂k8s多集群技术发展史 一文带你了解Kubernetes多集群技术发展的历史、现状与未来。浅谈服务化和微服务化微服务是近期非常热门的话题,芸芸众生言必谈微服务。伯克利:serverless是下一代计算范式Serverless技术正是云厂商的基于规模经济的一个选择。Service Mesh:下一代微服务?微服务方兴未艾如火如荼之际,在 Spring Cloud 等经典框架之外,Service Mesh 技术正在悄然兴起。云原生系列技术:DevOps技术云计算和容器技术的快速普及,DevOps越来越被重视,甚至成为保证公司生产力的最佳之选。详解华为云容器全新解决方案华为云新一代容器基础设施“军舰”,来了!大数据容器化,头部玩家尝到了甜头?大数据容器化,大势所趋。头部玩家在进行大数据容器化后,尝到了甜头。从Vessel到二代裸金属容器,云原生新一波技术浪潮涌向何处云原生大势,深度解读华为云四大容器解决方案如何加速技术产业融合。云原生2.0时代:华为云开启应用定义基础设施新时代云原生以“应用使能”+“混合云”为核心,帮助企业本地部署与云端融合,打造企业急迫需要的混合云架构。为什么说容器的崛起预示着云原生时代到来?说到云原生,我们就不得不先了解一下容器技术。【容器】容器多云/混合云,云时代灾备新利器华为容器多云/混合云解决方案基于社区的集群联邦技术,提供了跨云的多集群统一管理、应用在多集群的统一部署和流量分发,并可以结合Istio技术,实现应用流量的全局治理。【KubeEdge】解读KubeEdge:云原生的边缘计算平台KubeEdge即Kube+Edge,顾名思义就是依托K8S的容器编排和调度能力,实现云边协同、计算下沉、海量设备的平滑接入。【Istio】万字解读:Service   Mesh服务网格新生代--Istio一文带你了解关于Istio技术的介绍、架构和展望。【Volcano】Volcano火山:容器与批量计算的碰撞 Volcano是基于K8s构建的一个通用批量计算系统,弥补了K8s在“高性能应用”方面的不足,支持TensorFlow、Spark、MindSpore等多个领域框架,帮助用户通过K8s构建统一的容器平台。【鲲鹏容器】华为云鲲鹏容器发布,极致释放多元算力在云+AI+5G的时代,昇腾+鲲鹏是企业创新的最佳算力选择。【AI容器】华为云AI容器:零基础搭建AI计算平台,提升计算效率 50%华为云 AI 容器为客户提供更高性价比算力,更简化了平台运维,提升 AI 计算效率 50%,加速 AI 计算在各行业的落地和发展。【裸金属容器】华为云重磅发布全球首个双零损耗裸金属容器 全球独家双零损耗裸金属容器——华为云第二代裸金属容器,首次在业内实现资源和性能的零损耗,让容器全面释放裸金属服务器的潜力,加速云原生创新升级。【裸金属容器】华为云第二代裸金属容器:应对海量并发的网络黑科技因突发流量触发业务扩容,以前是扩容虚机速度慢,现在大部分互联网平台都使用容器了,为什么扩容速度有些时候还是跟不上流量增长的节奏?【数据库】云原生数据库三驾马车之TaurusDBTaurus其设计思想是Log-as-database以最小化网络IO,采用计算存储分离的架构。【DevCloud】华为云DevCloud,云原生架构下的DevOps实践云原生架构与DevOps的落地与转型是一个量变到质变过程。【云容器引擎】带你了解云容器引擎CCE的权限管理借助云容器引擎,您可以在华为云上轻松部署、管理和扩展容器化应用程序,快速高效的将微服务部署在云端。【容器】容器化之路:谁偷走了我的构建时间 什么是镜像?什么是镜像构建?什么是storage-driver?【Docker网络】《跟唐老师学习云网络》   - Docker网络实现带你详细理解Docker容器是如何实现Docker网络,以及解析一个容器是如何与本机、本机中的容器、其他Host、其他Host中的容器 等场景下分别是如何进行通信的详细原理。【Kubernetes】盘点Kubernetes网络问题的4种解决方案现在的开源世界里,有很多开源组件可以帮助我们打通Docker容器和容器之间的网络,实现K8s要求的网络模型。当然每种方案都有自己适合的场景,我们要根据自己的实际需要进行选择。【云容器引擎】微服务应用在CCE上的初探借助云容器引擎,在华为云上轻松部署、管理和扩展容器化应用程序,来为企业释放更多精力,CCE提供一整套完整的最佳容器解决方案,赋能企业专注业务开发。【Kubernetes】企业落地Kubernetes的问题与对策随着Kubernetes的全面成熟与大规模应用,如何落地Kubernetes是企业实施云战略需要考虑的迫切问题。【微服务】如何应对企业级微服务开发?最优解在这里…从服务管理中心、通信处理两个模块来介绍华为开源微服务框架 SeviceComb 如何帮助企业应用快速具备高性能的通信能力以及高可靠的服务管理能力。【Service】在K8S大规模场景下Service性能如何优化? K8s 原生的 Service 负载均衡基于 Iptables 实现,其规则链会随 Service 的数量呈线性增长,在大规模场景下对 Service 性能影响严重。【安全容器】容器与虚拟化的结合:浅谈“安全容器”技术发展趋势无论公有云还是私有云厂商,都认识到了将虚拟化的隔离性和容器的高效运维特性相结合,是云原生平台发展的必然趋势。【Kubernetes】Kubernetes的拐点助推器:左手开源,右手边缘计算据2020边缘计算状态报告显示,到2022年,75%的数据将通过边缘分析和处理。这种数据处理的流动性,将伴随有4大边缘技术演进方向。本合集为《大厂内参》005期,欢迎大家持续关注。大厂内参根据开发者普遍关注的热门技术领域,汇编实践精华内容。从业务场景选型,应用案例分析,到前瞻趋势预测。以专题的形式,深度解读华为云核心技术,分享一线工程师的实战经验。【第一期】敏捷&Devops:80+篇实践干货分享,深度解读敏捷&DevOps如何革新软件开发【第二期】数据库:从数据库科普到核心技术解读、上云案例分享,全方位剖析云数据库【第三期】云服务器:选型解读+案例分享:云服务器“软硬技术”全公开【第四期】人工智能:海量实战经验教你零门槛进场AI开发,无成本负担玩转AI应用【第五期】云原生:读懂云原生2.0,看它如何重塑业务开发架构【第六期】云安全:Get防范云安全的必杀技,学会构建云上完整安全体系【第七期】物联网:“端边云”IoT全栈技术大揭秘,开发实战指南带你轻松上手IoT【第八期】数据仓库:8大场景系列玩转数仓运维,做个不秃头的DBA
  • [问题求助] 【atlas 200dk】【容器化部署应用】使用docker部署acl推理应用,出现动态链接库缺失
    按照容器基础镜像制作指南构建了5.0.2.alpha005 nnrt运行镜像,由于应用需要使用opencv库,所以在镜像制作完成后手工在容器内将opencv的so文件拷贝到了容器中相应的路径下。但是最终程序仍然有三个so文件找不到,如图所示:正常情况下:之后,我把这些缺失的so文件也拷贝到了容器内相应目录,并运行了程序,得到了如下错误日志:[ERROR] DRV(241,main_t):2021-07-15-10:18:31.325.831 [devdrv_manager.c:97][devmng] [devdrv_open_device_manager 97] open device manager fail,name=/dev/davinci_manager,ret_fd=-1,old_fd=-1,err=2. [ERROR] DRV(241,main_t):2021-07-15-10:18:31.326.119 [devdrv_info.c:1094][devmng] [dmanage_get_container_flag 1094] open davinci manager failed. [ERROR] DRV(241,main_t):2021-07-15-10:18:31.326.186 [devdrv_manager.c:2205][devmng] [drvManagerInit 2205] get container flag failed. [ERROR] DRV(241,main_t):2021-07-15-10:18:43.327.677 [hdc_core.c:502][hdc] [hdcPcieInit 502] HDC init fail, driver may not load. [ERROR] DRV(241,main_t):2021-07-15-10:18:53.336.305 [hdc_core.c:487][hdc] [hdc_phandle_get 487] HDC init, open pcie device fail. error : No such file or directory [ERROR] DRV(241,main_t):2021-07-15-10:18:53.337.307 [devdrv_manager.c:97][devmng] [devdrv_open_device_manager 97] open device manager fail,name=/dev/davinci_manager,ret_fd=-1,old_fd=-1,err=2. [ERROR] DRV(241,main_t):2021-07-15-10:18:53.337.407 [devdrv_manager.c:536][devmng] [drvGetPlatformInfo 536] open device error. [EVENT] PROFILING(241,main_t):2021-07-15-10:18:53.393.056 [msprof_callback_impl.cpp:151] >>> (tid:241) Started to register profiling callbacks to acl [INFO] ASCENDCL(241,main_t):2021-07-15-10:18:53.393.366 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/acl/toolchain/acl_prof_api.cpp:64]241 _aclprofRegisterCtrlCallback: start to register ctrl callback [INFO] ASCENDCL(241,main_t):2021-07-15-10:18:53.393.465 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/acl/toolchain/acl_prof_api.cpp:75]241 _aclprofRegisterCtrlCallback: successfully register ctrl callback [INFO] ModuleManager: begin to init Acl. [INFO] ASCENDCL(241,main_t):2021-07-15-10:18:53.396.519 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/acl/common/acl.cpp:46]241 aclInit: start to execute aclInit [INFO] ASCENDCL(241,main_t):2021-07-15-10:18:53.396.638 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/acl/common/acl.cpp:52]241 aclInit: call ErrorManager.Initialize [INFO] GE(241,main_t):2021-07-15-10:18:53.397.049 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/metadef/error_manager/error_manager.cc:381]241 ParseJsonFile:Begin to parser json file [INFO] GE(241,main_t):2021-07-15-10:18:53.397.163 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/metadef/error_manager/error_manager.cc:429]241 ReadJsonFile:Begin to read json file [INFO] GE(241,main_t):2021-07-15-10:18:53.414.283 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/metadef/error_manager/error_manager.cc:460]241 ReadJsonFile:Read json file success [INFO] GE(241,main_t):2021-07-15-10:18:53.422.620 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/metadef/error_manager/error_manager.cc:418]241 ParseJsonFile:Parse json file success [ERROR] DRV(241,main_t):2021-07-15-10:18:53.424.326 [devdrv_manager.c:97][devmng] [devdrv_open_device_manager 97] open device manager fail,name=/dev/davinci_manager,ret_fd=-1,old_fd=-1,err=2. [ERROR] DRV(241,main_t):2021-07-15-10:18:53.424.431 [devdrv_manager.c:536][devmng] [drvGetPlatformInfo 536] open device error. [WARNING] ASCENDCL(241,main_t):2021-07-15-10:18:53.425.807 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/acl/common/acl.cpp:58]241 aclInit: init device's log failed [INFO] ASCENDCL(241,main_t):2021-07-15-10:18:53.425.908 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/acl/common/acl.cpp:81]241 aclInit: set ProfilingConfig in aclInit [INFO] ASCENDCL(241,main_t):2021-07-15-10:18:53.425.996 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/acl/toolchain/profiling.cpp:61]241 HandleProfilingConfig: start to execute HandleProfilingConfig [INFO] ASCENDCL(241,main_t):2021-07-15-10:18:53.426.085 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/acl/toolchain/profiling.cpp:55]241 GetProfilingConfigFile: no profiling config file. [INFO] ASCENDCL(241,main_t):2021-07-15-10:18:53.426.190 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/acl/toolchain/profiling.cpp:77]241 HandleProfilingConfig: configPath is null, no need to do profiling. [INFO] ASCENDCL(241,main_t):2021-07-15-10:18:53.426.280 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/acl/common/acl.cpp:91]241 aclInit: call ge interface executor.Initialize [INFO] GE(241,main_t):2021-07-15-10:18:53.426.378 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/executor/ge_executor.cc:247]241 Initialize:Init GeExecutor begin. [WARNING] GE(241,main_t):2021-07-15-10:18:53.426.851 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/common/ge/op_tiling_manager.cc:79]241 LoadSo:Failed to dlopen /usr/local/Ascend/opp/op_impl/built-in/ai_core/tbe/op_tiling/liboptiling.so! errmsg:/usr/local/Ascend/opp/op_impl/built-in/ai_core/tbe/op_tiling/liboptiling.so: cannot open shared object file: No such file or directory [WARNING] GE(241,main_t):2021-07-15-10:18:53.427.054 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/common/ge/op_tiling_manager.cc:88]241 LoadSo:Failed to dlopen /usr/local/Ascend/opp/op_impl/custom/ai_core/tbe/op_tiling/liboptiling.so! errmsg:/usr/local/Ascend/opp/op_impl/custom/ai_core/tbe/op_tiling/liboptiling.so: cannot open shared object file: No such file or directory [INFO] GE(241,main_t):2021-07-15-10:18:53.427.168 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/ge_local_engine/engine/host_cpu_engine.cc:264]241 GetLibPath:Start to get host cpu lib path [INFO] GE(241,main_t):2021-07-15-10:18:53.427.444 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/ge_local_engine/engine/host_cpu_engine.cc:276]241 GetLibPath:path_base is /usr/local/Ascend/nnrt/5.0.2.alpha005/arm64-linux/acllib/lib64/ [INFO] GE(241,main_t):2021-07-15-10:18:53.427.550 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/ge_local_engine/engine/host_cpu_engine.cc:282]241 GetLibPath:Get host cpu so path from PluginManager::GetPath: /usr/local/Ascend/nnrt/5.0.2.alpha005/arm64-linux/acllib/opp/op_impl/built-in/host_cpu [WARNING] GE(241,main_t):2021-07-15-10:18:53.427.726 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/ge_local_engine/engine/host_cpu_engine.cc:363]241 GetRealPath:File path /usr/local/Ascend/nnrt/5.0.2.alpha005/arm64-linux/acllib/opp/op_impl/built-in/host_cpu is invalid. [INFO] GE(241,main_t):2021-07-15-10:18:53.427.936 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/executor/ge_executor.cc:232]241 InitOpsProtoManager:path_base is /usr/local/Ascend/nnrt/5.0.2.alpha005/arm64-linux/acllib/lib64/ [INFO] GE(241,main_t):2021-07-15-10:18:53.428.057 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/executor/ge_executor.cc:237]241 InitOpsProtoManager:Get opsproto path is /usr/local/Ascend/nnrt/5.0.2.alpha005/arm64-linux/acllib/ops/op_proto/custom/:/usr/local/Ascend/nnrt/5.0.2.alpha005/arm64-linux/acllib/ops/op_proto/built-in/ [WARNING] GE(241,main_t):2021-07-15-10:18:53.428.247 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/metadef/graph/opsproto/opsproto_manager.cc:122]241 FindParserSo:[FindSo][Check] Get real_path for file /usr/local/Ascend/nnrt/5.0.2.alpha005/arm64-linux/acllib/ops/op_proto/custom/ failed, reason:No such file or directory [INFO] GE(241,main_t):2021-07-15-10:18:53.428.377 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/metadef/graph/opsproto/opsproto_manager.cc:165]241 GetPluginSoFileList:OpsProtoManager full name = /usr/local/Ascend/nnrt/5.0.2.alpha005/arm64-linux/acllib/ops/op_proto/custom/ [WARNING] GE(241,main_t):2021-07-15-10:18:53.428.494 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/metadef/graph/opsproto/opsproto_manager.cc:122]241 FindParserSo:[FindSo][Check] Get real_path for file /usr/local/Ascend/nnrt/5.0.2.alpha005/arm64-linux/acllib/ops/op_proto/built-in/ failed, reason:No such file or directory [INFO] GE(241,main_t):2021-07-15-10:18:53.428.563 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/metadef/graph/opsproto/opsproto_manager.cc:165]241 GetPluginSoFileList:OpsProtoManager full name = /usr/local/Ascend/nnrt/5.0.2.alpha005/arm64-linux/acllib/ops/op_proto/built-in/ [WARNING] GE(241,main_t):2021-07-15-10:18:53.428.625 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/metadef/graph/opsproto/opsproto_manager.cc:182]241 LoadOpsProtoPluginSo:[LoadSo][Check] OpsProtoManager can not find any plugin file in pluginPath: /usr/local/Ascend/nnrt/5.0.2.alpha005/arm64-linux/acllib/ops/op_proto/custom/:/usr/local/Ascend/nnrt/5.0.2.alpha005/arm64-linux/acllib/ops/op_proto/built-in/ [INFO] GE(241,main_t):2021-07-15-10:18:53.428.725 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_mem_manager.h:86]241 InitAllocator:Create Allocator memory type[2] success. [INFO] GE(241,main_t):2021-07-15-10:18:53.428.807 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_mem_allocator.cc:23]241 Initialize:MemoryAllocator::Initialize [INFO] GE(241,main_t):2021-07-15-10:18:53.428.920 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_mem_manager.h:86]241 InitAllocator:Create Allocator memory type[17] success. [INFO] GE(241,main_t):2021-07-15-10:18:53.429.045 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_mem_allocator.cc:23]241 Initialize:MemoryAllocator::Initialize [INFO] GE(241,main_t):2021-07-15-10:18:53.429.150 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_mem_manager.h:86]241 InitAllocator:Create Allocator memory type[2] success. [INFO] GE(241,main_t):2021-07-15-10:18:53.429.243 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_caching_allocator.cc:104]241 Initialize:Device id 0 [INFO] GE(241,main_t):2021-07-15-10:18:53.429.342 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_caching_allocator.cc:363]241 FreeBlocks:Free blocks. [INFO] GE(241,main_t):2021-07-15-10:18:53.429.439 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_caching_allocator.cc:330]241 FreeCachedBlocks:Free cached blocks [INFO] GE(241,main_t):2021-07-15-10:18:53.429.541 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_mem_manager.h:86]241 InitAllocator:Create Allocator memory type[17] success. [INFO] GE(241,main_t):2021-07-15-10:18:53.429.639 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_caching_allocator.cc:104]241 Initialize:Device id 0 [INFO] GE(241,main_t):2021-07-15-10:18:53.429.735 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_caching_allocator.cc:363]241 FreeBlocks:Free blocks. [INFO] GE(241,main_t):2021-07-15-10:18:53.429.831 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_caching_allocator.cc:330]241 FreeCachedBlocks:Free cached blocks [INFO] GE(241,main_t):2021-07-15-10:18:53.429.938 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_mem_manager.h:86]241 InitAllocator:Create Allocator memory type[2] success. [INFO] GE(241,main_t):2021-07-15-10:18:53.430.047 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_mem_manager.h:86]241 InitAllocator:Create Allocator memory type[17] success. [INFO] GE(241,main_t):2021-07-15-10:18:53.430.151 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_mem_manager.h:86]241 InitAllocator:Create Allocator memory type[2] success. [INFO] GE(241,main_t):2021-07-15-10:18:53.430.254 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_mem_manager.h:86]241 InitAllocator:Create Allocator memory type[17] success. [INFO] GE(241,main_t):2021-07-15-10:18:53.430.358 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_mem_manager.h:86]241 InitAllocator:Create Allocator memory type[2] success. [INFO] GE(241,main_t):2021-07-15-10:18:53.430.448 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/session_scope_mem_allocator.cc:32]241 Initialize:Device id 0 [INFO] GE(241,main_t):2021-07-15-10:18:53.430.552 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/session_scope_mem_allocator.cc:76]241 FreeAllMemory:Free all memory [INFO] GE(241,main_t):2021-07-15-10:18:53.430.654 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/graph_mem_manager.h:86]241 InitAllocator:Create Allocator memory type[17] success. [INFO] GE(241,main_t):2021-07-15-10:18:53.430.753 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/session_scope_mem_allocator.cc:32]241 Initialize:Device id 0 [INFO] GE(241,main_t):2021-07-15-10:18:53.430.848 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/graph/manager/session_scope_mem_allocator.cc:76]241 FreeAllMemory:Free all memory [INFO] GE(241,main_t):2021-07-15-10:18:53.430.958 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/opskernel_manager/ops_kernel_builder_manager.cc:58]241 Initialize:[Show][OpsKernelBuilderNum]Number of OpBuild = 0 [INFO] GE(241,main_t):2021-07-15-10:18:53.431.099 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/common/profiling/profiling_manager.cc:85]241 Init:ProfilingManager::Init job_id:1 [INFO] GE(241,main_t):2021-07-15-10:18:53.431.198 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/common/profiling/profiling_manager.cc:114]241 Init:The profiling is off, skip the initialization [INFO] GE(241,main_t):2021-07-15-10:18:53.431.297 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/graphengine/ge/executor/ge_executor.cc:282]241 Initialize:Init GeExecutor over. [INFO] RUNTIME(241,main_t):2021-07-15-10:18:53.431.544 [runtime.cc:840] 241 BootRuntime: Boot runtime:new Runtime ok, Runtime_alloc_size 3344 [ERROR] DRV(241,main_t):2021-07-15-10:18:53.431.694 [devdrv_manager.c:97][devmng] [devdrv_open_device_manager 97] open device manager fail,name=/dev/davinci_manager,ret_fd=-1,old_fd=-1,err=2. [ERROR] DRV(241,main_t):2021-07-15-10:18:53.431.778 [devdrv_manager.c:798][devmng] [drvGetDevInfo 798] open device error. [ERROR] DRV(241,main_t):2021-07-15-10:18:53.431.862 [devdrv_manager.c:892][devmng] [drvGetSystemInfo 892] drvGetDevInfo failed ret = 2. [ERROR] DRV(241,main_t):2021-07-15-10:18:53.431.946 [devdrv_manager.c:1247][devmng] [halGetDeviceInfo 1247] halGetDeviceInfo failed ret = 2, moduleType = 0, infoType = 1. [ERROR] RUNTIME(241,main_t):2021-07-15-10:18:53.432.039 [runtime.cc:641]241 InitSocType:[INIT][DEFAULT]Call halGetDeviceInfo failed: drvRetCode=2, module type=0, info type=1. [ERROR] RUNTIME(241,main_t):2021-07-15-10:18:53.432.360 [runtime.cc:719]241 Init:[INIT][DEFAULT]Init SocType failed. [ERROR] RUNTIME(241,main_t):2021-07-15-10:18:53.432.534 [api_c.cc:2356]241 rtGetSocVersion:[INIT][DEFAULT]ErrCode=507000, desc=[null instance pointer], InnerCode=0x70b0001 [ERROR] ASCENDCL(241,main_t):2021-07-15-10:18:53.432.627 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/acl/common/acl.cpp:167]241 InitSocVersion: [INIT][DEFAULT][Get][SocVersion]get soc version failed, runtime result is 507000 [ERROR] ASCENDCL(241,main_t):2021-07-15-10:18:53.432.754 [/home/jenkins/agent/workspace/Compile_GraphEngine_Centos_ARM/acl/common/acl.cpp:100]241 aclInit: [INIT][DEFAULT][Init][Version]init soc version failed, ret = 507000 [ERROR] ModuleManager: fail to init acl [ERROR] Init ModuleManager failed.我只截取了部分打屏日志,看样子是DMP进程没启。我看了一下容器中根本没有/var/slogd 和 /var/dmp_daemon这两个文件。想请问我容器构建过程中哪里出了问题?
  • [热门活动] 暑期坚决不躺平!来跟华为云专家一起学云原生吧!
      云原生2.0时代已经到来IDC发布《IDC FutureScape: 全球云计算2020 年预测——中国启示》显示,云原生应用所影响的领域正逐渐从互联网走向非互联网,从传统应用升级走向云原生。当下,云原生技术的成熟正极大地影响着个人、企业乃至整个社会的生产生活方式。为进一步推进云原生技术的普及,帮助广大技术爱好者快速掌握云原生相关技能,让学员具备云原生系统基础管理动手能力,华为云学院联合CNCF、华为云云原生团队重磅推出《华为云云原生王者之路集训营》系列课程。继《黄金系列》课程之后,在30000+黄金课程学员的呼声和期待下,华为云学院宣布:云原生王者之路《钻石系列》课程预备上线,钻石集训营正式开始啦!   黄金课程学员学习心得学员A:作为云原生基础教学,云原生黄金课程能够让人快速了解概念,具备初步动手能力,沙箱实验很棒,可以实践锻炼,学以致用!学员B:从基础的微服务K8S等理论知识,到K8S集群管理、服务管理等进阶知识,我学到很多,期待钻石进阶课程。学员C:这次学习让我了解了什么是云原生,跟随云原生大佬学习k8s,入股不亏,钻石课程快来吧!  钻石系列课程简介钻石系列课程由华为云云原生核心团队11名大咖讲师倾心打造,在黄金系列课程的基础上,对云原生技术底层原理进行深度剖析,包括Kubernetes的运行时、调度、网络、存储、运维等核心技术原理和主流方案架构,Istio的控制面、数据面、流量治理、传统微服务框架接入等技术原理和方案架构,同时精选多个企业典型应用场景,作为学员上机实践案例,帮助学员将所学技术快速与企业业务相结合,服务于企业生产。钻石集训营将以直播课程与专家答疑同步的方式,带着大家进行在线学习,帮助大家在云原生技术进阶之路上学的更轻松!   集训营特邀专家大咖阵容本阶段钻石系列课程由11位华为云云原生领域大咖专家倾力打造,全面深入地对云原生的知识体系剖析,详细课程内容,请查看课程详情。  集训营面向对象1.计算机、软件工程等专业的大学生2.涉及Kubernetes、Istio等技术的应用开发者3.其他的云原生技术兴趣爱好者  集训营直播安排直播课程期间,每晚19-20点专家讲师进行课程直播与在线答疑,次日10点可在华为云学院解锁直播课程回看。  集训营亮点4大任务:课程学习+实战演练+认证实践+结业考核5大亮点:1.黄金-钻石-王者系统化课程,带你进阶化提升2.精选典型应用场景,理论实践相结合,多阶考核与测验3.华为云云原生团队核心架构师授课带学、答疑解惑4.云原生专属学习圈,每日打卡,教辅相伴,升阶无忧5.学练考一站式,课程、实验、微认证等多元化学习体验   集训营丰富好礼参与课程学习打卡,赢价值200USD HCIA职业认证考试券、华为手环B6、筋膜枪、富士INSTAX 一次成像相机、雷柏机械键盘、华为手环4e、微认证代金券、沙箱实验点折扣券等超丰富奖品!训练营学员还可享有CKA/CKAD/CKS认证套购8.5折,单独购买9折优惠!  报名时间及方式登录“华为云学院”,从 “云原生王者之路钻石集训营”活动页进入,点击“立即报名”即可报名成功。添加小助手微信HWcloudedu,备注“云原生”加学习群,心动不如行动,快去报名吧! 课程详情请扫描下方二维码了解,参与日期截止至8月12日,课程免费向开发者开放,名额有限,招满即止,还等什么,马上占位吧!  
  • [热门活动] 暑期坚决不躺平!来跟华为云专家一起学云原生吧!
      云原生2.0时代已经到来IDC发布《IDC FutureScape: 全球云计算2020 年预测——中国启示》显示,云原生应用所影响的领域正逐渐从互联网走向非互联网,从传统应用升级走向云原生。当下,云原生技术的成熟正极大地影响着个人、企业乃至整个社会的生产生活方式。为进一步推进云原生技术的普及,帮助广大技术爱好者快速掌握云原生相关技能,让学员具备云原生系统基础管理动手能力,华为云学院联合CNCF、华为云云原生团队重磅推出《华为云云原生王者之路集训营》系列课程。继《黄金系列》课程之后,在30000+黄金课程学员的呼声和期待下,华为云学院宣布:云原生王者之路《钻石系列》课程预备上线,钻石集训营正式开始啦!   黄金课程学员学习心得学员A:作为云原生基础教学,云原生黄金课程能够让人快速了解概念,具备初步动手能力,沙箱实验很棒,可以实践锻炼,学以致用!学员B:从基础的微服务K8S等理论知识,到K8S集群管理、服务管理等进阶知识,我学到很多,期待钻石进阶课程。学员C:这次学习让我了解了什么是云原生,跟随云原生大佬学习k8s,入股不亏,钻石课程快来吧!  钻石系列课程简介钻石系列课程由华为云云原生核心团队11名大咖讲师倾心打造,在黄金系列课程的基础上,对云原生技术底层原理进行深度剖析,包括Kubernetes的运行时、调度、网络、存储、运维等核心技术原理和主流方案架构,Istio的控制面、数据面、流量治理、传统微服务框架接入等技术原理和方案架构,同时精选多个企业典型应用场景,作为学员上机实践案例,帮助学员将所学技术快速与企业业务相结合,服务于企业生产。钻石集训营将以直播课程与专家答疑同步的方式,带着大家进行在线学习,帮助大家在云原生技术进阶之路上学的更轻松!   集训营特邀专家大咖阵容本阶段钻石系列课程由11位华为云云原生领域大咖专家倾力打造,全面深入地对云原生的知识体系剖析。   集训营面向对象1.计算机、软件工程等专业的大学生2.涉及Kubernetes、Istio等技术的应用开发者3.其他的云原生技术兴趣爱好者  集训营直播安排直播课程期间,每晚19-20点专家讲师进行课程直播与在线答疑,次日10点可在华为云学院解锁直播课程回看。  集训营亮点4大任务:课程学习+实战演练+认证实践+结业考核5大亮点:1.黄金-钻石-王者系统化课程,带你进阶化提升2.精选典型应用场景,理论实践相结合,多阶考核与测验3.华为云云原生团队核心架构师授课带学、答疑解惑4.云原生专属学习圈,每日打卡,教辅相伴,升阶无忧5.学练考一站式,课程、实验、微认证等多元化学习体验   集训营丰富好礼参与课程学习打卡,赢价值200USD HCIA职业认证考试券、华为手环B6、筋膜枪、富士INSTAX 一次成像相机、雷柏机械键盘、华为手环4e、微认证代金券、沙箱实验点折扣券等超丰富奖品!训练营学员还可享有CKA/CKAD/CKS认证套购8.5折,单独购买9折优惠!  报名时间及方式登录“华为云学院”,从 “云原生王者之路钻石集训营”活动页进入,点击“立即报名”即可报名成功。添加小助手微信HWcloudedu,备注“云原生”加学习群,心动不如行动,快去报名吧! 课程详情请扫描下方二维码了解,参与日期截止至8月12日,课程免费向开发者开放,名额有限,招满即止,还等什么,马上占位吧!   
  • [MindX SDK] A500容器部署mx-sdk
    前言由于A500没有g++,也无法安装。若使用A500进行mind sdk c++版本的运行,需要通过容器的形式部署。下面记录自己部署容器的过程与遇到的问题。环境:A500-3000软件包:A500-3000-3010-firmware_2.0.1.zip,Ascend-mindxsdk-mxmanufacture_2.0.1_linux-aarch64约束:sdk-2.0.1与cann21.0版本相关;在a500中,cann绑定在hpm包中,因此需要先升级驱动固件,再部署sdk。部署1、升级a500。当前sdk版本为2.0.1,对应为A500-3000-3010-firmware_2.0.1.zip。参考A500升级指导书升级。(登录a500web界面,将下载好的hpm包放入,点击升级按钮即可)2、编写dockerfile,见附件。(这个地方我只创建sdk镜像,并无实际业务,用户可以根据自己业务需求设计dockerfile)# 这个地方是cann21.0的容器。也可以直接用ubuntu18.04arm的镜像 FROM cann21.0:ubuntu18.04-arm # 传入sdk run包 ARG SDK_PKG # sdk依赖driver,所以必须要设置npu lib的LD_LIBRARY_PATH。a500路径固定为这个。 ENV LD_LIBRARY_PATH=\ /home/data/miniD/driver/lib64:\ $LD_LIBRARY_PATH #安装sdk需要第三方工具 RUN apt update && \ apt install -y python3.7 python3.7-dev curl g++ pkg-config vim libblas3 \ liblapack3 liblapack-dev libblas-dev gfortran libhdf5-dev libffi-dev # 设置工作路径 WORKING /root # 就装到/home下面了 COPY $SDK_PKG /home/ #安装sdk包 RUN chmod +x ${SDK_PKG} &&\ ./${SDK_PKG} --quiet --install &&\ rm ${SDK_PKG} &&\ /bin/bash -c "source ~/.bashrc" 3、执行命令,docker build -t image-name .  (末尾有一个.)。4、创建容器。docker run -it --device=/dev/davinci0 --device=/dev/davinci_manager --device=/dev/hisi_hdc --device=/dev/devmm_svm -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi -v /home/data/miniD/driver/lib64:/home/data/miniD/driver/lib64 image-name:v1.0 /bin/bash其中 image-name:v1.0为镜像名字,比如sdk-arm:21.05、验证容器进入容器,查看是否安装mx sdk包,以及环境变量设置情况。如下c++样例可运行,环境变量设置正确总结一般可以用300/800服务器直接开发并运sdk样例,但是特殊情况下,也可以通过容器部署,在A500侧进行c++ sdk样例开发。后面会尝试 linux侧mindstudio+a500 sdk样例环境配置部署,并进行分享。
  • [技术干货] 排序(持续更新)
    冒泡排序:优点=>数据较少的容器,入门简单。缺点=>对于大规模的数据就显的效率较低冒泡排序=>简答来说就是前后数据比大小,(升序) i>i+1 交换位置。流程:1、比较相邻的俩个数,第一个值大于第二个则值交换,以此类推,完成第一次循环的次数为 arr.lenght-12、第一次的循环已经的得到最小的结果,下一次的循环拿下标为[1]的元素进行判断画图可以看的更清楚点冒泡动画这个据很细节了,第一次的循环时确定最小的那个值,第二次的循环确定第二小的.....代码实现: //定义需要排序的数组 var arr = [2, 4, 5, 3, 1]; //利用冒泡排序将原数组进行升序排列 for (var i = 0; i < arr.length - 1; i++) { for(var j=0;j<arr.length-1;j++) { if(arr[j]>arr[j+1]){ var temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; } } } //输出排列后的数组 console.log(arr);快速排序思想=选择数组中间数作为基数,并从数组中取出此基数准备两个数组容器,遍历数组,逐个与基数比对,较小的放左边容器,较大的放右边容器;递归处理两个容器的元素,并将处理后的数据与基数按大小合并成一个数组,返回。不太懂得话上动画快速排序动画let quickSort = function (arr) { // 递归出口就是数组长度为1 if (arr.length <= 1) return arr //获取中间值的索引,使用Math.floor向下取整; let index = Math.floor(arr.length / 2) // 使用splice截取中间值,第一个参数为截取的索引,第二个参数为截取的长度; // 如果此处使用pivot=arr[index]; 那么将会出现无限递归的错误; // splice影响原数组 let pivot = arr.splice(index, 1)[0], left = [], right = []; console.log(pivot) console.log(arr) for (let i = 0; i < arr.length; i++) { if (pivot > arr[i]) { left.push(arr[i]) } else { right.push(arr[i]) } } return quickSort(left).concat([pivot], quickSort(right)); } //let arr = [2, 9, 6, 7, 4, 3, 1, 7] // console.log(quickSort(arr))参考文章:https://juejin.cn/post/6856546833025237006#heading-5
  • [其他] 分享ModelArts 使用自定义镜像快速迁移上云
    ModelArts为用户提供了多种常见的预置引擎,但是当用户对深度学习引擎、开发库有特殊需求场景的时候,预置AI引擎可能不再满足用户需求。ModelArts底层采用容器技术,您可以自行制作容器镜像上传并在ModelArts上运行。自定义镜像支持自由文本形式的命令行参数和环境变量,灵活性高,便于支持任意计算引擎的作业启动需求。当前ModelArts自定义镜像功能支持以下两种场景:创建训练作业导入模型让我们看看如何在ModelArts中使用自定义镜像创建训练作业和导入模型吧!关联服务介绍使用自定义镜像功能可能涉及以下云服务:容器镜像服务、对象存储服务、弹性云服务器。容器镜像服务:容器镜像服务(Software Repository for Container,SWR)是一种支持镜像全生命周期管理的服务, 提供简单易用、安全可靠的镜像管理功能,帮助您快速部署容器化服务。您可以通过界面、社区CLI和原生API上传、下载和管理容器镜像。ModelArts训练和导入模型使用的自定义镜像需要从SWR服务管理列表获取。您制作的自定义镜像需要上传至SWR服务。对象存储服务:对象存储服务(Object Storage Service,OBS)是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。在创建训练作业和导入模型时往往存在数据交互,您需要的云上数据可以存储至OBS服务。弹性云服务器:弹性云服务器(Elastic Cloud Server,ECS)是由CPU、内存、操作系统、云硬盘组成的基础的计算组件。弹性云服务器创建成功后,您就可以像使用自己的本地PC或物理服务器一样,在云上使用弹性云服务器。在制作自定义镜像时,您可以在本地环境或者ECS上完成自定义镜像制作。在您使用自定义镜像功能时,ModelArts可能需要访问您的容器镜像服务SWR、对象存储服务OBS等依赖服务,若没有授权,这些功能将不能正常使用。建议您使用委托授权功能,将依赖服务操作权限委托给ModelArts服务,让ModelArts以您的身份使用依赖服务,代替您进行一些资源操作。详细操作参见使用委托授权。使用自定义镜像创建训练作业端到端样例可参考最佳实践-使用自定义镜像创建训练作业~1.准备工作完成访问授权的配置,详细操作参见使用委托授权。已在OBS服务中创建桶和文件夹,用于存放样例数据集以及训练代码。2.制作自定义镜像,您可以使用ECS或者应用本地已有的主机进行自定义镜像的制作。    在制作镜像用时,需满足ModelArts定义的规范。自定义镜像中不能包含恶意代码。基础镜像中的部分内容不能改变,包括“/bin”、“/sbin”、“/usr”、“/lib(64)”下的所有文件,“/etc”下的部分重要配置文件,以及“$HOME”下的ModelArts小工具。不可以新增属主为“root”且权限包含“setuid”或“setgid”位的文件。自定义镜像大小不能超过5GB。日志文件输出,为保证日志内容可以正常显示,日志信息需要打印到标准输出。     ModelArts还提供基础镜像用于自定义镜像的制作。基础镜像中有一些必要的工具,帮助用户快速实现代码下载、训练日志输出、上传日志文件至OBS等功能。3.上传镜像至SWR服务。上传镜像的详细操作可参考SWR用户指南。4.使用自定义镜像创建训练作业。使用自定义镜像导入模型端到端示例请参考使用自定义镜像导入模型~1.准备工作完成访问授权的配置,详细操作参见使用委托授权。已在OBS服务中创建桶和文件夹,用于存放数据以及相关文件。2.制作自定义镜像    在制作镜像用时,需满足ModelArts定义的规范。自定义镜像中不能包含恶意代码。自定义镜像大小不超过30GB。镜像对外接口         镜像的对外服务接口需要为8080,推理接口需与config.json文件中apis定义的url一致,当镜像启动时可以直接访问。健康检查接口         自定义镜像需要提供健康检查接口供ModelArts调用,在config.json文件中配置,参见模型配置文件编写说明。日志文件输出        为保证日志内容可以正常显示,日志信息需要打印到标准输出。镜像启动入口        如果需要部署批量服务,镜像的启动入口文件需要为“/home/run.sh”,采用CMD设置默认启动路径。镜像依赖组件        如果需要部署批量服务,镜像内需要安装python、jre/jdk、zip等组件包。3.上传镜像至SWR服务。上传镜像的详细操作可参考SWR用户指南。4.选择从容器镜像导入模型,可参考从容器镜像中选择元模型。5.将模型部署为在线服务。转自,【云小课】EI第16课 ModelArts 使用自定义镜像快速迁移上云-这2种功能,你了解哪些?-云社区-华为云 (huaweicloud.com)
  • [已解决问题归档] aicc的服务的部署是否可以支持docker容器化部署
    【问题来源】    星网    【问题简要】    所有服务的部署是否可以支持docker容器化部署【问题类别】    服务安装    【AICC解决方案版本】    AICC 8.13.0       【期望解决时间】  今日内【问题现象描述】           用户想知道所有服务的部署是否可以支持docker容器化部署
  • [技术干货] 安装Jenkins的容器部署
    docker run -u root --rm -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock \ jenkinsci/blueocean 也可以先把镜像下载到本地,然后再执行docker run docker pull jenkinsci/blueocean容器安装的好处是简单,不容易出错。root@ecs-385f:~# docker run  -u root  --rm  -d  -p 8080:8080  -p 50000:50000  -v jenkins-data:/var/jenkins_home  -v /var/run/docker.sock:/var/run/docker.sock  jenkinsci/blueocean Unable to find image 'jenkinsci/blueocean:latest' locallylatest: Pulling from jenkinsci/blueocean540db60ca938: Pull complete 2a961b9363b0: Pull complete d6a479880c83: Pull complete 8eaeff69d97a: Pull complete 351ca2eaf86b: Pull complete f6c722701e33: Pull complete 2e4f785df836: Pull complete d3df0c4abbde: Pull complete bc5608b67244: Pull complete 3f8e7265de76: Pull complete b43472033709: Pull complete 8c8d6280a0e7: Pull complete a1ce0802fc1d: Pull complete 8fe1c5ba0c97: Pull complete d29f411ffa58: Pull complete 0bf0f39d44a7: Pull complete Digest: sha256:38bcb5122b85482dec0c3dfd6ba29bdc3e8c9a2eb43258f670096e0b4cbfcb2eStatus: Downloaded newer image for jenkinsci/blueocean:latest164454a8906fe71a35467704f161813f198860f8f878870aa3a60ae68e7b6a1broot@ecs-385f:~# docker psCONTAINER ID        IMAGE                                COMMAND                  CREATED             STATUS                  PORTS                                              NAMES164454a8906f        jenkinsci/blueocean                  "/sbin/tini -- /usr/…"   13 seconds ago      Up 11 seconds           0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp   distracted_bartikroot@ecs-385f:~# curl 114.115.168.136:8080<html><head><meta http-equiv='refresh' content='1;url=/login?from=%2F'/><script>window.location.replace('/login?from=%2F');</script></head><body style='background-color:white; color:white;'>Authentication required<!----></body></html>                                                                                                                                                                                                                                                                                                            root@ecs-385f:~# 浏览器访问EIP:8080root@ecs-385f:~# cat /var/jenkins_home/secrets/initialAdminPasswordcat: /var/jenkins_home/secrets/initialAdminPassword: No such file or directory没有这个文件是因为Jenkins并没有部署在ecs上,而是部署在容器里。root@ecs-385f:~# docker exec -it 164454a8906f sh/ # cat /var/jenkins_home/secrets/initialAdminPassword8f92c205facbxxxx11849b1a13e655/ # 复制上述字段到Jenkins登录页面。提示安装插件的界面:
  • [网络安全] 云原生带来的云安全机遇
    云原生和云工作负载的演进云计算发展之大成,来自于处理器、存储、网络等几个关键计算要素的交替迭代进步;而云计算的部署使用模式,跟历史上的交流电和自来水一样,目标是把计算能力发展成随用随取的市政资源。这将是 IT 基础设施的一次变革,其颠覆性发展,带来了使用“云原生”应用的需求,也带来了对安全机制“云原生”的需求。“云原生(Cloud Native)”一词,经常被作为形容词定语,冠在不同子领域名词前面,引来了很多理解上的困惑。从云租户的视角来看,他们关心的是要运行于云上的应用和业务,以及最重要的,要付多少钱。因此,如果以业务、应用作为讨论的基础,那么宽泛的说,“云原生”描述的是充分利用原生云能力(自动扩展、无中断部署、自动化管理、弹性,等等)来进行应用设计和部署的方法。在这个形而上的框架下,微服务、容器技术、云数据库技术、K8S、弹性搜索、遥测(Telemetry)等,都是形而下的技术。简单的把原有企业网的环境和虚机迁移到 IaaS 云里,或者把原有单一应用(monolithic application)直接打包到虚机里运行,乃至做些 API 对外提供接口,这些做法离云原生都还远。为了实现“云原生”属性,云应用需要在发布、服务方式、随需弹性、数据和工作负载(workload)管理等多方面都重新构建。所谓工作负载,是对运行应用所需要的资源和进程的抽象化定义。最初的工作负载形式就是物理服务器。随着 IDC 走向虚拟化,工作负载演进为虚拟机形式。到今天,云服务中容器成为工作负载的主流,而正在出现和发展的工作负载新形式 Serverless(无服务程序),直接对应用 run-time 虚拟化,改变了传统意义上的服务进程监听-运行模式,是更加精细粒度的瞬态工作负载(ephemeral Workload)。可见随着云计算和云原生需求的发展,云工作负载的形式越来越抽象灵活,同时其部署和运行的生命周期也可越来越短。多种形式和生命周期的云工作负载会长期共存,目前并没出现彼此淘汰的情况,同时这些演进和共存,也使得抽象化定义很有必要。云原生带来的云安全领域变化安全机制一直是跟随 IT 基础设施和业务来为其服务的,云安全也不例外。其保护的对象就是面向访问和使用云系统、云应用的流程机制。与传统企业网络安全机制显著不同的是,云安全的管理责任由云运营商和用户共同分担。更重要的是,传统物理边界变得模糊后,安全不再围绕企业数据中心和终端来设计部署,安全边界也不再是数据中心边缘和企业网边缘的某个盒子。在云计算时代,应该基于以数据为中心(Data-centric)的原则来部署安全,关心的问题应该是:谁,能访问什么业务和数据,应该授予何种访问权限,为什么需要这些权限,在授权范围访问是如何进行的,等等,而不再是“业务在哪里”和“边界在哪里”。换句话说,传统安全边界变成了无处不在的边界能力——动态创建、策略强化、权限管控、安全访问。云原生环境对安全在业务、管理和部署上的关键要求包括:云业务持续不断的交付要求,需要持续不断的安全保障。亚马逊、沃尔玛等级别的云用户的更新部署要求可达每日数百次,弹性和无中断成为标配要求,因此安全必须也做到轻量化、持续不断,并嵌入部署工具中各个环节来确保成为“检查点”。对工作负载(Workload)的安全防护是必须的,而且要随着工作负载的演进而不断演进。传统企业安全防护,端点、网络、边界,各个层级相对清晰,而云环境下,这些边界界限变得很模糊,承载计算的工作负载则是直面威胁的对象。因此,工作负载的安全,是一个需要横向保护多种负载,也需要纵向对每类负载深入做好保护的问题。对多系统和混合栈的支持,以及自动化配置。云安全要考虑到云的公有、私有、混合等形态,也要考虑云工作负载的多样性和演进,同时还需要支持多种操作系统。而云应用带来的配置复杂度,让自动化要求在云原生的背景下有格外重要的意义。从责任共享和云原生要求这两个角度出发,云安全产品可以简单直观的分成三大类:第一类是对云原生要求不高的传统安全产品,比如防火墙、防入侵、端点安全、服务器监控、终端检测响应和 SIEM 等,云运营商可直接将第三方安全产品部署上云。第二类是云运营商为配套云服务而提供的安全产品,也可称为“云运营商原生提供的安全(Native Cloud Security)”。常见的有威胁检测、云数据库安全、API 安全、容器和工作负载安全、用户行为监控、合规与风险管理等。一般由运营商从第三方购买整合或自己开发。第三类则是基于云原生应运而生的“新安全”产品和服务。与云天生具有较好的亲和力,比如云工作负载保护平台 CWPP(Cloud Workload Protection Platform)、云安全态势管理 CSPM(Cloud Security Posture Management)、云访问安全代理 CASB(Cloud Access Security Broker)、微隔离 Micro-segmentation,等等。第一类是传统安全厂商的静态存量市场(搬一块少一块),第二类和第三类则是云安全市场的创新和整合频繁出现的地方,创业公司层出不穷,安全大厂并购频繁,云运营商也亲自下场买买买,因此这是安全厂商的机会所在。CWPP 与 CSPM:数据面和控制面的分工与合作CWPP 的能力集和分类根据 Gartner 的定义,云工作负载保护平台 CWPP,意指在现代混合多云数据中心架构下,以租户的云工作负载为中心的安全机制。CWPP 是 IaaS 安全的关键环节之一,也是促进企业“上云”的保障。时至今日,随着云工作负载保护在云计算中重要性的提升,CWPP 已经与传统大户——终端安全防护 EPP(Endpoint Protection Platform)分庭抗礼。2019 年全球的 CWPP 市场收入为 12.44 亿美元,在 2018 年 10 亿美元的基础上,增长超过 20%。三个最大的玩家分别是:趋势科技、赛门铁克和 McAfee,占一半的营收。2020 年 4 月 Gartner 发布的 CWPP 市场指南对业界已经很熟悉的 CWPP 能力金字塔进一步精简,从最核心按重要性递减排序为八层:原有的文件加密和防病毒不再纳入:加固、配置和漏洞管理;基于身份的隔离和网络可视化;系统一致性保证;应用控制/白名单;预防漏洞利用和内存管理;服务器工作负载行为监测、威胁检测和响应;主机防入侵和漏洞屏蔽;扫描恶意软件。不同安全厂商针对特定领域,聚焦一种或多种能力,这也造就了 CWPP 具体产品实现的不同基因。Gartner 据此把厂商分成七大类:广泛能力和多系统支持,漏洞扫描和配置合规,基于身份的隔离和可视化与管控,应用管控与状态执行,服务器行为监测和威胁检测和响应,容器和 K8S 保护,以及对 Serverless 的保护。其中,志翔科技的至明®智能主机安全响应系统产品(ZS-ISA),对服务器、虚拟机和容器都能监测和保护,并支持基于用户角色的精细管控 RBAC 和安全可视化,因此被归类为 CWPP 中的“基于身份的隔离和可视化与管控”。CSPM:硬币的另一面软件定义业务(Software Defined X)已经在多个领域流行,如软件定义网络 SDN、软件定义广域网 SD-WAN、软件定义边界 SDP 等。控制面和数据面分离,是 SDX 中的一个重要概念。比如 SDN 的模型中,网络策略在控制面计算并下发到数据(转发)面,数据面不用具备复杂计算能力,直接执行策略做转发即可。控制面和数据面的分合逻辑关系,在处理器设计中有,在网络设计中有,在云安全中同样有。CWPP 和 CSPM 就是一对分别聚焦数据面和控制面的安全机制。CWPP 是对云工作负载进行保护,是对数据面的安全防护。CSPM 则聚焦控制面的安全属性,包括配置策略和管理工作负载、合规评估、运营监控、DevOps 集成、保障调用云运营商 API 完整性等等。当前几乎所有的云安全事件都涉及配置错误和管控失当,而涉及到 IaaS 和 PaaS 服务的配置复杂性和用户自助之普及,更凸显正确配置和合规的重要性,这就让控制面的安全机制变得越加重要。CSPM 和 CWPP 是同一块硬币的两面,对于保障云应用的实际运行,密不可分。CSPM 负责在云运营商提供的基础工具之外,强化控制面的安全,检查和强化正确的配置;CWPP 负责数据面的安全问题,保护好各种云工作负载,两者配合的目的,都是为了云计算业务的正常开展和租户敏感数据得到妥善保护。实际上这种“策略配置检查-策略下发执行-业务过程防护”的逻辑,其内在哲学与通信网络中的做法完全一致。数据面和控制面的云安全产品会融合组成解决方案来服务多种云和多租户。很有意思的是,从 CWPP 和 CSPM 的融合趋势来看,从 CWPP 往控制面发展的厂商很多,而反之则较少。笔者的解读是,CWPP 在操作系统、平台和网络层面有较多特性,属于“通才”基础能力,而 CSPM 往往是和某个云运营商在配置和 API 能力上深度绑定的。从通识教育向某个方向垂直发展,符合我们求知和教育的一贯做法,大学里大家都是先上公共基础课,再学专业基础课,最后本科高年级才到专业课。云安全在中国:IaaS 和混合云的安全仍是重点云计算市场的发展,在全球呈现出“美国”和“美国之外”两个板块的两极趋势。美国公有云和 SaaS 的发展,明显领先全球其他地区几个身位。中国的云计算和云安全市场,跟美国比存在较大差异,这其中有发展阶段的原因,建设习惯的原因,也有 IT 生态环境和竞争等原因。即使如此,我国在云计算整体大趋势上的发展,基本是与我国经济体量和发展水平对称的。到 2019 年,我国云计算的市场营收,仍以 IaaS 为主,至今 SaaS 还没有广泛流行。在云计算的下半场,公有云+私有云结合的混合云仍然会是中国云市场主要形态。互联网公司布局公有云,传统行业客户出于政策监管考虑,会选安全性和可控性更强的私有云/专有云,并需要深度定制的方案和服务支持。另一方面,无论中国还是美国,安全市场都看起来高度分散。美国 2019 年有 5000 余家安全企业,中国的对应数字是 3000 余家。随着云计算给信息基础设施带来的变革,加上 5G、物联网和传统产业数字化(产业互联网)的发展,“云原生”带来的是极为广阔的安全市场空间。因此高度分散和海量的安全企业,背后反映的是蓬勃发展的安全细分领域,以及资本市场对于安全企业的青睐。上市等活动在安全市场非常活跃,这种活跃还将会会随着云计算的普及持续多年。IaaS 和混合云的安全作为我国云计算市场一段时间内的重点,对安全生态有很强的促进作用。细分领域的厂商可以做深做精,而在全环节解决方案上,融合、合作、联盟就成为必然选项。比如,企业主要使用 IaaS 服务的算力来处理敏感数据,则选择上 CWPP 来保护云工作负载,并使用 CSPM 来保证配置无误,这两者的亲和力会进一步促进融合。又如,机器学习、可视化、用户实体行为分析(UEBA)等技术,会逐渐成为各项安全产品背后的技术,特别是提升日志分析、SIEM、特权账号管理的能力。再如,软件定义边界 SDP 和其演进出来的零信任安全框架,融合身份权限、访问控制、安全管理等,将成为新的云业务访问方式,逐渐取代传统 VPN 等。志翔科技的产品技术发展方向与以上行业发展方向正是一致的。志翔的至明智能主机安全响应系统(ZS-ISA)连续两年入选 Gartner CWPP 市场指南,也证明了我们在前瞻趋势方向判断上的准确和产品技术上的领先能力。后续,我们会在 CWPP 的微隔离、权限管控和可视化支持的基础上,继续增加主机监测响应、安全分析和机器学习能力,整合云原生 API 来提供适配头部云运营商的 CSPM 能力,并与合作伙伴一起构筑全环节安全防护能力。目前志翔云安全产品已服务于金融、能源电力、政法等多个领域,并将持续创新,助力政企“上云”和“云上”业务的可信安全体系构建。————————————————版权声明:本文为CSDN博主「CSDN资讯」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/csdnnews/article/details/107536630
  • [测试] kubectl常用命令
    【摘要】 kubectl常用命令:获取pod,查看pod相关信息,重启pod,上传下载pod中的文件等命令。1.        获取pod1)   获取指定命名空间的pod:kubectl get pods –n namespace2)   获取所有命名空间的pod:kubectl get pod --all-namespaces2.        重启podkubectl get pods -n namespace,获取到controller的NAME。1)   重启:kubectl delete pod xxx -n namespace (备注:xxx替换为上面获取的pod的NAME即可。)2)   强制重启:kubectl delete pod xxx --force --grace-period=0 -n namespace (备注:xxx替换为上面获取的pod的NAME即可。)3)   重启多个:a)     kubectl delete pod NAME1 NAME2b)     kubectl delete pod NAME1 NAME2 --force --grace-period=0 -n namespace3.        进入podkubectl exec -ti xxx /bin/bash –n namespace xxx替换为要进入容器的id4.        查看pod相关信息1)   describe查看pod版本等信息:kubectl describe pod 容器名字 -n namespace2)   查看pod端口:kubectl get service –n namespace3)   查看pod所在的node的IP地址:kubectl get pods –owide –n namespace5.        从本地拷贝文件到pod中1)   先上传文件到master节点2)   然后在master节点的上传的文件存放目录执行:kubectl cp 文件名 namespace/xxx:/tmp/文件名 (备注:xxx为容器名称)3)   如执行命令:kubectl cp dbs-iaasclient-1.4.1.jar default/dwscontroller-87859b8bc-k4wb9:/tmp/dbs-iaasclient-1.4.1.jar后,该文件就在了容器中的/tmp路径中了6.        从pod下载文件到本地中1)   先在pod中查看要下载文件的路径:2)  在master节点的执行:kubectl cp namespace/xxx:文件名 /master存放该文件的目录/文件名(备注:xxx为容器名称)如,执行命令kubectl cp dws/dwscontroller-c9d6f657d-ggk27:a.log /tmp/a.log后,该文件就在master的/tmp路径中了3)   再通过其他方式从master节点下载下来即可。想了解GuassDB(DWS)更多信息,欢迎微信搜索“GaussDB DWS”关注微信公众号,和您分享最新最全的PB级数仓黑科技,后台还可获取众多学习资料哦~转载来自:https://bbs.huaweicloud.com/blogs/266491
  • [行业资讯] 开放是低代码的未来
            作者:MAYUR SHAH 来源:Devops.com  各类企业都面临数字化转型和缩减 IT 预算的需求,低代码市场在全球范围内迅速崛起。即使越来越多的专业开发人员和公民开发人员采用低代码,我们还是会想到一个有趣的问题——低代码的前景如何?它能否成为现代开发团队的主流方法?  答案很可能是——一个开源、低代码平台!它提供高生产力,同时支持与企业内现代软件开发实践的整体结构无缝集成。  可以假设低代码演变为开放的低代码,而带来更大的创新和敏捷性。  为了进一步理解这意味着什么,让我们深入研究一下。什么是开放系统?  根据维基百科,开放系统是提供互操作性、可移植性和开放软件标准的某种组合的计算机系统。  多年来,软件行业从设计、实施和使用开放系统中获益匪浅。TCP/IP 协议标准、UNIX 系统、Web 浏览器、REST API——所有这些都是开放标准的光辉例子,这些标准后来变得非常成功并被广泛采用。通过保持开放,它们实现了更高的互操作性、简化了开发并促进了快速创新。  低代码现在处于其采用曲线的关键阶段。在过去的几年里,我们看到公民开发人员成功地使用低代码执行影子 IT,并以惊人的速度生产应用程序。如今,低代码平台已针对企业用途进行了强化,经过编程以了解复杂应用程序的可扩展性和安全性需求,并且具有足够成熟的集成功能以无缝适应现有工具和技术。  因此,我们现在看到专业开发社区更多地采用低代码,涵盖从简单仪表板到复杂应用程序的各种用例。低代码下一个演变是它成为企业 IT 中的主流,并用于构建关键任务应用程序和系统。  开放式低代码平台的案例  现代软件开发团队中,开发人员的速度和组织敏捷性已成为高性能软件开发团队的关键基准,因为这些指标与业务绩效直接相关。根据麦肯锡的一份研究报告,在开发者速度得分方面处于前四分之一的团队的股东总回报高 60%,营业利润率高 20%。这样的团队可以更快地进行实验并毫不拖延地将代码发布到生产环境中。  低代码应该对开发人员的工作实践和工作流程造成最小的干扰。此外,低代码可以与整个企业应用程序架构的结构无缝集成也很重要。如果低代码平台基于开放标准且灵活,那么企业应用程序基础架构的其余部分可以与其共存。  是什么让低代码平台开放?  以开发人员为中心的功能  开发人员喜欢控制、灵活性和统一的体验。他们在坚持自己喜欢的语言、工具以及应用程序开发和交付工作流程方面感到很自在。一个提供生产力和同等灵活性的低代码平台,专注于构建健壮的企业架构,必将成为应用程序开发的未来。  平台应专注于在应用程序生命周期的概念、设计、集成、开发和部署阶段提供统一的开发人员体验,采用现代、同类最佳和云原生的技术堆栈。同样重要的是,为开发人员提供一种轻松将任何外部创新引入低代码平台的方法。  可视化、定制和所有权  许多低代码平台不会生成 100% 的应用程序代码。此外,由专有平台生成的大部分代码也是专有的,并且经常保持隐藏状态,不易访问或扩展。  生成基于开放标准的真实代码的平台是一笔巨大的财富,特别是对于构建复杂应用程序的专业开发人员而言,这些应用程序需要广泛的定制和与企业工具(安全、测试、调试、集成等)的深度集成。  生成的代码应基于对开发人员友好、同类最佳的应用程序堆栈和标准设计模式。这样,应用程序团队将完全熟悉和理解代码。启用代码的完全导出允许团队拥有平台创建的代码。  灵活的应用架构  应用架构应该是松耦合的,支持可以独立构建、部署和扩展的微服务和微前端。这样,架构可以轻松支持云原生应用程序开发。  此外,应用程序生命周期的所有其他方面都应允许即插即用功能。这包括但不限于插入自定义 UI 组件(小部件、模板)、自定义安全提供程序、自定义后端代码、日志框架、事件驱动系统等。即插即用模型确保开发团队可以集成为企业微调的自定义提供程序。  现代发展最佳实践  现代应用程序开发实践已经发展到允许团队更快地进行实验并以前所未有的速度将代码发布到生产中。性能和可扩展性方面的优化产生了可以支持数百万最终用户的应用程序。随着开发人员逐渐适应低代码,平台应在构建应用程序时与所有现代开发实践保持一致并实施。这个想法是为了最大限度地减少开发人员在实现低代码的过程中的摩擦,以便他们继续利用与复杂编程世界中相同的设计原则、应用程序工具和企业集成。  基础设施即代码 (IaC)  开发人员需要一种持续部署软件的方法,以便始终有一个应用程序版本可用于生产。低代码平台应支持 IaC 选项,因此生成的代码始终可以无缝部署在开发人员选择的基础架构上。平台应该集成到构建、测试和发布系统(例如版本控制系统、CI/CD、工件存储库、容器镜像存储库、Kubernetes 集群和公共或私有云实例)。这样,由低代码构建的工件就会持续集成并部署到企业的运营系统中。  低代码正处于企业内部的转折点,因为它成为数字化转型和应用程序现代化的首选平台。这是低代码平台成为企业应用程序架构的关键组成部分的机会。开放的低代码方法将使应用程序开发团队能够从组织内流行的底层最佳实践中受益。  低代码不仅仅是一种生产力工具;它有可能成为推动企业创新和业务敏捷性的技术和文化催化剂。  - End -本文来源于网易号APICloud汤圆攻城狮原文链接:https://www.163.com/dy/article/GD5PJAGD0531OBOL.html
  • [技术干货] input submit、button和回车键提交数据详解
     1234<form>  <input name="name">  <input type="submit" value="提交"></form>以这种方式提交,input 值为22222222时,后面递交的url 就会变为localhost:3980/input.html?name=222222其中有些值得注意的细节:    设置type=submit后,输入控件会变成一个按钮,显示的文字为其value值,默认值是Submit。    form[method]默认值为GET,所以提交后会使用GET方式进行页面跳转。    input[type]默认值为text,所以第一个input显示为文本框。input其实是一个由输入控件改装过来的按钮,这源于Web早期的简陋设计。我们给它设置name便可以验证这一点:<input name='btn' value='提交' type='submit'>提交后的Url就会变为localhost:3980/input.html?name=222222&btn=提交注意其中的URL为/?key=foo&btn=ok。作为按钮的input控件同时被当做一个表单输入提交给了服务器。 它到底是交互控件还是数据控件呢?定位是有些不清晰。再加上它的样式难以定制、不可作为其他标签的容器, 所以建议不要用input作为表单提交按钮。注意:input的type属性还可以是button,这时它只是一个按钮,不会引发表单提交。2、button[tpe=submit]button的语义很明确,就是一个按钮不含数据,作用就是用户交互。但它也有type和value属性。 type的默认值是submit,所以点击一个button会引起表单提交:1234<form> <input name='key'> <button>确定</button></form>如果你在做IE浏览器的兼容,请记住button[type]在IE中的默认值是button,这意味着它只是一个按钮而不会引发表单提交。  另外,我们通过设置元素内容的方式来指定button的文字。这意味着button是一个容器控件, 其中可以包含任意的HTML标签,同时样式更容易定制。这也是为什么Bootstrap 文档中大量使用button作为示例的原因之一。但是,button会很乱。button可以设置name和value。提交表单时,value会被作为表单数据提交给服务器。 在IE中,甚至会把button开始与结束标签之间的内容作为name对应的值提交给服务器。button和input的相似还不止于此,button也可以设置type=reset,此时点击按钮会导致表单被重置(这还挺有用的)。 w3school给出了如下的示例:123456<form action="form_action.asp" method="get"> First name: <input type="text" name="fname" /> Last name: <input type="text" name="lname" /> <button type="submit" value="Submit">Submit</button> <button type="reset" value="Reset">Reset</button></form>对于button就不多说了,建议用button作为交互用的按钮,来提交表单。同时请注意设置type=submit来兼容IE。回车键提交表单Enter键是可以提交表单的!但是你可能已经注意到了,并非所有的表单都可以用Enter键来提交。来看HTML2.0 标准:    When there is only one single-line text input field in a form, the user agent should accept Enter in that field as a request to submit the form.    当表单中只有一个单行的文本输入控件时,用户代理应当接受回车键来提交表单。“单行”指的是type为text而非textarea,显然在textarea中回车提交表单是怎样的难以接受。 其实在实践中,有多个单行的input也可以用Enter提交,比如登录页面。4.阻止表单提交阻止表单提交也是一个常见的话题,通常用于客户端的表单验证。通用的办法是设置onsubmit:1234<form onsubmit="return false;"> <input name='key'> <input value='ok' type='submit'></form>只需要在onsubmit的一系列语句最后返回false,便可以阻止它提交。 如果你希望调用一个方法来决定是否阻止提交,记得在此处返回方法的返回值:1234<form onsubmit="return false;"> <input name='key'> <input value='ok' type='submit'></form>
总条数:489 到第
上滑加载中