2016-Virtual-Summit-Track-4-基于AWS-ECS的容器解决方案-Dai-W

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

©2016,AmazonWebServices,Inc.oritsAffiliates.Allrightsreserved.基于AWSECS的容器解决方案代闻亚马逊AWS解决方案架构师2016年5月26日议程•容器与云•解决基础资源需求•ECS容器管理服务详解•案例分享容器与云容器的概念与集装箱类似…货物的多样性运输和仓储方式的多样性容器的历史1979—chroot2000—FreeBSDJails2001—LinuxVServer2004—SolarisContainers2005—OpenVZ2006—ProcessContainers2007—ControlGroups2008—LXC2011—Warden2013—LMCTFY(LetMeContainThatForYou)2013—Docker2014—Rocket2016—WindowsContainersReference:容器与虚拟机VirtualorPhysicalServer容器与云InfrastructureContainerCodeInfrastructureContainerCodeVMInfrastructureContainerCodeVMOnIaaSCloud用户关注VM、容器和代码,并管理容器集群OnContainerCloud(CaaS/PaaS)用户关注容器和代码OnServerlessCloud用户只关注代码CloudUserCloudCloudUserUserDocker在云上的应用场景无状态服务批处理持续集成与部署(CI/CD)松耦合交付计算单元迁移(混合云、多云)…解决基础资源计算合理选择EC2Instance类型•T2:偶然突发场景•M3/M4:通用场景•C3/C4:计算密集场景•R3:内存密集场景•I2:本地高IOPS场景•…DockerEngine版本选择•1.9集成libnetwork•1.11集成runC和containerd存储实例存储(非持久)•InstanceStorage•免费(支持情况和数量与Instance类型有关)持久存储•EBS,可以通过API切换EC2作为灾难恢复•EBSSnapshot定时做,便于数据恢复•EBS优化,保障存储带宽共享存储•EFS,NFSv4BasedStorage对象存储•S3,Registry/Log/Bakcup/Staticfiles网络–InstanceNetworkEnhancedNetworkingofEC2•SRIOV支持,提高PPS、降低延迟•尤其是Proxy、NAT需要启用EC2吞吐由机型决定•10GE,High,Moderate,LowPlacementGroup•Non-Blockingfor10GEInstancesVPC•自定义地址空间、子网、ACL、安全组等网络–DockerNetworkDocker网络模型•DefaultNetwork(Host,None,Bridge)•UserDefineNetwork(Bridge,Overlay,Plugin)TypicalOverlaySolutionsonCloudEC2支持BridgeModel(NAT),Overlay,以及Flannel的aws-vpc模式。AWSECS容器管理服务详解ApacheMesosGoogleKubernetesDockerSwarmAWSECSDocker集群的典型管理平台ECS的核心理念:托管.开放.高扩展完全托管的管理平台完整的集群状态基于API的控制与监控Agent开源自定义Scheduler生产级别的扩展能力核心要素管理单元资源管理引擎调度器集群状态服务发现AWSECS平台架构DockerTaskContainerInstanceAmazonECSContainerECSAgentELBInternetELBUser/SchedulerAPIClusterManagementEngineTaskContainerDockerTaskContainerInstanceContainerECSAgentTaskContainerDockerTaskContainerInstanceContainerECSAgentTaskContainerAZ1AZ2Key/ValueStoreAgentCommunicationService节点与管理单元资源管理调度器集群状态与服务发现Region内部的资源池一组EC2实例EC2实例运行DockerDaemon和ECSAgent可动态扩展管理集群与EC2实例管理单元与任务定义(TaskDefinitions)VolumeDefinitionsContainerDefinitionsSharedDataVolumePHPAppTimeofdayApp示例组成EssentialtoourTaskCreateandmountvolumesExposeport80incontainertoport80onhost10CPUUnits(1024isfullCPU),500MegabytesofMemoryTaskDefinitions:基于JSON描述调度器与服务(Service)(TaskDefinition-Task-Service)App1App2VolAApp3App4VolBTaskDefinition1TaskDefinition2Service1Service2Task1Task1Task1Task2Task2AppX定义ContainerVolX定义存储每个Task包含1个或多个Containerers在线更新TaskDefinition版本:滚动更新(创建新Task),结合ELB实现平滑过渡ELBV1V1ELBV1V1V2ELBV1V1V2V2ECSCLI与DockerCompose兼容“TaskDefinition”服务发现与第三方软件CONSULByCoreOS/Go/Raft/HTTP/KVByApache/Java/ZAB/TCP/KVByHashiCorp/Go/Raft/HTTP/KV/Built-inServiceDiscovery/MultipleDatacenter扩展性与延迟测试集成AWS相关服务负载均衡:ElasticLoadBalancing持久化存储:AmazonElasticBlockStore网络隔离:AmazonVirtualPrivateCloud安全防控:AWSIdentityandAccessManagement使用审计:AWSCloudTrail私有Registry:AWSEC2ContainerRegistry日志收集:AWSCloudWatchLog任务状态监控容器日志记录与分析ElasticSearchKinesisFirehoseKinesisLambdaCustomerApplicationEMRHiveRedshiftEMRSpark案例分享大规模在线教育1500万在线用户2500万完成课程1300多门课程125多个合作伙伴目标:提供一个统一的执行框架报表•老师报表:分数、学习曲线、课程进度•内部报表:业务指标、支付市场•推荐邮件•目标用户推广/重新激活邮件教育创新•寻找和分析配对审阅者•自动打分系统选择ECS的原因几乎不用维护与AWS其他服务良好集成开发容易Coursera还研究了哪些集群管理方案?自己编写•尝试过,但不可靠•处理协调和同步工作是难点•很强大,但是在Coursera的生产环境应用比较难•需要有相关经验的开发人员•起初为GCE设•非托管服务,需要更多的运维工作本页内容翻译自Coursera公开资料Coursera对ECS的定制“AmazonECSisagreatbuildingblock,butwestillneedtobuildtoolsarounditforourpurposes.”--CourseraTeamIguazúFrontendIguazúSchedulerIguazúBackend统一批处理平台Iguazú的架构CassandraServicesServicesIguazúAdminECSWorkersSQSECSAPIDevsUsersThankYou!

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功