AWS服务建设之路-Docker集群

作者&投稿:柞育 (若有异议请与网页底部的电邮联系)
~

最近的项目处于种种原因要放到亚马逊上面,也正好体验一下世界最大云计算平台的服务。于是又开始了漫长的爬坑路。不得不说AWS的管理交互台设计充满了工业气息,新手很难上手,但熟练工会觉得很直观。
简单来说分4步:

ECR是私有镜像仓库,先把自己的镜像上传上来,这一步的坑就在于要上传镜像不能直接 docker login 需要

ECS有一个很重要的概念,任务定义。这个概念类似于 k8s 的 pod。任务定义抽象出了任务这个概念,一项任务可以包含多个docker镜像及对应的参数/环境配置,并且拥有CPU,内存限额。
任务定义拥有版本号,只能创建新版本不能修改以前版本。
而在集群中的调度则是以任务定义为对象。
所以我们为我们每一个服务创建了1个任务定义,一个任务定义包含1个镜像。

这里有3种网络模式供选择:

大部分情况我们都使用桥接模式,少部分情况使用 awsvpc 。主机模式则尽量不要使用,不利于编排。 awsvpc 的具体使用场景会在下文服务发现章节介绍。

动态端口映射 技术,是指将容器在宿主机上的外部端口随机映射,只在桥接模式下有效。

勾上日志配置,ECS就会自动把镜像的标准输出定向到 CloudWatch,就可以去那里查看镜像日志了,当然专业的日志系统还是得ELK。

ECS有2种集群,Fargate 与 EC2 Linux。

Fargate是很酷炫的架构,特别是在资源占用量不稳定,时间不确定的情况下很合适。而且全部使用awsvpc网络模式,所有的服务都可以拥有独立IP,纯正的无服务器架构。只有一个缺点,贵(同样资源量是EC2的3倍价格...

建议创建空集群,再自行添加服务器,不然容易触发一些 keng

上面说了任务定义,那么任务这个概念也很简单,被运行的任务定义。
一个任务可能包含多个容器,这个任务可能是在有限时间内执行完毕就停止的,比如一次性脚本,也可能是无限运行的,比如nginx服务器。

服务这个概念比较复杂,一个服务会管理一个任务定义在运行时的方方面面

服务没有停止功能,只能修改任务数为0。
服务删除后,需要手动停止已经运行的任务。

AWS提供基于Router53(DNS服务)的服务发现,其实很难用,awsvpc模式的很方便,桥接模式下特难用。
在awsvpc模式中 ,因为每个任务都有自己的IP,所以端口可以直接固定,不会存在冲突,配合基于Router53的服务发现可以直接完成完美的服务发现--无论如何更新重启服务,总能通过固定域名访问到服务。但因为一台服务器只能绑定3张网卡,所以只能启动3个awsvpc模式容器。
在桥接模式中 ,每个任务都使用宿主机的ip,以及随机分配的端口,所以服务发现需要带上端口,不然也不能正常发现。AWS提供SRV类型的DNS记录用作服务发现,本身是没有问题,但SRV并不是被广泛接受的记录类型,浏览器与网络库均不能解析SRV记录,所以要访问服务还需要定制DNS解析。
所以我们最终选择使用Eureka作为服务发现服务,使用awsvpc作为补充的服务发现服务,比如将Eureka本身及xxl-job等使用awsvpc部署。

在选用了Eureka之后,又遇到了问题。因为使用了动态端口映射,所以向Eureka注册的端口不是Spring的监听端口,并且容器内部无法知道宿主机的ip与端口。
这里通过多种方式配合破局:

不过要注意,启用元数据服务,需要修改ECS代理配置,而这个配置是在集群创建时就写入服务器的,所以要修改ECS代理配置,必须要先修改自动伸缩组的初始化脚本,再删除伸缩组内所有服务器,再重新添加服务器。

这样就可以在Eureka中心正确展示服务信息了。




求关于“钱学森”等航空航天的先进人物的先进事迹
在他的领导下,制造出了涡扇5(ws-5)涡扇6(ws-6)涡轮风扇发动机,并为“昆仑”和“太行”的定型起了很大影响。 1991年受国务院表彰为发展我国航空工程技术事业做出突出贡献的专家,1992年航空航天工业部授予有突出贡献专家称号。吴大观同志先对共产主义理想矢志不渝、对党和国家事业无限忠诚,始终把党和人民的利益放在最...

中国三江航天集团
20世纪80年代,万山牌轻型客车走遍长城内外、大江南北,名列全国轻型客车前三强,创造了“西有万江”的航天辉煌。如今新一代WS6601A1、WS6601A2轻型客车及WS6660城市公交车等系列产品,外观新颖,动力强劲,内饰豪华、驾乘舒适,身受广大城镇用户的亲睐,已成为市场上的抢手产品。作为国家首批汽车整车及底盘...

如何认识具有中国特色的社会主义改造道路?
1982年9月,在党的十二大开幕词中,他又提出“走自己的道路,建设有中国特色的社会主义”。以邓小平同志为代表的中国共产党人,在总结新中国成立以来正反两方面经验的基础上,在研究和借鉴国际经验的基础上,在改革开放崭新实践中,才找到了中国自己的建设道路。这是因为,在中国这样落后的东方大国建设社会...

卫生间防水涂料价格
年保修期,五年内如果发现工程堵漏施工质量问题一切返修费用由我单位承担,与甲方无关,使我公司在建设单位心目中有一个良好形象。公 司采用新进技术,奉献一流服务,创造良好的信誉,打造名牌企业。我们愿意与您建立长期稳定的合作关系,竭诚为您的企业消除因泄漏而带 来的后顾之忧 公司始以(依法治企、...

护士演讲材料
1238:&catid=1238 http:\/\/www.ws126.net\/Article\/ShowClass.asp?ClassID=9 http:\/\/www.baidu.com\/s?ie=gb2312&bs=%B8%E8%C7%FA+%B9%CA%CF%E7%B5%C4%D0%A1%C2%B7&sr=&z=&wd=%BB%A4%CA%BF%D1%DD%BD%B2%B2%C4%C1%CF&ct=0&cl=3&f=8 ...

验收讲话致辞范例范文
矿区范围内煤层倾角12-25,K1煤层平均厚度1米,K3煤层平均厚度2.3米,截止20x年底,估算准采标高范围内(+ 1 0021250米-+900米)保有资源量1049万吨,可采储量774.62万吨,服务年限26.3年。 我矿于20x年4月开始对技改系统进行建设,矿井在建设过程中,按照“三同时”原则进行建设和施工。20x年7月12日遵义市安全生产监督...

试论我国行政主体的内涵、种类、构成要件以及目前面临的挑战_百度知 ...
首先,加强权力机关对行政执法工作监督;其次,民主党派的监督,社会团体、人民群众以及新闻舆论的监督也必须落到实处,使他们共同服务于人大监督这个中心,并形成监督合力,我们应当重视行政复议这一监督机制,行政复议不仅是行政机关监督自身行使行政权力的一种手段,也是其改正自身错误的一种途径,所以在建设社会主义法治国,贯彻...

海洋遥感的发展概况
“拓展我国与国际间合作是必由之路。”国家海洋局第二海洋研究所潘德炉院士认为,我国海洋遥感虽然起步较晚,应用水平也不足,发展前景却十分广阔。只有通过加强国际间合作,才能促进我国海洋遥感事业不断前进。目前,我国正与日本、韩国合作,进行海洋遥感监测与速报技术的研究。如果获得成功,将使我国海洋卫星监测技术处于世界...

请问.NET和 JAVA的区别
.NET服务器 能够提供广泛聚合和集成Web服务的服务器是搭建.NET平台的后端基础。 .NET基础服务 密码认证、日历、文件存储、用户信息等基础服务是必不可少的。微软正在着力建设的.NET My Services等基础性服务平台是这方面可以借鉴的例子。 .NET终端设备 广泛的连接互联网并体验Web服务的终端设备是实现.NET的前端基础...

初三历史资料
罗马文化的简单恢复,而是以人文主义为武器,进行反封建、反教会、反神学斗争,为资产阶级服务☆16——18世纪的四次巨变:文艺复兴运动、资本主义经济的萌芽、新航路开辟、宗教改革运动启蒙运动 西欧资本主义迅速发展背景 自然科学取得长足的进步 封建君主制依然存在,人们群众的利益仍然不断遭到侵犯和剥夺 资产阶级力量日益...

武侯区13936436945: 如何在aws云平台上构建千万级用户应用 -
轩性麝香: AWS服务概述高扩展性应用建设并非把应用直接迁移到云平台上就能轻易实现,相反我们需要根据云平台的特性进行专门的设计,这包括选择合适的云服务类型并进行良好的应用架构设计....

武侯区13936436945: 如何在AWS上部署千万用户级别服务 -
轩性麝香: 基础架构 AWS分布在全球12个区域里 每个区域对应着一个地理位置,里面含有多个Availability Zones(可用区).这些区域设置在北美,南美,欧洲,中东,非洲,亚太区. 每个AZ实质上是单个数据中心,尽管它们可由多个数据中心构建. ...

武侯区13936436945: 如何用eclipse 8.6 搭建aws项目? -
轩性麝香: 1、AWS平台基于Java开发实现,系统的入口点为com.actionsoft.application.server.WFS类中的main方法. 2、在进行AWS平台二次开发时,需要引用平台已有的Jar包,他们是AWS安装目录下的bin\libs、bin\jdbc、bin\plugs三个文件夹下的Jar...

武侯区13936436945: AWS Lambda本身的架构和内部实现是怎样的 -
轩性麝香: AWS Lambda服务是基于容器实现的弹性计算集群,并且集成AWS已有的消息服务和计费服务.弹性计算集群是一个计算资源池,用户程序启动时根据服务器的负载起不同的容器,类似于AWS的EC2服务和OpenStack的Nova服务,不过调度的...

武侯区13936436945: 如何高效使用亚马逊EC2之服务可用性与数据存储 -
轩性麝香: 自发布以来,AWS EC2服务(当时只有唯一实例类型:m1.small)已从提供基本运算能力不断扩展成现在非常完善的弹性计算基础设施服务,不仅运算实例的类型极大丰富,而且其相关服务(如EBS、Elastic IP、Auto Scaling、ELB等)也陆续...

武侯区13936436945: 如何使用Spring Cloud -
轩性麝香: 使用Spring Cloud构建实际的微服务架构. 基本概念: 使用Docker进行集成测试 混合持久化 微服务架构 服务发现 API网关 Docker 使用Docker对每一个服务进行构建和部署.使用Docker Compose在一个开发机上进行端到端的集成测...

武侯区13936436945: 怎么使用docker 将一台服务器分成多个 -
轩性麝香: Hi, 今天我们将会学习如何使用 Weave 和 Docker 搭建 Nginx 的反向代理/负载均衡服务器.Weave 可以创建一个虚拟网络将 Docker 容器彼此连接在一起,支持跨主机部署及自动发现.它可以让我们更加专注于应用的开发,而不是基础架构....

武侯区13936436945: 微服务是如何演变的,又为什么重要 -
轩性麝香: 微服务的概念产生是顺应这样的需求:为了开发出速度更快、更有弹性且用户体验更佳的应用.这个概念等同于具有可扩展性的自动化系统,在简单的商业化架构上运行软件.由于容器所提供的经济效率,在2016年微服务将是一大主题.应用...

武侯区13936436945: 如何使用 Java 和 Docker 构建微服务 -
轩性麝香: 在Java生态中,构建微服务的策略包括Container-less,Self-contained,以及In-container等.Container-less微服务将应用及其依赖打包成一个单一的jar文件.Self-contained微服务也是打包成一个单一的Jar文件,但它还包括一个嵌入式框架,这...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网