• [技术干货] 教程:添加OBS存储到官方docker registry,实现采用OBS对象存储服务作为registry存储后端。
        技术背景    Docker作为一种热门的虚拟化技术,当前被广泛应用于各领域之中。在Docker中,主要包含三个概念,分别是镜像(Image)、容器(Container)及仓库(Repository),其中镜像是Docker中的核心部分。Docker镜像是一种特殊的文件系统,其提供了容器运行时所需要的程序、库、资源、配置等文件。镜像构建完成后即可在对应的宿主机上执行。但当需要将镜像提供给其他用户在其他服务器上使用时,就需要一种镜像分发服务,当前官方Docker Registry即可以提供该种服务。在使用Docker registry服务时可以指定对应的后端存储类型以存储镜像等文件,但当前Docker registry后端存储类型中暂不支持采用华为云对象存储(OBS)服务,由此给希望采用OBS服务作为存储后端的用户带来了不便。针对该问题,利用Docker官方提供的Docker registry开源代码,我们实现了可支持OBS存储的registry服务。    github地址    该registry基于Docker registry1.7.1版本开发,源代码地址为:https://github.com/redabc/distribution.git。    使用方法    1. 安装依赖组件Docker、docker-compose;    2. 从上述地址获取registry代码:git clone https://github.com/redabc/distribution.git;    3. 进入distribution目录,执行编译命令:docker build . -t "obs/registry-photon:v1.7.1",红色部分表示registry库编译后的镜像名称,可以自行指定为自定义的镜像名称。    4. 执行docker run命令,创建并运行步骤3中编译得到的镜像。对应命令:docker run -d -p 5000:5000 --name registry obs/registry-photon:v1.7.1。红色部分为步骤3中编译registry镜像时指定的镜像名称。    5. 执行步骤4后即可采用新的编译后的registry服务。但是由于Docker registry默认情况下采用的是filesystem存储后端,即将镜像等文件存储在本地指定路径下,因此如需采用OBS存储后端时,还需要额外修改registry的配置文件。        5.1 默认的registry配置文件路径为/etc/docker/registry/config.yml,该文件路径对应存在于步骤4中运行的registry容器中。为了指定采用OBS存储后端,需要先将该文件拷贝至宿主机环境,执行拷贝命令: docker cp contain_id:/etc/docker/registry/config.yml  config.yml,其中contain_id为步骤4中运行的容器对应的ID,可以通过docker ps命令查询。执行该条命令会将config文件拷贝至宿主机当前命令路径下。        5.2 修改宿主机目录中的config.yml文件,在config.yml文件中的storage字段中添加obs为后端存储,同时删除filesystem字段。    6. 执行docker stop registry 命令停止步骤4中运行的容器,红色部分表示步骤4中命令指定的容器名,可以通过docker ps命令查询。停止后删除该容器。    7. 执行命令:docker run -d -p 5000:5000 -v  `pwd`/config.yml:/etc/docker/registry/config.yml --name registry obs/registry-photon:v1.7.1重新创建并运行。其中红色部分表示利用宿主机上指定路径下的config.yml配置文件运行容器,此时即可根据步骤5中修改的config.yml文件采用obs服务作为存储后端。2019/11/29更新:    1. 考虑到部分用户在使用OBS作为docker registry存储后端时,对应用户无创建桶的权限,只有与上传及下载相关的操作权限,该情况下用户将无法启动该registry服务。针对这一情况,当前代码中去掉了创桶操作。为保证功能的正常使用,目前需要提前创建要使用的OBS桶,或传入已存在的桶名。
  • [云运维] 【云上运维工具箱】【第1讲】应用运维管理服务架构浅析&概念简介
    AOM是一个以资源数据为中心并关联日志、指标、资源、告警和事件等数据的立体运维服务。本次,我们从其架构和基本概念上做个简单的介绍。架构首先来看架构图。 从架构上,主要分为3层,分别是数据采集接入层、传输存储层、业务计算层。数据采集接入层数据采集接入层负责数据的来源,有两种方式:1、Icagent采集:icagent是插件式的数据采集器,主要安装在云服务器上。对于容器集群,会默认安装icagent;对于单独购买的虚拟机,则需要手动方式安装。具体的安装方式后面我们会做详细的介绍。2、API接入:华为云上目前有较多的服务的接入了AOM,此类服务的指标就是通过API方式接入的。另外,AOM要提供了openapi接口或者exporter接口,您可以将自己的业务指标作为自定义指标,接入到AOM中。 传输存储层数据传输:AOM Access是用来接收运维数据的代理服务,运维数据接收上来之后,会将数据投放到Kafka队列中,利用Kafka高吞吐的能力,实时将数据传输给业务计算层。数据存储:运维数据经过AOM后端服务的处理,将数据写入到数据库中,其中Cassandra用来存储时序的指标数据,Redis用来查询缓存,ETCD用来存储AOM的配置数据,ElasticSearch用来存储资源、日志、告警和事件。 业务计算层AOM提供告警、日志、指标等。业务计算层提供的能力,后面我们会为大家做详细的介绍。 下面来介绍下基本概念。基本概念ICAgentICAgent是AOM的采集器,分别运行在每台主机上用于实时采集指标、日志和应用性能数据。安装ICAgent是使用AOM的前提,否则将无法正常使用AOM。 指标指标是对资源、性能的数据描述或状态描述,指标由命名空间、维度、指标名称和单位组成。其中,命名空间特指指标的命名空间,可将其理解为存放指标的容器,不同命名空间中的指标彼此独立,因此来自不同应用程序的指标不会被错误地聚合到相同的统计信息中。维度是指标的分类,每个指标都包含用于描述该指标的特定特征,可以将维度理解为这些特征的类别。下图以集群指标为例,介绍了命名空间、维度和指标的关系。 集群指标主机AOM的每一台主机对应一台虚拟机或物理机。主机可以是您自己的虚拟机或物理机,也可以是您通过华为云购买的虚拟机(例如:弹性云服务器,简称ECS)或物理机(例如:裸金属服务器,简称BMS)。只要主机的操作系统满足AOM支持的操作系统(AOM支持的操作系统详见操作系统使用限制)且主机已安装ICAgent,即可将主机接入到AOM中进行监控。日志AOM提供了海量运行日志的检索和分析功能,支持日志采集、下载、转储、搜索,并提供报表分析、SQL查询、实时监控、关键词告警等能力。告警告警是某些异常情况的警示。当系统的状态达到告警条件时自动上报的信息,告警条件通常是来自AOM服务自身或者是您自己定义的。告警清除方式包括自动清除和手动清除两种。·         自动清除:产生告警的故障消除后,AOM会自动清除告警,您不需要做任何操作,例如:阈值告警。阈值告警如何理解呢?其实就是事先设置了阈值即告警条件,达到阈值时就会上报告警。比如我们事先设置了某服务器的CPU使用率达到70%时上报告警,那么这个就是阈值规则。AOM一旦检测到该服务器当前符合这个阈值规则了,就会上报一条告警。·         手动清除:产生告警的故障消除后,AOM不会自动清除告警,您需要手动清除告警,例如:ICAgent安装失败告警。像这类告警,是需要先去排查解决异常的,解决了异常之后,再返回界面选择手动清除。事件事件告诉您系统发生了某种变化,但不一定会引起业务异常,事件一般用来表达一些重要信息。您不用对事件进行处理。下期预告:【云上运维工具箱】【第2讲】超全面的云上运维使用引导图  这里是广告:想要获得以下权益吗?那我们去领证吧!华为云云上运维微认证已经上线,一起去领证吧~
  • [干货分享] DevOps入门篇3——朴素的DevOps价值观:业务、架构与技术
    朴素的DevOps价值观:业务、架构与技术Nicole Forsgren博士在DOES上的演讲,说过一句话:Architecture matters...Technology doesn't。最近也遇到越来越多类似的问题,例如:业务方向不明确的情况下,如何拆分微服务?我们通常的观点是“架构是服务于业务的,太过超前的架构是浪费”,由此可以想到架构与业务其实也有相似的关系。参考Nicole的句式,从DevOps涉及到的几个维度出发:业务、架构与技术;人、流程与工具;原则,方法与实践,于是便有了如下的几句话:Business matters...Architecture doesn't. Architecture matters...Technology doesn't.People matters...Process doesn't. Process matters...Tool doesn't.Principle matters...Method doesn't. Method matters...Practice doesn't.本文中暂且把这些观点称之为朴素的DevOps价值观。之所以朴素,是因为这只是一个比较原始的想法,称之为价值观是因为具有相当的普适性。同时,如果这些观点有幸真的可以逐渐形成价值观,它也应该是简单质朴的。业务、架构与技术下面,让我们先来看看业务(Business)、架构(Architecture)与技术(Technology)这个维度:Business matters...Architecture doesn't.架构是服务于业务的,关于初创公司,新型的业务,是否需要采纳微服务,回答当然是视情况而定的,但通常建议从单体应用开始。微服务的价值与挑战一样明显,所以Martin Fowler有如下的一幅图。初创公司,业务方向还在不断探索,服务的边界是模糊的,即使对微服务的技术储备足够,也不建议此时就搞微服务架构,用最简单直接的方法搞定快速变化的业务诉求。用贷款买房来类比架构投入,自己出的首付款就像是前期在架构上的投入,贷款就好比是减少一定的架构投入,所需承担的技术债务:这其实是一个经济杠杆,用短期或长期的负债,来换取时间成本和机会成本。所以做架构也好,做DevOps也好,需要有经济的头脑。SAFe第一条原则Take an economic view,也有这层含义。这是一个平衡,一场与时间的赛跑,但总而言之,业务诉求高于一切。以上所说的都是因为业务战略需要,主动有意识的承担技术债务。如果是无意识的负债,那个叫做奢侈浪费,原本就应该消除。贷款买房,预期的是未来的房产的增值,贷款的利息相较起来是可以接受的。创业期也是同样,此时承担一定的技术债务是明智合理的选择。一味追求全款买房,就会错过买房的最佳时间窗口。业务的时间窗口更短,需要不断的快速试错,期望在架构层面一步就位是不现实的。不能贷款过多,否则无法承担月供。架构可以一开始简单些,原始一些,但基本的质量和NFR还是需要满足的;而一旦找对业务方向,又需要快速展开,所以架构在初期具备一定的扩展能力还是需要的。要定期清理债务,房贷车贷过多,即使是有力偿还,生活质量也会下降,脱离了原始购房改善生活质量的初衷。技术债务也需要定期偿还,定期清理,不能让因为技术债务产生的额外时间成本,大于承担技术债务所带来的机会成本。Architecture matters...Technology doesn't.下图是巴别塔,《圣经·旧约·创世记》第11章记载,当时人类语言相通,同心协力,联合起来兴建希望能通往天堂的高塔,“来吧,我们要建造一座城,和一座塔,塔顶通天,为要传扬我们的名,免得我们分散在全地上”。此举惊动了上帝,为了阻止人类的计划,于是他悄悄地离开天国来到人间,改变并区别开了人类的语言,使他们因为语言不通而分散在各处,那座塔于是半途而废了。      架构如此重要,所以一旦业务相对清晰一些,就要根据业务需要,考虑逐渐切换到微服务架构,才不至于堆积太多技术债务,对于可扩展性、可规模化、可部署性等也都至关重要。优雅的良好的架构更加重要,不要让微服务成为另一座巴别塔。理论上微服务可以最大化利用各种语言的优势,但如果没有好的服务切分与架构设计,微服务只会变成更大的灾难,只会是碎片化而不是去中心化。微服务的目的是更灵活的协同,如果服务之间缺少沟通,就背离了微服务设计的初衷。      Google内部有开发三大语言,分别是官方编译语言C/C++、官方脚本语言Python、和官方UI语言Java。坚持三大语言意味着内部沟通的顺畅,没有使用最新的技术和语言,并不影响,反而有助于Google快速成为世界顶级的公司。      团队效率高于个人效率,统一技术栈带来的收益,往往大于使用最新技术栈带来额外的维护和沟通成本。Etsy在2010年,决定大量减少生产环境中的技术,统一标准化到LAMP栈。“与其说这是一个技术决策,不如说是一个哲学决策”。这让所有人,包括开发和运维,都能理解整个技术栈。另一个例子,Etsy在2010年引入MongoDB,结果是“无模式数据库的所有优势都被它们引发的运维问题抵消了”,最终Etsy还是选择放弃了MongoDB,迁移到MySQL。      DevOps也并非只有Web应用、SaaS或是开放平台才适用,我们听到太多传统银行的转型案例,主机开发的案例,技术并非DevOps的绝对先决条件,虽然开放平台可供选择的工具会多一些,后面我们还会就工具进行讨论。      技术圈总是喜欢追逐潮流,总是存在各种鄙视链,就像前一段看到的PHP与其他各种语言的互喷群。还有类似于容器编排技术,大家一窝蜂的从Swarm、Mesos向K8s迁移。但对于企业 而言技术永远不是第一位的,最新的未必是最合适的,永远追逐最新的技术,往往丧失了自我的思考和技术的积累。
  • [技术干货] AI容器实战技术公开课资料
  • [分享交流] 【华为云社区 19年7月刊】本期推荐:2019入门级云主机选型测试报告
    2019入门级云主机选型测试报告★★★史上最全Python字符串操作指南如何优雅的上传对象到OBS鲲鹏初学者开始指南★★★如何避免DevOps变革的六大“焦油坑”★★★如何查看jsplumb.js的API文档(YUIdoc的基本使用)当Python遇见Andriod手机 万物皆可盘模拟真实AI开发场景,构建图像分类应用ubuntu18.04部署CUDA10.0+cuDNN+tensorflow-gpu+dockerGO富集分析示例用Anaconda3搭建自己的TensorFlow环境摄像机SDK对接第三方平台一人脸检测场景开发流程【最佳实践】如何设置视频封面?云享专家姚冬:9种DevOps团队结构适用类型与7种反型★★华为云MVP许舟平:来自工业制造领域的微服务与云平台实践★★云享专家方志朋:如何搭建自己的个人博客使用华为云数据库复制服务,实现阿里云MySQL数据库迁移到华为云0x2 Docker系列:Docker入门与实践0x2 Docker系列:Docker官方文档翻译20x2 Docker系列:Docker官方文档翻译30x2 Docker系列:Docker官方文档翻译40x2 Docker系列:Docker官方文档翻译50x2 Docker系列:Docker怎么修改hosts0x2 Docker系列:Docker 核心技术与实现原理Kuernetebs系列一:使用Kubespray部署Kubernetes集群Kubernetes系列二:Kubernetes对象模型Kubernetes系列三:Kubernetes基础与架构Kubernetes系列四:谈 Kubernetes 的架构设计与实现原理【Hello,鲲鹏】第一期:什么是华为云鲲鹏?【Hello,鲲鹏】第二期:创造一个属于自己的鲲鹏开发者环境【Hello,鲲鹏】第三期:在鲲鹏上使用编程语言——C语言【Hello,鲲鹏】第四期:在鲲鹏上使用编程语言——Java、Python玩转小熊派BearPi(一)使用STM32CubeMX + HAL点亮一个LED【演讲资料】ArchSummit全球架构师峰会·2019华为云技术专场【课程资料】5天玩转OCR【资料合集】7天玩转容器之基础入门课【版本资料】Atlas 200 DK 【演讲资料】华为IoT云服务助力行业数字化转型【华为云大咖分享】发掘系统弱点,带你一节课搞懂混沌工程!“如何利用GPU云资源训练自己的TensorFlow模型?敏捷的本质到底是什么?你们还提供免费的SSL证书吗?代金券激活找不到激活码在香港的服务器华为不支持SSL证书,有什么办法安装证书么买了模版298元,怎样升级到398元网站解析与备案弹性云服务器用户组devcloud的api文档怎么没有提供,查询一个仓库中的tag列表关于消息推送求大神指导批处理Batch service和MRS啥区别消息&短信 返回码E200037代表什么意思?任务栏在哪里订阅接口请求不成功无法验证签名手机版卡顿问题Agent Lite SDK集成开发指导  >初始化Agent Lite相关资源
  • consul 1.4.5通过k8s容器化部署指导(ARM64-CentOS7.5)
    1.简介Consul是一个用来实现分布式系统的服务发现与配置的开源工具。他主要由多个组成部分:ü  服务发现:客户端通过Consul提供服务,类似于API,MySQL,或者其他客户端可以使用Consul发现服务的提供者。使用类似DNS或者HTTP,应用程序和可以很轻松的发现他们依赖的服务。ü  检查健康:Consul客户端可以提供与给定服务相关的健康检查(Web服务器返回200 ok)或者本地节点(“内存利用率低于90%”)。这些信息可以监控集群的运行情况,并且使访问远离不健康的主机组件。ü  键值对存储:应用程序可以使用Cousul的层级键值对。2.环境说明Packet NameNameVersionCentOSCentOS 7.5 with ARM7.5 with armConsul1.4.0运行环境K8s+docker3.安装部署1、下载和部署consul客户端工具wget https://releases.hashicorp.com/consul/1.4.0/consul_1.4.0_linux_arm64.zipunzip consul_1.4.0_linux_arm64.zipmv consul /usr/local/bin/2、下载k8s部署的模板:git clone https://github.com/nicklv/consul_cluster_on_kubernetes.git3、进入到consul_cluster_on_kubernetes目录cd consul_cluster_on_kubernetes4、生成 TLS 证书cd 001cacfssl gencert -initca ca-csr.json | cfssljson -bare cacfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=default consul-csr.json | cfssljson -bare consul#执行完以上命令之后,在当前目录你应该看到以下证书文件ca-key.pemca.pemconsul-key.pemconsul.pem5、生成 Consul Gossip 加密密钥GOSSIP_ENCRYPTION_KEY=$(consul keygen)6、在生成Consul 集群使用的Secret 和 Configmapkubectl create secret generic consul \    --from-literal="gossip-encryption-key=${GOSSIP_ENCRYPTION_KEY}" \    --from-file=ca.pem \    --from-file=consul.pem \    --from-file=consul-key.pem7、将Consul集群使用的配置文件存储在kubernetes的 ConfigMap中cd ../002configskubectl create configmap consul --from-file=server.json8、创建Consul集群使用到的pv(persistVolume)持久化存储卷和pvc(persistVolumeClaim)持久化存储卷声明cd ../004pvckubectl create -f pvc.yaml9、通过kubectl 命令创建Consul 集群服务cd ../003serviceskubectl create -f consul.yaml10、创建 Consul 集群 StatefulSetcd ../005statefulsetsvim cosul.yaml#将image改为”arm64v8/consul:1.4.0”kubectl create -f consul.yaml11、验证consul服务端是否正常运行kubectl exec -it consul-0 /bin/shconsul members 4.参考信息https://www.kubernetes.org.cn/4435.html5.FAQ无。
  • [云原生生态] 我与容器的那些小事
    坐标杭州,目前刚毕业不久,去了一家网络安全公司做了一枚技术支持工程师,从上学的时候就有关注容器技术。一开始是学的是网络、云计算、Linux相关的知识,所以学容器的话算是有一点基础。从去年开始,开始接触华为云容器服务CCE,主要是通过实战营及华为云论坛的活动逐步熟悉的。很感谢华为云提供的这些机会。可以通过活动来低成本甚至没有成本的学习容器技术,运气好的话还可以得到奖品。所以有时间的话,推荐大家积极参加这样的活动,既能体验到产品、学习到知识,还能机会获得小礼物。作为一位萌新,除了从华为云举办的实战营和产品体验活动以外,我从华为云学院也学到了有关容器技术及考取了容器技术实践相关的微认证。当然学习技术,只单纯的体验和了解一下产品是不够的。通过华为云这个平台,了解到的诸如CKA 知识体系。感谢华为云容器的各位技术专家,从实战营及直播课课程,帮助萌新打通容器技术任督二脉,对K8s有了更深入的接触。我相信现在接触容器技术,熟悉容器、服务网格、微服务、Serverless 等云原生代表技术是很重要的,虽然我现在的工作内容不涉及云原生的代表技术,但我相信未来一定有机会接触到的。除了技术的学习以外,借华为云容器的产品体验活动(容器DIY——再战flappybird等)、华为云容器的实战营(比如7天玩转容器之基础入门课等)、华为云论坛微信及社群(比如华为云原生技术联盟社群等),还能认识的一波大佬。下面附部分参与证明    
  • [技术干货] 技术平台(CCE/CCI/CSE/AOM/SWR/AOS等服务)FAQ汇总(二)
    CCIGPU共享型AI容器相比开源我们做了哪些优化?为什么说我们当前优化效果比较好?1)优化Kata的硬件直通挂载技术,将物理GPU直接挂载到安全容器内,降低虚拟化层资源损耗,最大化利用GPU算力;2)对接华为云高性能存储和NVMe本地高性能盘,实现AI场景数据高性能存取(低时延、高IOPS),降低计算过程中的数据存取时间,提升AI计算性能;3)优化Kubernetes的调度框架,充分利用GPU服务器的NVLink和IB网络等通信拓扑信息,实现AI实例间最优网络通信能力,线性加速比高达0.95;CCICCI支持哪些存储类型,之间的区别是什么?如何选择?CCI支持EVS\SFS\SFS   Turbo三种类型,EVS只支持单pod挂载,有普通IO/高IO/超高IO模式;SFS、SFS   Turbo为共享型存储,读写性能高;适合大量小文件或大日志文件。CCI存储与容器的挂载逻辑,存储盘是否需要额外购买,挂载后即可在容器中使用?存储与计算的计费是独立的,可使用已有的存储卷或者购买新的卷,挂载使用。CPTS云性能测试服务CPTS必须使用CCE的k8s集群资源吗?华东需要,华北可以用CCI资源组,用共享资源压测内网的话需指定对应的VPC和子网。CSE微服务和容器的关系?微服务和容器是两个相互独立的概念。不过容器的快速启动、快速弹性伸缩等优势正是微服务框架得以快速发展的基础。CSEServicestage构建如何使用私有镜像作为基础镜像?1.目前阶段,servicestage进行构建的时候,拉镜像没有使用认证信息,因此只能拉公开镜像。Servicestage已经提需求对这个地方进行优化。    2.如果使用私有集群进行构建,在必须使用私有镜像的情况下,需要手动先把镜像拉到构建节点上。如果使用公共集群进行构建,目前无法使用私有镜像。CSE基于微服务框架进行开发,如何进行版本控制?在yalm文件中配置servicecomb.references.{provider端微服务服务名}.version-rule指定版本匹配规则,有四种格式:    精确版本匹配:例如version-rule: 0.0.1,表示只匹配版本号为0.0.1的服务提供者    后续版本匹配:例如version-rule: 1.0.0+,表示匹配版本号大于或等于1.0.0的服务提供者    最新版本:version-rule: latest,表示匹配最新版本的服务提供者    版本范围:例如1.0.0-2.0.2,表示匹配版本号在1.0.0至2.0.2之间的服务提供者,包含1.0.0和2.0.2    此配置项默认为latestCSE基于微服务框架进行开发,如何进行环境隔离?1.在yalm文件中service_description.   Environment:[环境名称]指定服务发布环境;2.不同环境即使注册在同一个服务中心,相互之间也是隔离的,不会被发现。CSE使用ServiceStage进行构建,依赖的快照更新策略怎么样?默认快照的更新策略是一天更新一次,如果需要每次都更新,需要在构建命令中加入-i参数,maven   -ICSE微服务框架进行开发,如何返回html页面?建议使用重定向解决,直接返回html页面有额外的性能消耗,不推荐。CSE部署多环境时,如何指定不同的启动参数,加载不同的配置文件?微服务yaml文件中的所有配置项都优先从环境变量读取,所以不必要使用不同的配置文件,只需要在部署的时候设置不同的环境变量值即可。CSE基于微服务框架进行开发,如何跨应用调用?1.首先需在provider端的microservice.yaml文件开启跨应用调用配置:service_description.   Properties.allowCrossApp:=true;2.consumer端指定微服务名称调用provider的时候,需要加上provider所属的应用ID,格式变为[appID]:[microserviceName]CSE微服务平台专业版本,能不能升级到专享版?专业版本不能升级到专享版,专业版本可以手工升级到新的专享版本,只需要在CCE里修改新的CSE的注册中心地址。CSEcse://server/v2/server/interface通过这种方式实现服务间调用,怎么能够获取本次调用时所调用的具体服务?能否获取所调用服务的地址?1.可以到CSE的控制台看一下调用的监控数据。2.从代码的角度,可以考虑出现错误的时候,打印日志,把对端的地址打印出现。具体可以通过实现handler,放到最前面,捕获异常,从invocation里面读取地址信息输出。CSE使用CSE-SDK开发的微服务,如何进行服务超时设置?可以通过下面的配置修改超时时间:    servicecomb.rest.client.connection.idleTimeoutInSeconds: 30    cse.request.timeout: 30000    请求超时时间需要比IdelTimeout大一点    参照:https://bbs.huaweicloud.com/forum/thread-11031-1-1.htmlCSE是否可以在EdgeService执行阻塞性操作?不要在Edge执行阻塞操作,否则会线程挂死,建议改为线程池模式      https://docs.servicecomb.io/java-chassis/zh_CN/build-provider/protocol/thread-model.htmlCSE如何同时发布ServiceComb   Restful和SpringBoot的Servlet接口?如何同时发布ServiceComb   Restful和SpringBoot的Servlet接口:    https://github.com/yhs0092/SpringBoot1.5-ServiceCombDemo-2GCS使用Docker是否需要考虑登录与认证?任务投递正常是需要配置登录认证,目前我们的方案好像没考虑?Master节点Linux用户信息,可自动同步至整个集群(如/etc/passwd文件),所以登录认证与本地机器使用方式一致。GCSARM替代X86英特尔芯片,是否全部适用?基因测序领域的应用前景怎么样?ARM服务器,软件需要重新编译。Python语言可直接跑。生信软件容器化是趋势,可独立维护升级,运行互相隔离。IstioISTIO服务网格与ServiceComb的区别在哪里,为什么ISTIO算是容器类服务全栈产品之一?1)ServiceComb是华为开源的微服务开发与治理框架,通过SDK封装微服务治理接口,简化微服务开发。ServiceComb并不依赖Kubernetes,通过SDK与应用结合。2)ISTIO是Google开源的服务网格项目,华为也参与了此项目,服务网格更专注于服务之间的通信、流量控制、可视化与安全,通过Sidecar的方式与应用结合,无需修改业务代码。3)Istio与k8s结合紧密,k8s负责容器基础设施,istio实现服务治理,两者配合完成容器应用的部署、运行、治理的全流程。当前Istio只支持Kubernetes,且所有业界产品中,Istio均运行在Kubernetes平台之上,因此,Istio属于华为容器全栈平台一部分。Istio如果客户直接做容器化改造是否可以直接使用ISTIO?可以,CCE容器集群将ISTIO作为插件,与集群无缝集成,用户可以根据需要开启和关闭。Istio如果客户已经做了微服务改造,是否可以容器化后用自己的微服务治理框架?可以继续使用,相互之间不冲突。Istioistio   是否已集成在AOM和APM中?还是需要单独去配置。istio默认会对接AOM、APM(网格型)。istio的拓扑页面(微服务治理)依赖APM(网格型),显示各个微服务流量状态,客户可以从这个图中看到微服务治理(比如熔断、限流、伸缩)的效果。    如果客户要看应用的调用链、事务信息,则需要再额外使用APM探针型版本(跟语言相关)。Istio是否支持istio   egress?istio支持egress,目前后台已配置egress,默认放通对外访问能力,如果需要关闭的话,需要在后台修改。    kubectl edit cm -n istio-system istio-sidecar-injector      查找traffic.sidecar.istio.io/includeOutboundIPRanges字段,将其修改为"*",则与原生一致IstioIstio服务提供哪些灰度发布能力?目前支持http/grpc/tcp协议的灰度升级,tcp仅支持基于流量比例的灰度发布SWR是否有便捷的方式指导用户制作容器镜像?我们的镜像构建是否客户就不用自己写dockerfile?1)CCE容器服务的官方说明文档有个最佳实践,有详细镜像制作的指导(https://support.huaweicloud.com/bestpractice-cce/cce_bestpractice_0001.html);  2)ContainerOps提供镜像Step by   Step能力,可实现源码、二进制到镜像的制作。用户可以选择自行编写dockerfile,也可以选择由ContainerOps自动生成Dockerfile。SWRSWR是否支持对接私有仓库?SWR支持对接自建Gitlab,要求版本在8.10.0-rc1.ce.0以上SWRswr镜像仓库的地址在哪里获取?可以在SWR界面的总览里面的获取登入指令看到。具体调用的接口可以查看API文档。如获取命名空间:https://swr-api.cn-north-1.myhuaweicloud.com/v2/manage/namespaces
  • [技术干货] 技术平台(CCE/CCI/CSE/AOM/SWR/AOS等服务)FAQ汇总(一)
    服务问题回答AOM应用全景菜单里面服务与实例的关系是什么?1)每个服务由若干个实例组成。2)存在系统服务与系统实例,在服务列表下点击将隐藏系统服务勾选点掉后,实例数与应用全景保持一致。AOM日志桶是否支持多个关键字的搜索?支持。可以使用“&&”进行与查询。AOM不同格式的日志是否有归一化的解决方案?不同格式的日志建议放到不同的日志桶中。每个日志桶中日志格式建议尽量保持一致。AOM事务是否可以关联到业务流?事务功能可以监控到用户的下面每一条事务的运行情况。但是每一条事务的详细业务数据,APM是不感知的。如果客户需要获取对应业务流(事务)的入参来进行业务内容的详细监控,可以在“调用追踪”“方法追踪”页面采集相关的入参来区分每次事务调用的详细内容。AOM容器、服务、实例的对应关系是什么?容器监控页面有不同的工作负载,每个工作负载对应若干个容器实例。AOM的服务列表中,每个服务对应若干个服务实例。服务实例和容器实例是对等的关系。AOM容器监控里面的工作负载与服务的关系是什么?一个工作负载对应到AOM中是一个服务。AOM私有云的HCS是否可以监控起来?混合云场景下的监控问题怎么解决?AOM/APM有混合云监控方案,可以将私有云的监控数据通过专线传到公有云后台。AOM监控指标是否支持QPS,有哪些数据库类的指标?中间件监控RDS页面下支持查看数据库的QPS。具体指标详见https://support.huaweicloud.com/usermanual-rds/rds_06_0001.htmlAOM监控数据是不是实时的,时间间隔是多少?监控数据的默认采样周期为1分钟。可以设置为实时监控。AOMAOM/APM与Cloudeye的区别是什么   ,功能上是否有重合部分?AOM/APM是一套完整的立体运维解决方案,包含底层资源状态、应用状态、应用性能、用户体验等方面监控。CloudEye只有资源与部分应用资源情况的监控。AOMAOM/APM是否免费?报价在哪里看?   是否默认开通就要收费? 如果出现突然超规格,如何处理?AOM/APM有基础规格,可以供客户免费使用。默认开通使用的是基础规格。如果出现突然超规格,会给客户提示是否切换到收费规格。    AOM价格说明 https://support.huaweicloud.com/price-aom/aom_01_0002.html    APM价格说明 https://support.huaweicloud.com/price-apm/apm_01_0001.htmlAOM配置告警,短信收费不?配置告警短信的费用是由SMN计算费用的。海外区是否支持短信通知依赖于SMN是否开通海外短信服务。AOM结构化日志是否只能查询最新的日志,结构化规则之前的日志是否可以结构化查询?当前只支持查看结构化规则之后新产生的结构化日志。AOMICAgent能否关掉指标采集,只打开日志采集?产品不支持。AOMAOM日志最多可以查看历史多少天日志?按需版本30天,基础版本7天。AOM日志文件stdout.log是怎么出来的?该日志为打印控制台的日志。AOMAOM日志查询是否可以组合条件查询?可以支持多个与条件或者或条件过滤查询的。AOM能否直接采集容器里面的日志?支持,在工作负载里面配置容器路径。AOSAOS编排的定位是什么,AWS是否有类似的产品?AOS属于应用编排服务,目前集成了70+云服务,提供可视化、可编辑的方式,自动创建开通云服务资源,是华为云上的自动化能力平台;   AWS是CloudFormation。CCECCE的helm模板的属性列表?官方helm模板是否可以支持部署?模板包目录包括templates、   values.yaml、README.md、Chart.yaml、.helmignore等。官方helm支持部署。具体的部署方法见资料CCE-10.2节。CCE容器网络在docker层面开放是什么类型的:none、host、bridge?两种网络模式:  1)隧道网络:容器与主机之间只有bridge,性能稍微差点2)VPC网络:自研,容器与主机之间使用ipvlan模式通信,整体性能更高CCECCE支持哪些持久化存储?支持容器使用EVS块存储、SFS/SFS   Turbo文件存储以及OBS对象存储。CCE相比客户自建的开源K8S集群,CCE的优势是什么?1) 客户自建K8S技术门槛高,较难满足服务SLA要求,对K8S集群的运维挑战大;华为CCE实现全面的高可用与高可靠实现,可提供稳定的K8S集群;  2) 开源版本产品化能力较薄弱,系统集成问题多(网络、存储,监控等),开源网络性能与管理规模有限,华为CCE容器网络与存储功能全面,支持高速网络与存储;3) 开源K8S对异构环境支持一般,华为CCE对GPU、ARM、Windows、裸金属等异构环境支持全面,适应各类客户场景。CCE对比友商,CCE的优势是什么?1)我们提供应用镜像构建、应用部署、应用运维、应用流量治理等全栈容器服务能力含CCE/CCI/AOS/ISTIO/SWR等,而很多厂商仅提供开源或者稍微少量能力增强的K8S服务。2)底层资源异构上我们支持裸金属、ARM/GPU/FPGA等多样化基础设施3)容器网络方面,自研ican,性能比开源flannel提高20%4)容器存储上集成公有云的evs、sfs、obs、efs等多类型存储满足不同应用场景诉求,且页面可配置,易用性高,相比友商性能基本持平。5)全球首发mcp多云、混合云管理平台,提高集群可靠性、容灾能力。6)GPU共享型AI容器,32块GPU线性加速比超0.95,128块线性加速比超0.8,在人工智能领域广泛应用,提供高性价比AI算力。CCE是否存在容器无法处理的某些应用场景?经过多年发展,当前容器可以作为一种通用计算平台,适合各类应用场景,当前除Windows操作系统下部分应用场景受限(比如GUI类应用),绝大部分场景下应用都可以实现容器化。CCE容器隧道网络   、VPC -router 与Flannel、Calico怎么对应?底层技术实现都是什么? 1)容器隧道网络与Flannel类似,隧道网络基于openvswitch,Flannel基于内核,性能基本持平,但是我们特性更多一些比如网络策略配置、安全性等做了比较大的增强; 2)VPC -router与Calico类似,VPC   -router基于IPVLAN,Calico 基于veth口,VPC -router整体性能高20%CCE对比阿里的共享集群,存在哪些优缺点?阿里AKS的k8s托管集群:                   • 存在公共的资源池(k8s集群)                   • 租户集群的master以容器形式跑在这个公共资源池里这样的缺点是共享资源池,池子所在的k8s集群挂了,会影响多个租户的集群,不同租户的master   pod可能共享一个节点的计算资源,多租户的node链接master也可能共享带宽。而我们的租户集群是独占资源的。CCE直接用centos镜像起容器为何全部失败?没有前台进程维持容器一直持续跑,容器跑完即结束。CCE调用更新deployment的API接口,为何会把原有deployment中容器的设置刷成默认值?需要在API接口的content-type那里merge-path改为strategic-merge-path。CCE如何保存业务日志,除了挂载本地盘,还有其他方式吗?推荐使用华为云的存储来保存日志,挂载在本地盘不够安全,如果节点故障本地存储的日志将会丢失,保存在存储盘中节点故障也不影响。CCEcoredns支持自定义域名解析吗?前台不支持,后台可以修改,在coredns的configmap中hosts下添加需要增加的自定义域名解析。CCE单pod挂载一块EVS,假如把工作负载扩容成2个pod,会怎么样?EVS不支持多pod共享,不支持扩容成多个实例,有多pod共享存储的场景建议使用SFS   Turbo。CCE是否支持web界面的方式进入容器查看日志文件?可以使用CCE的dashboard插件。当前想要进入容器使用命令行,需要后台帮助客户开一下权限,当前dashboard赋予的是只读权限,无法操作。CCE集群下扩容出来的新节点需要手动安装TOA插件后才能获取源IP吗?是的,当前新增的节点需要每个都手动安装TOA插件。CCE如何从容器中更改core文件存放地址?用特权容器可以修改/proc/sys/kernel/core_pattern,但是会把容器所在节点上的这个路径下的内容刷成修改的内容,会影响其他部署在该节点上的容器存储core文件的路径。CCE集群内访问的clusterip是否会变?只要service不删除重建的话,clusterip不会变化。CCEKube   API是否支持Pod admission controller?支持。默认开启admission   controller。包括NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota,ServiceAccount,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,DefaultTolerationSeconds,ServiceAnnotations,IngressAnnotations,PersistentVolumeAnnotations这些组件。CCE用户是否有kube   System 的access 权限?拥有,用户拥有kubernetes资源的全部权限。CCECCE前端采用ELB,是否支持在web类的容器中获取到访问地址的源IP?针对7层(HTTP协议)服务,ELB通过Http   Header:X-Forwarded-For获取来访者真实IP,该功能已经默认开启,无需配置,也不用修改。针对4层(TCP协议)服务,需要配置TOA插件获取。配置TOA插件请参考TOA插件配置。CCE1.如何设置容器的申请值和限制值?    2.如何设置应用级别的弹性伸缩,支持的指标有哪些?    3.如何设置节点级别的弹性伸缩,工作原理如何?    4.autoScaler如何使用?1.申请值:业务正常运行时所需的资源值*1.2;限制值:业务峰值的资源2.应用级别的弹性伸缩可通过工作负载的伸缩页面进行配置,当前支持指标、定时、周期伸缩策略。支持的指标包括CPU使用率、内存使用率、磁盘写入速率、数据发送速率等常见指标。3.节点级别的弹性伸缩包括集群的弹性扩容和autoscaler。集群的弹性扩容可以设置指标、定时、周期扩容策略,指标只有CPU分配量和内存分配量两个指标,而且不支持缩容。Autoscaler支持Node在可分配量不足时自动扩容节点,在Node节点可分配量充足时缩容节点。4.autoscaler通过插件安装。通过“插件管理”—>“插件市场”中可以安装使用autoscaler   CCE如何配置容器内的源IP获取功能?   CCE单节点集群coredns插件一直显示安装中,是否影响使用?由于coredns默认安装2个实例并且反亲和,导致其中一个实例启动不了,不影响使用CCE能不能修改容器网络的网段?VPC网段、子网网段和容器网段创建成功后不支持修改,若需要修改,请重新创建集群。服务网段默认为10.247.0.0/16,容器网段不能选择此网段。CCE工作负载的域名在哪里查看?可以通过网络管理-service查看。CCE华为日志支持采集能否直接采集容器里面的日志?支持,在工作负载里面配置容器路径。CCE同一个工作负载在同一个节点的多个实例是否存在容器端口冲突?不会冲突,但不同负载的访问端口需要配置不一样CCECCE   master节点是否可以控制?master节点用户无法控制。CCE如何使用helm模板创建statfulset,并挂载存储?1.添加云硬盘,需要1)修改区域和AZ,云硬盘只能部署在该指定区域节点   2)指定存储PVC ((storage-class 和 provisioner)   如果没有vloumeClaminTempltes,需要整体添加; 2. 添加云硬盘之外的类型,只需要添加指定存储PVC ((storage-class 和 provisioner)   ,如果没有vloumeClaminTempltes,需要整体添加CCE实例由于工作负载硬反亲和没有起来,配置成软性反亲和后如何处理?由于触发滚动升级以及反亲和是相互的,旧pod是硬反亲和,会导致新pod调度不上,可以先把实例数调成0,再调整实例个数。CCE集群是否可以修改节点管理规模?当前界面不支持,可以提工单扩容节点管理规模或者修改单个节点的性能规格。CCECCE服务和函数服务需要向外发送验证码到用户的邮箱,发送失败可能的原因?TCP  25端口出的方向默认被封禁,需要申请工单填写解封。CCE原来的CCE节点还有2天到期,用新购买的8U16G的节点如何替换,原来节点的实例是否自动迁移到新购买的节点?1.   首先添加新的节点到集群2. kubectl cordon<node name>不再调度POD3. kubectl drain<node name> 驱除节点上的POD4. 观察节点上的pod是否都被驱除了5. 在CCE界面上删除节点 如果驱除失败,可恢复节点未可调度POD  kubectl   uncordon<node name>CCE 存储要如何选择,如何使用?华为云有四种存储,EVS、SFS、SFS   Turbo、OBS,EVS不支持多pod共享,多pod共享的情况下如果是小文件场景推荐用SFS   Turbo,CCE侧使用存储的话可以直接从容器中挂载存储,不需要把存储先挂载到节点上再挂载到容器里CCE 容器化的改造过程中针对配置文件有什么建议?可以把经常需要修改的配置文件剥离出来用configmap挂到容器中,不直接打包到镜像里,这样更改配置文件后不用每次都重新打包镜像CCE 节点可以扩容规格吗,是否需要手动将容器迁移到其他节点上?可以,先到ECS找到对应的机器,关机后变更规格,提交后到CCE节点管理找到对应机器的更多,选择同步节点信息即可。不需要手动迁移,假如容器没有设置亲和性,在关机的时候节点上的容器会自动迁移到其他节点上,假如设置了亲和性,关机的时候容器会不可用,重新开机后容器又会重新起来。
  • [资料专区] 二次开发资料下载指引(包括Hi-Grid T1,EC CORE)
    二次开发资源汇总如下:文档下载链接,按照款型进行区分:Hi-Grid T1款型涉及到的开发资料及链接:        (1)Hi-Grid T1的产品文档        (2)智能配变终端FAQEC CORE款型涉及到的开发资料及链接:        (1)EC CORE的产品文档注意事项:1、chm格式的文档下载后需要解除锁定才能看到内容,解除方法参考https://bbs.huaweicloud.com/forum/thread-21661-1-1.html2、硬件资料或者已加密的软件资料,在下载需要密码, 密码获取方式:按照提示发邮件到eciot@huawei.com 。     邮件中注明厂家名,联系方式,前期联系过的华为侧接口人,我们会通过邮件回复密码。3、部件说明l  智能配变终端外观结构、通信模块外观结构、管脚定义,均完全符合国网《智能配变终端通用技术规范》要求。l  交采板p  (仅供参考)使用ADE9078芯片,硬件华为提供demo设计,软件配套使用中国电科院基础APP(基于/dev/adc0开发),校表华为提供demo app。p  更换其他交采芯片,软硬件均由厂家自研,软件上华为已开放的SPI和I2C接口到容器里。l  上行LTE模组厂家           当前验证过的有上海剑桥的海思ME909S-821 芯片(固件版本为11.617.05.00.00,联系人宋永辉,18939850752)以及华为em 300 ;           其他验证过的有有方的N720(高通芯片,固件版本为电力版V12)。l  下行模组p  跟主控的接口以及结构尺寸兼容《国家电网_电力用户电信息采集系统形式规范_集中器形式规范_1375.2-2013》规定的集中器I型本地通信模块接口。p  厂家可按规范自行采购或者自研,华为不做推荐。APP可通过UART接口与模组进行数据交互。
  • [管理与监控] 【华为云鲲鹏云服务最佳实践】【容器篇】第002期 registry 2 安装配置指南
    1、简介      Docker Registry是docker的一个重要组件,是所有仓库(包括共有和私有)以及工作流的中央Registry。registry是镜像和图表的仓库。然而,它没有一个本地数据库,也不提供用户的身份认证,由S3、云文件和本地文件系统提供数据库支持。此外,通过Index Auth service的Token方式进行身份认证。      官方链接:https://hub.docker.com/search?q=registry&type=image      类别:虚拟化2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.6 Kernel4.14 软件包Docker1.13.1 Registry2 3、依赖安装无4、组件编译安装清除yumyum clean all下载服务器包到本地缓存yum makecache 更新yum 包yum -y update安装dockeryum install -y docker   启动dockersystemctl restart docker拉取并启动Registrydocker pull registry:2docker run -d -p 5000:5000 -v /opt/registry/data:/var/lib/registry --privileged=true --restart=always --name registry registry:latest5、系统配置无6、测试测试内容:Registry是否正常启动docker ps -a测试结果:正常启动测试内容:是否可以正常访问curl http://127.0.0.1:5000/v2测试结果:在本地环境可以正常测试内容:从docker上拉取的busybox镜像是否可以正常推送到Registry上。测试步骤:     1)拉取busybox镜像     docker pull busybox 2) 修改busybox镜像的tagdocker tag docker.io/busybox:latest 127.0.0.1:5000/busybox:latest      3)查看所有镜像docker ps -a4)推送该镜像到Registry私有仓库docker push 127.0.0.1:5000/busybox:latest5)从私有仓库拉取镜像(需要安装docker-client,当前环境没有安装,没法验证)测试结果:可以正常推送7、参考信息 官方文档:https://docs.docker.com/registry/8、FAQQ:docker拉取registry镜像后,只能在本地环境访问,在外网不能访问?A:因为代理的问题造成的。Q:拉取成功之后,却无法启动起来?A:一般情况下是因为5000端口被占用了。
  • [教程] 华为云区块链超强实践指南
    区块链体验指导华为云区块链服务(Blockchain Service)是面向企业及开发者的高性能、高可用和高安全的区块链技术平台服务,可以帮助企业和开发人员在华为云上快速、低成本的创建、部署和管理区块链应用。本文将以安装一个区块链应用(弹珠资产转移应用,应用代码详见附件)为例介绍区块链应用从无到有的部署。1  登录华为云并同意授权。由于区块链服务需要部署在云容器引擎(Cloud Container Engine,简称CCE)中,CCE为BCS提供高度可扩展的、高性能的企业级Kubernetes集群并支持运行Docker容器。借助云容器引擎,您可以在华为云上轻松部署、管理和扩展容器化应用程序。为了保证后面的部署过程顺利,请您进入CCE控制台进行服务授权(如下图)。如果您进入CCE控制台后没有出现以下授权的提示,则说明您已经授权过了,请进行下一步操作。 2  一键购买区块链服务。一键购买区块链服务即一次购买集群资源及区块链服务。进入区块链控制台,单击右上角的一键购买区块链服务。说明:本次体验是按需付费体验,基础版区块链服务免费,服务器资源等1小时大约花费2.2元。 在购买页面中,填写参数。计费模式请选择按需计费下图标示的参数为必填参数,其他的保持默认即可。必填参数为区块链管理密码和云主机root密码。区块链管理密码用于后续登录链代码管理系统时候的密码,云主机密码是登录云主机的密码,请牢记。配置完成后,单击右下角的立即购买,进入购买确认界面,单击提交。等待数分钟后,安装页面提示安装成功。可在服务管理界面中查看服务及组织状态为“正常”后,表示区块链服务部署完成。 3  安装/实例化链代码。a、  单击区块链管理,进入区块链管理界面,用户名为admin,密码为刚才购买时设置的区块链管理密码。b、  单击“安装链代码”进行安装。安装中所填参数可参考如下示例,组织&peer节点在下拉框中选择,链代码文件选择附件中的marbles.zip文件,之后单击安装。c、  实例化链代码。在操作列单击“实例化”,所填参数示例如下:初始化函数:init  链代码参数:1填完参数单击“实例化”。等待2分钟左右,待实例化完成。4  配置并安装应用。1.       使用root用户登录已购买的云服务器。2.       执行下述命令创建应用的目录,此处以demo为例。mkdir demo3.    在区块链服务“服务管理”界面下载对应服务的证书。4.    将证书上传至刚创建好的目录下。5.  在“服务管理”界面,单击“更多> 下载SDK配置”。6.  配置SDK文件参数,见下表。配置完成后单击下载。下载后解压出yaml文件,并将其上传到刚已创建好的目录。参数名称参数值链代码名称marbles链代码版本1.0证书存放根路径/opt/gopath/src/github.com/hyperledger/api-server/conf/crypto通道名称c12345选择成员全选关联出来的节点组织 7.    将附件中的startserver.sh应用启动脚本上传到刚已创建好的目录。8.    执行以下命令进入创建的目录并启动应用。cd demobash startserver.sh swr.cn-north-1.myhuaweicloud.com/graham/marbles:1.0当界面返回start server success时表示启动成功。至此,应用已经安装完成,接下来就可以在应用界面进行资产转移了。在浏览器地址栏中输入 服务器IP地址:30701 就可以访问应用了。说明:IP地址可以到弹性云服务器界面中获取,详见下图。访问应用后,界面如图。界面中圆形色块即可以认定为其资产,此处我们称其为弹珠资产。接下来可以进行创建、交易、删除弹珠资产的操作。创建:单击“+”,填写配置项,单击“create”创建弹珠,几秒后出现新弹珠。如没有出现新弹珠则使用F5键刷新页面。 交易:拖动弹珠至另一个用户模拟交易,在交易过程中,弹珠将暂时消失,然后在新主人内重新呈现,即表示该资产已经转移给新主人了。删除:拖动弹珠到垃圾桶,弹珠将会在几秒后消失。5  运维。单击运维中心,进入应用运维管理界面,即可监控集群、服务情况,实时查看资源状态等,保障集群、实例正常运行。6    删除&释放资源完成前面6个步骤就表示已经完成体验了。请执行下面的操作删除、释放资源,及时终止计费。1.       选择右上角的资源 > 我的资源,进入资源界面。2.       在全部区域下,只显示有资源的服务,然后逐一点进去进行删除操作。例如删除弹性云服务器、释放弹性公网IP和数据盘:单击某区域后对应的数字,进入服务器列表。例如下图单击2即可进入服务器列表。选择更多-删除。在弹框中勾选下图红框所示内容,单击是。稍等一会服务器便释放成功。 进行和释放服务器相同的操作完成所有资源释放。 7   关注小助手,获取更多资讯:注:区块链部署视频指导请查看以下附件内容
  • [中间件] 【鲲鹏翱翔】应用中间件05-solr移植安装指南
    1、简介Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。Solr可以支持在arm环境下运行,无需重新编译。但需要配合Tomcat 8以上版本使用。可以从官网下载最新的Solr包进行解压缩、配置、运行。2、环境类别版本配置备注ARM测试服务器CentOS7.4arm通用计算增强型 | rc3.xlarge.4 | 4vCPUs | 14GB华为云公测可申请ARM服务器3、Tomcat安装(详细见tomcat指导安装文档)4、Solr安装(arm服务器)4.1.下载安装包wget http://mirror.bit.edu.cn/apache/lucene/solr/8.1.1/solr-8.1.1.zip4.2.解压缩包unzip solr-8.1.1.zip4.3.复制文件夹到目录1.拷贝solr-8.1.1/server/solr-webapp/webapp目录到tomcat/webapp/,改名叫solrcp -r solr-8.1.1/server/solr-webapp/webapp tomcat8/webapps/solr2.拷贝solr-8.1.1/server/lib/ext下的jar包到tomcat下的webapps/solr/WEB-INF/lib路径下cp solr-8.1.1/server/lib/ext/*.jar tomcat8/webapps/solr/WEB-INF/lib/3. 拷贝solr-8.1.1/dist 下的solr-dataimporthandler-8.1.1.jar、solr-dataimporthandler-extras-8.1.1.jar 包到tomcat下的webapps/solr/WEB-INF/lib路径cp solr-8.1.1/dist/solr-dataimporthandler*.jar   tomcat8/webapps/solr/WEB-INF/lib4.拷贝solr-8.1.1/server/lib下的metrics开头的5个jar到tomcat下的webapps/solr/WEB-INF/lib路径下(metrics-core-3.2.2.jar、metrics-ganglia-3.2.2.jar、metrics-graphite-3.2.2.jar、metrics-jetty9-3.2.2.jar、metrics-jvm-3.2.2.jar)5.新建一个文件夹solr-home,并将solr-8.1.1/server/路径下solr文件夹中的内容拷贝过来mkdir solr-homecp -r solr-8.1.1/server/solr/* solr-home  (复制到刚刚新建的solr-home里)4.4.环境配置1.进入tomcat8下的webapps/solr/WEB-INF下修改web.xmlcd tomcat8/webapps/solr/WEB-INFvi web.xml2. //记得打开此处的注释(如果没有手动输入)<env-entry>    <env-entry-name>solr/home</env-entry-name>  <env-entry-value>/usr/local/solr/solr-home</env-entry-value>//自己solr-home的位置    <env-entry-type>java.lang.String</env-entry-type></env-entry> //中间省略...//下面这段注释掉<!--  <security-constraint>    <web-resource-collection>        <web-resource-name>Disable TRACE</web-resource-name>        <url-pattern>/</url-pattern>        <http-method>TRACE</http-method>      </web-resource-collection>    <auth-constraint/>  </security-constraint>  <security-constraint>      <web-resource-collection>        <web-resource-name>Enable everything but   TRACE</web-resource-name>        <url-pattern>/</url-pattern>        <http-method-omission>TRACE</http-method-omission>      </web-resource-collection>  </security-constraint>  -->5、测试5.1.测试执行1.运行tomcat2.访问http://ip:port/solr/index.html(ip端口根据tomcat配置来填) 6、参考信息     solr安装指导: https://blog.csdn.net/qq_40524941/article/details/815122937、FAQ     待补充
  • [精品课] 【7天玩转容器之基础入门课】资料合集!
    你们要的【7天玩转容器之基础入门课】课件在这里,拿走不谢!课程内容涵盖热门的Docker+Kubernetes精编前沿技术,覆盖CKA考纲80%以上内容。资深专家带路,理论+实践双管齐下,助你系统学习、玩转容器,攻克CKA!时间课程主题材料下载Day1容器基础知识介绍点此下载Day2Kubernetes基础知识介绍点此下载Day3Kubernetes pod调度原理分析点此下载Day4Kubernetes应用生命周期原理分析点此下载Day5Kubernetes网络管理原理分析点此下载Day6Kubernetes存储管理原理分析点此下载Day7Kubernetes安全原理分析点此下载
  • [获奖公告] 【华为云·微话题】Tsjsdbd邀你讨论“容器与虚机”,赢《Docker 容器与容器云》书
    本期【云享专家·微话题】由云享专家Tsjsdbd与大家一起讨论“容器与虚机,谁将主宰云世界”,希望大家能够畅所欲言。如果大家有其他任何与PaaS相关的问题,也可以在本帖回复直接咨询云享专家Tsjsdbd。 =======【云享专家·微话题】容器与虚机,谁将主宰云世界?=======如今Docker容器技术已经比较普及,在各个领域都开始发挥出价值。并且容器与虚拟机十分和谐的共存,两者各自具有不同的特征和相应适合的应用场景。然而,渐渐地你会发现在各个云基础设所涉及的领地,容器正在以它的角度重建这个世界,容器存储,容器网络,容器调度都全部长出自己的枝干。在实际的领域,容器也开始崭露头角,HPC,基因测序,边缘云,微服务等等。相信有一天,容器会与虚机平起平坐,然后在那之后,迅速超越,成为云计算的中流砥柱。Container will Rebuild the World。每个人对“容器与虚机”都有不一样的理解,今天我们就“容器与虚机”一起来讨论,希望看到大家精彩的评论:1、讲讲你在容器使用过程中存在的问题?2、讲讲容器技术如何在各个技术领域渐露头角?3、容器一直被诟病的薄弱点安全相关进展?4、你觉得容器是否和虚机的各自发展前景?微话题活动:参与本次微话题讨论,有机会获得优质评论奖活动时间:2018年7月16日-7月27日参与方式:直接在本帖回复你关于以上4个问题的理解或评论获奖方式:活动结束后,将由云享专家Tsjsdbd选取出3名优质评论奖,各送出《Docker 容器与容器云》书籍1本。优质评论:建赟:1、讲讲你在容器使用过程中存在的问题?                 在容器使用过程中存在的问题有:a、安装非常缓慢,而且经常安装失败。b、Docker所有的镜像都依赖于基础镜像,而这些基础镜像都在国外的docker hub上,镜像pull非常慢。c、默认的dockerhub所有镜像都是公开的,私有仓库价格是非常贵的,而且速度还很慢。d、要在VM上使用docker,需要对网络、存储等做一些特殊的处理。e、使用docker的出发点是降低运维成本,提升效率,但是管理上的成本相反却会上升,需要专业的公司来处理。f、容器的性能。 g、容器的安全。 h、网络的问题。i、容器型运维人员短缺2、讲讲容器技术如何在各个技术领域渐露头角?                 容器带来了之前技术所没有的几个新特点。a、与之前的方法相比,Docker让容器部署和使用起来更容易、更安全。b、由于Docker与其他容器领域的巨擘进行了合作,包括Canonical、谷歌、红帽和Parallels,共同开发其关键的开源组件libcontainer,它为容器带来了迫切需要的标准化。c、容器易于部署到云端。3、容器一直被诟病的薄弱点安全相关进展?       对docker容器安全质疑最大的一点就是其隔离的彻底性,将docker生命周期拆为两个大阶段,非生产环境阶段和生产环境阶段,这两个阶段安全控制的目标如下:非生产环境中保证镜像安全可信,生产环境中保证镜像正确的运行。4、你觉得容器是否和虚机的各自发展前景?       说docker代替vm来说还为时过早,长期来看docker会在更多的场景上逐步替代vm的功能,vm技术也会在很长的时间内继续发挥着重要的作用,也许将来两种技术会进行融合,vm技术拥有docker的一些特性,同时docker也会克服自身的一些缺点,变得更加易用。ecstatic:1、讲讲你在容器使用过程中存在的问题?      a.项目中docker容器中生成的日志文件名称乱码      b.怎样才能在容器中使用iptables呢      c.容易安装失败      d.kubernetes,mesos框架用不明白2、讲讲容器技术如何在各个技术领域渐露头角?     容器技术最早可以追溯到1979年UNIX系统中的chroot,最初是为了方便切换root目录,为每个进程提供了文件系统资源的隔离,这也是OS虚拟化思想的起源。      2013年Docker诞生,Docker最早是dotCloud(Docker公司的前身,是一家PaaS公司)内部的项目,和Warden类似,Docker最初也用了LXC,后来才自己写了 libcontainer 替换了 LXC。和其它容器技术不同的是,Docker 围绕容器构建了一套完整的生态,包括容器镜像标准、容器Registry、REST API、CLI、容器集群管理工具Docker Swarm等;      2016年微软公司发布基于Windows 的容器技术Hyper-V Container,Hyper-V Container原理和Linux下的容器技术类似,可以保证在某个容器里运行的进程与外界是隔离的,兼顾虚拟机的安全性和容器的轻量级。     为什么要关注Docker或者容器技术呢?容器可以提供隔离性,可以为各种测试提供一个良好的沙盒环境。并且,容器本身就是具有“标准性”的特征,非常适合为服务创建构建块。加速本地开发和构建流程,使其更加高效、更加轻量化。本地开发人员可以构建运行并分享Docker容器。容器可以在开发环境中构建,然后轻松的提交到测试环境,最终 进入生产环境。能够让独立服务或者应用程序在不同的环境中,得到相同的运行结果。用Docker创建隔离的环境来进行测试。eg :JenkinsCIDocker可以让开发者在本机上构建一个复杂的程序或者架构来进行测试,而不是一开始就在生产环境部署、测试。构建一个多用户的平台及服务基础设施。为开发、测试提供一个轻量级的独立沙盒环境,或者将独立的沙盒环境用于技术教学,eg:unix shell 的使用。提供软件及服务应用程序高性能、超大规模的宿主机部署。3、容器一直被诟病的薄弱点安全相关进展?      Docker中可能会出现的安全问题     内核漏洞(Kernel exploits)    容器是基于内核的虚拟化,主机(host)和主机上的所有容器共享一套内核。如果某个容器的操作造成了内核崩溃,那么反过来整台机器上的容器都会受到影响。     拒绝服务攻击(Denial-of-service attacks)    所有的容器都共享了内核资源,如果一个容器独占了某一个资源(内存、CPU、各种ID),可能会造成其他容器因为资源匮乏无法工作(形成DoS攻击)。     容器突破(Container breakouts)    Linux的namespace机制是容器的核心之一,它允许容器内部拥有一个PID=1的进程而在容器外部这个进程号又是不一样的(比如1234)。现在问题在于如果一个PID=1的进程突破了namespace的限制,那么他将会在主机上获得root权限。      有毒镜像(Poisoned images)     主要是考虑到镜像本身的安全性,没太多好说的。      密钥获取(Compromising secrets)     容器中的应用可能会获取一些容器外部的服务,这些服务之间可能会有密钥(secret key)等,如果因为密钥保存不当,那么这些服务对于攻击者来说就是可获取的了,这就会造成很多隐患。特别的,这样的问题如果出现在微服务架构中就特别严重。       安全方案             主机级别的隔离     主机级别的隔离(Segregate Containers by Host)即将不同用户的容器放在不同的机器上、将那些存放了敏感数据的容器 和普通的容器隔离开来、将哪些直接暴露给终端用户的容器(web容器)隔离开来。      主机级别的隔离的好处是可以防止容器突破攻击、DoS攻击,但是这样的隔离会付出成本甚至性能的代价的。              限制容器的网络        容器应向外暴露尽可能少的端口,此外,对于容器之间的通信,最好是需要通信的容器才是连通的。        移除SUID和SGID的二进制位        限制内存        限制CPU        限制重启        限制文件系统4、你觉得容器是否和虚机的各自发展前景?      随着容器生态圈的继续扩大,容器技术正在与越来越多的行业搭界,不论是过去八竿子打不着的大数据、物联网领域,还是已经闹得沸沸腾腾的微服务、虚拟化,一个更加广阔的后容器技术时代正在到来,他们都将会有更大的发展前景。小修:1、讲讲你在容器使用过程中存在的问题?1. 在docker容器中vi指令找不到2.docker容器启动后没有ifconfig和ping3.Docker客户端和服务器端版本不一致,在某些操作过中会出现错误4.对于基于busybox, alpine等镜像的容器,在执行命令时可能会出现错误5.容器启动后自动退出、或进入“restarting”状态2、讲讲容器技术如何在各个技术领域渐露头角?容器技术已经引起了业内的广泛关注,有充分的证据表明,容器技术能够大大提升工作效率。  现在,虚拟化技术已经成为一种被大家广泛认可的服务器资源共享方式,它可以在按需构建操作系统实例的过程当中为系统管理员提供极大的灵活性。由于hypervisor虚拟化技术仍然存在一些性能和资源使用效率方面的问题,因此出现了一种称为容器(Container)的新型虚拟化技术来帮助解决这些问题。起初,大家普遍认为基于hypervisor的方式可以在最大程度上提供灵活性。所有虚拟机实例都能够运行任何其所支持的操作系统,而不受其他实例的影响。然而,现在越来越多的用户发现hypervisor提供这样一种广泛支持的特性其实是在给自己制造麻烦。对于hypervisor环境来说,每个虚拟机实例都需要运行客户端操作系统的完整副本以及其中包含的大量应用程序。从实际运行的角度来说,由此产生的沉重负载将会影响其工作效率及性能表现。  首先,每种操作系统和应用程序堆栈都需要使用DRAM。对于多个运行简单应用程序的小型虚拟机实例来说,这种方式可能产生很大的系统开销,降低性能表现。加载并卸载这些堆栈镜像需要花费很长时间,并且还会增加容器技术服务器的网络连接数量。对于极端情况来说,如果用户在上午9点同时启动上千台虚拟桌面,还有可能导致网络风暴的发生。部署虚拟服务器的目的之一在于快速创建新的虚拟机实例。然而从网络存储当中复制镜像需要花费大量时间,这些操作会延长启动过程,无疑会限制系统灵活性。  因此我们可以选择使用容器技术。只需要通过简单的观察我们便能够发现容器技术的出现是为了解决多操作系统/应用程序堆栈的问题:在单台服务器当中为所有虚拟机实例使用相同的操作系统对于大部分数据中心来说都不算是真正的限制。流程管理(Orchestration)可以轻松处理这种变化许多应用程序堆栈都是相同的(如LAMP)对于大规模集群来说,在本地硬盘当中存储操作系统副本将会使得更新过程变得更为复杂最为重要的是,容器技术可以同时将操作系统镜像和应用程序加载到内存当中。还可以从网络磁盘进行加载,因为同时启动几十台镜像不会对网络和存储带来很大负载。之后的镜像创建过程只需要指向通用镜像,大大减少了所需内存。  容器技术能够在同一台服务器上创建相比于之前两倍的虚拟机实例数量,因此无疑将会降低系统总投入。但是必须认真进行规划,因为双倍的实例数量同样意味着对于运行这些实例的服务器带来了双倍的I/O负载。  我们需要了解除了避免可能发生的启动风暴之外,容器技术是否还有任何其他性能方面的优势。能否改进IOPS?能够提升网络连接效率并且降低容器间的延迟,解决伴随实例数量增加而产生的问题?美国某传统服务器大厂商的某实验室完成了至今为止大部分权威实验,其研究结果表明容器技术相比于hypervisor,容器技术的许多关键指标都有重大改进。在进行的所有测试当中,容器技术几乎拥有和本地平台一样的运行速度,尽管网络延迟测试还没有完成。  上述厂商的研究表明容器技术在多个领域当中都比hypervisor拥有更好的性能表现。容器技术的运行速度几乎是hypervisor的两倍,在评分当中非常接近于本地操作系统。在和KVM的对比当中,容器技术在硬盘随机读取(84,000 vs 48,000 IOPS)和写入(110,000 vs 60,000 IOPS )方面拥有非常优秀的表现,如果使用本地固态硬盘可以实现更好的SQL性能表现。高性能计算(HPC)社区也在转而使用虚拟化和容器技术。一项由巴西天主教大学进行的研究已经取得了一定成果。“如果可以降低基本的系统开销(比如CPU、内存、硬盘和网络),那么HPC无疑会选择使用虚拟化系统,”研究人员表示。“从这个角度来说,我们发现所有基于容器的系统在CPU、内存、硬盘和网络方面都拥有接近于本地操作系统的性能表现。”美国某虚拟化公司V***re也针对容器技术进行了一系列评测对比。容器技术研究结果印证了容器技术拥有接近本地系统的性能表现,尽管其并没有像IBM实验室那样针对VMware的hypervisor发布非常详细的测试报告。而这项报告的容器技术结果有可能促使VMware做出调整,以降低hypervisor的系统开销。VMware的报告当中没有提及硬盘I/O问题。  为了扩展适用范围,容器技术仍然需要在安全方面不断改进。但是现在,我们可以看到的是这种方式可以解决hypervisor虚拟化当中的大多数性能问题。再加上更加轻松和快捷的部署方式,容器技术将会在不久的将来占据虚拟化市场3、容器一直被诟病的薄弱点安全相关进展?容器安全需要自下而上全面考虑安全风险,从内核,OS ,OS层的网络、软件版本、Selinux策略,Docker版本,Docker的优化配置以及使用方式,image中所依赖的base 以及软件包,容器间的网络隔离。真的是每一处都需要去考虑,任何一个环节的小问题,都有可能造成事故。感觉Docker 安全是个全方位的问题,任何一点疏漏都会带来灾难性后果。有些问题不是Docker本身能解决的,需要多方配合。Docker在这个方面做了哪些工作?4、你觉得容器是否和虚机的各自发展前景?容器实例与主机共享操作系统内核,通过内核提供的运行时隔离能力为服务提供独立的用户域、文件系统、网络以及进程运行空间。虚拟机的每个实例自带操作系统,因而是一种硬件级的虚拟化隔离。容器通常是专用于运行特定服务的,它的镜像通常只包含运行该服务所需的上下文内容,许多广泛使用的镜像都只有几十MB,甚至几MB大小。虚拟机则需要提供包括内核在内的通用进程运行环境,它的镜像偏向于大而完整的全功能集合,即使一个最小精简镜像的体积也有几百MB。容器的使用方式倾向于开箱即用,镜像提供的是一个“不可变的基础设施环境”。虚拟机则倾向于让用户根据所用的系统,自定义初始化操作,使用Ansible、Puppet这样的配置工具来进行基础设施的管理。容器在启动速度和运行性能上更有优势,虚拟机在安全性上更有优势。如果从这些十分清晰的定义来看,近一年来开源界出现的一些虚拟化“边界破坏者”们已经完全无视了这些规则。它们要么是运行在虚拟机中的操作系统,却有着容器一样的使用体验,要么是基于容器技术的运行时隔离,却应该当成虚拟机使用。因此,尽管这些技术的实现细节上差异巨大,但它们都有一个共同特征:携带着容器和虚拟机各一部分的基因,具备两者优势的结合。