容器云平台高可靠性设计

合集下载

云平台建设方案简介

云平台建设方案简介

云平台建设方案简介引言随着云计算技术的快速发展和广泛应用,越来越多的组织开始积极探索云平台的建设和使用。

云平台的建设可以为组织提供高效的资源管理、灵活的应用部署和弹性的扩展能力。

本文将简要介绍云平台建设方案的基本概念、架构设计和关键技术。

云平台建设方案的概念云平台建设方案是指为组织构建一个完整的云计算基础设施的计划和实施方法。

云平台建设方案可以分为下面几个关键要素:1.资源管理:包括计算资源、存储资源和网络资源的管理和分配。

通过云平台,组织可以将这些资源集中管理,实现资源的高效利用和灵活调度。

2.应用部署:云平台可以提供各种应用部署方式,包括虚拟机、容器和服务化的应用部署方式。

通过云平台,组织可以将应用快速部署到云端,提高应用的可靠性和可扩展性。

3.扩展能力:云平台可以根据组织的实际需求,动态地增加或减少计算资源,以满足业务的变化和峰值需求。

4.自动化管理:云平台可以提供自动化的管理和运维功能,如自动化部署、监控和故障恢复等,可以降低管理和运维的人力成本。

云平台建设方案的架构设计云平台建设方案的架构设计是指为云平台选择适合的技术和组件,构建一个可靠稳定、高性能和安全可控的云计算基础设施。

下面介绍几个关键技术和组件:1.虚拟化技术:通过虚拟化技术,可以将物理资源虚拟化为多个虚拟资源,实现资源的高效利用。

常用的虚拟化技术包括VMware、KVM和Xen等。

2.容器技术:容器技术是一种轻量级的虚拟化技术,可以快速部署和迁移应用。

常用的容器技术包括Docker和Kubernetes等。

3.自动化运维工具:自动化运维工具可以帮助组织实现自动化部署、监控和故障恢复等管理功能。

常用的自动化运维工具包括Ansible、SaltStack和Puppet等。

4.安全技术:云平台建设方案需要考虑安全性,包括数据加密、身份认证、访问控制等安全技术。

常用的安全技术包括SSL/TLS、火墙和入侵检测系统等。

5.弹性计算:云平台需要具备弹性计算能力,可以根据实际需求动态调整计算资源。

云计算中的云平台架构与容灾规划实践

云计算中的云平台架构与容灾规划实践

云计算中的云平台架构与容灾规划实践云计算已经成为现代企业IT基础架构的重要组成部分。

随着对云计算需求的不断增加,云平台架构和容灾规划变得至关重要。

本文将探讨云计算中的云平台架构以及如何进行有效的容灾规划实践。

一、云平台架构云平台架构是建立在云计算基础上的系统架构,旨在满足企业的各种需求。

一个强大的云平台架构需要考虑以下几个关键因素:1. 可扩展性:云平台需要能够适应不断增长的工作负载。

通过使用自动化工具和弹性资源分配,云平台可以根据需求进行自动扩展,确保足够的计算和存储资源。

2. 可靠性:云平台应该具备高可用性和冗余性,以确保系统在面临故障或意外时能够继续正常运行。

采用分布式架构和备份策略,可以提高系统的可靠性,减少服务中断时间。

3. 安全性:云平台必须采取一系列的安全措施,以保护用户数据和系统免受恶意攻击。

这包括数据加密、身份验证、访问控制等安全机制的实施。

4. 弹性:云平台应具备弹性,能够根据需求快速适应变化。

通过使用容器化技术和虚拟化技术,云平台可以实现快速部署和迁移,提高系统的灵活性。

5. 监控与管理:云平台应具备有效的监控和管理机制,以便实时监测系统的性能和资源使用情况。

通过使用监控工具和自动化管理系统,可以帮助管理员及时发现和解决问题。

二、容灾规划实践容灾规划是为了保证在遭受灾难性事件时能够尽快恢复业务运营的一系列措施和方法。

在云计算环境下,容灾规划是特别重要的,因为云平台承载了企业的核心业务。

以下是云平台容灾规划的几个关键方面:1. 灾备数据中心:为了保证业务的连续性,云平台应考虑在不同地理位置建立灾备数据中心。

这样,即使一个数据中心发生故障,仍能通过其他数据中心继续提供服务。

2. 数据备份与恢复:云平台应定期进行数据备份,并确保备份数据的安全性和完整性。

在发生灾难时,可以通过备份数据迅速恢复系统。

3. 多活数据同步:为了避免数据同步延迟导致的数据丢失,云平台应采用多活数据同步技术,确保数据实时同步到各个数据中心。

容器云解决方案

容器云解决方案
5.建立运维管理体系,持续优化容器云平台。
五、预期效果
1.应用部署周期缩短,提高开发、测试、部署效率。
2.运维人员工作量减轻,提高工作效率。
3.系统稳定性提升,降低故障率。
4.资源利用率提高,降低企业IT成本。
5.符合国家法律法规,确保数据安全。
本方案旨在为企业提供一套合Байду номын сангаас合规、高效稳定的容器云解决方案,助力企业实现数字化转型。在实施过程中,需根据企业实际情况进行调整和优化,以确保方案的有效性和实用性。
5.培训与支持
(1)组织内部培训,提高开发、运维人员对容器技术的掌握程度。
(2)提供技术支持,协助解决容器云平台运行过程中遇到的问题。
四、实施步骤
1.调研企业现有基础设施和应用情况,制定详细的实施方案。
2.搭建容器云平台,进行环境部署。
3.对关键业务应用进行容器化改造,实现自动化部署。
4.推广容器云平台,逐步迁移其他业务应用。
(4)编写Kubernetes资源配置文件,实现应用的自动化部署和扩展。
4.运维保障
(1)监控体系建设:构建全面的监控体系,包括容器、主机、网络、存储等关键指标监控。
(2)日志管理:集中收集、存储和分析容器日志,为故障排查和性能优化提供数据支持。
(3)安全策略:遵循国家相关法律法规,实施安全防护措施,确保容器云平台的安全性。
2.降低运维成本,提高运维人员工作效率。
3.确保应用的高可用性和稳定性。
4.实现资源弹性伸缩,满足业务高峰期需求。
5.符合国家相关法律法规,确保数据安全。
三、解决方案
1.容器云平台架构
(1)基础设施层:采用物理服务器、虚拟机或云服务器作为基础设施,为容器云平台提供计算、存储和网络资源。

云计算平台设计

云计算平台设计

云计算平台设计在当今数字化时代,云计算已成为企业信息技术领域的重要发展趋势。

云计算平台的设计在实现高效数据存储、灵活性和可扩展性方面起着关键作用。

本文将探讨云计算平台的设计原则、架构以及相关技术。

一、设计原则1. 可靠性:云计算平台设计应确保高可用性和容错性。

为了实现这一目标,可以采用冗余架构和数据备份机制,以确保数据的安全性和系统的持续运行。

2. 可扩展性:云计算平台的设计应具备良好的可扩展性,以满足不断增长的用户需求。

通过采用分布式架构,可以灵活地新增或删除服务器节点,并提供自动扩展和负载均衡功能,以确保系统的高性能和稳定性。

3. 安全性:云计算平台设计应注重数据的安全保护。

采用加密技术和访问控制策略,确保敏感数据的保密性和完整性。

同时,定期进行安全检查及漏洞修复,以及建立强大的系统监控和预警机制,以应对潜在的安全威胁。

4. 弹性伸缩:云计算平台的设计应具备弹性伸缩的能力,能够根据用户需求进行资源的动态调配。

通过采用虚拟化技术和容器化技术,实现对计算、存储和网络资源的灵活分配,以提高资源的利用率和系统的响应能力。

二、架构设计1. 分层架构:云计算平台的设计通常采用分层架构,包括物理层、虚拟化层、资源管理层和应用服务层。

物理层负责提供硬件资源,虚拟化层实现资源的抽象和隔离,资源管理层负责资源的调度和分配,应用服务层为用户提供各种云服务。

2. 服务治理:在云计算平台的设计中,服务治理是一个重要的概念。

通过建立服务注册中心、服务发现和路由等机制,实现对服务的统一管理和调度,提高服务的可用性和质量。

3. 数据管理:云计算平台设计中,数据管理是关键环节。

需要确保数据的安全性和隐私性,并提供高效的数据存储和访问机制。

采用分布式文件系统和对象存储技术,实现数据的高可用性和可扩展性。

4. 监控与管理:云计算平台设计需要建立完善的监控和管理机制。

通过采集、分析和展示关键指标,实时监控系统的性能和健康状况。

同时,提供可视化的管理界面和自动化的运维工具,简化系统的维护和管理工作。

云计算平台架构设计与实现

云计算平台架构设计与实现

云计算平台架构设计与实现云计算是一种基于互联网的新型计算范式,是当前信息化发展的重要趋势之一。

在云计算理论的支持下,越来越多的企业开始采用云计算模式来实现IT服务,将自己的业务平台部署在云上,以提高效率和降低成本。

本文将探讨云计算平台架构设计与实现的相关技术和方法。

一、云计算平台的构成云计算平台一般由数据中心和云管理平台两部分组成。

数据中心是物理硬件资源的集合,包括计算设备、存储设备、网络设备等。

云管理平台则用来管理这些硬件资源,并为用户提供云服务。

具体来说,云计算平台应该具备以下几个特点:1、灵活的计算资源调度能力。

云计算平台应该具备自动监控和调度虚拟机、应用程序等计算资源的能力,以满足不同用户在不同时间对计算资源的需求;2、高可靠性和高可用性。

云计算平台应该具备容错、备份等多重机制,以确保用户服务的长期稳定性和可靠性;3、安全的数据存储和传输能力。

在云计算平台上,大量的敏感数据需要得到有效的保护,包括加密传输、数据备份等多种安全机制;4、快速的响应和可扩展性。

云计算平台应该具备快速响应用户需求的能力,并支持水平扩展、竖直扩展等多种扩展方式,以应对不断变化的业务需求。

二、云计算平台的架构设计在设计云计算平台时,应该首先考虑数据中心的构建和管理。

数据中心一般包括服务器、网络设备、存储设备等,这些设备需要在协同工作的同时,也要支持物理和逻辑分割,以便更好地管理和分配资源。

这里我们可以采用虚拟化技术,将物理资源划分成多个互相隔离的逻辑资源,进而实现更灵活的资源调度和管理。

在数据中心建设的同时,云管理平台也需要相应的设计和开发。

云管理平台的设计要素包括如下几个方面:1、资源管理模块。

资源管理模块用来管理数据中心内的各种硬件资源,包括CPU、磁盘、网络带宽等。

该模块的主要任务是监控资源状态,协调资源调度,以使资源能够高效利用和优化;2、应用管理模块。

应用管理模块用来部署、管理和监控各种应用程序,并为用户提供可靠的高性能服务。

云平台与容器技术比较与应用

云平台与容器技术比较与应用

云平台与容器技术比较与应用随着信息技术的迅猛发展,云计算和容器技术越来越受到关注。

云平台和容器技术作为当前流行的两种技术方案,都有其独特的优点和适用场景。

本文将比较云平台和容器技术,同时探讨它们的应用。

一、云平台云平台是一种基于云计算技术的资源管理平台,可以提供一系列的服务,包括计算、存储、网络等。

其主要特点如下:1.1 灵活性云平台可以根据实际需求灵活扩展或缩减计算资源,节约了运维成本。

并且用户可以按需购买和使用云服务,提高了资源利用率。

1.2 可靠性云平台采用分布式架构和冗余设计,保证了数据的安全性和可靠性。

即使某个节点故障,仍能提供服务。

1.3 兼容性云平台支持多种操作系统和开发语言,可以对不同的应用程序进行集中管理和部署,提供了较好的兼容性。

二、容器技术容器技术是一种虚拟化技术,它将应用程序及其所有依赖项打包为一个独立的可执行单元,称为容器。

容器技术的主要特点如下:2.1 轻量级容器相比于虚拟机,占用更少的系统资源,启动和停止速度更快。

它们共享主机操作系统,不需要额外的操作系统。

2.2 灵活性容器使用微服务架构,可以实现应用程序的快速部署和更新。

同时,容器具备良好的可伸缩性,可以根据需求增加或减少容器数量,实现弹性扩展。

2.3 隔离性容器之间相互隔离,可以独立运行和管理多个应用程序。

容器技术提供了一种更加可靠和安全的应用程序运行环境。

三、云平台与容器技术的比较云平台和容器技术都有各自的优点和适用场景,下面是它们的比较:3.1 灵活性和可扩展性云平台提供了更大规模的计算和存储资源,适合于需要处理大量数据和用户访问的应用。

同时,云平台的资源可以根据需要弹性伸缩,适合面对突发访问量的应用。

容器技术可以快速部署和更新应用程序,适合于需要频繁更新和迭代的应用。

3.2 隔离性和安全性云平台提供了面向物理服务器的隔离,保证了用户数据和应用程序的安全性。

而容器技术提供了面向应用程序的隔离,保证了不同应用程序之间的安全性,避免相互影响。

使用容器云平台管理多个应用的方法和技巧

使用容器云平台管理多个应用的方法和技巧

使用容器云平台管理多个应用的方法和技巧随着云计算技术的发展,容器云平台成为了企业管理多个应用的首选方案。

容器云平台能够提供高度可扩展性、灵活性和安全性,使得企业能够更加高效地管理和部署应用。

然而,要想充分利用容器云平台的优势,企业需要掌握一些方法和技巧。

一、合理规划容器集群在使用容器云平台管理多个应用之前,企业需要合理规划容器集群。

首先,需要确定集群的规模,包括节点数量和资源分配情况。

根据应用的需求和预估的负载,合理分配资源,确保每个应用都能够得到足够的计算和存储资源。

其次,需要考虑容器集群的高可用性和容错能力,选择合适的部署策略和容器编排工具,确保在节点故障或网络中断的情况下,应用能够自动迁移和恢复。

最后,需要考虑容器集群的安全性,采取适当的措施保护容器和应用的数据安全,如访问控制、网络隔离等。

二、使用容器编排工具容器编排工具是管理多个应用的关键工具之一。

它能够自动化地部署、扩容、升级和监控容器应用,提高管理效率和可靠性。

目前比较流行的容器编排工具有Kubernetes、Docker Swarm和Mesos等。

企业可以根据自身需求选择合适的工具。

在使用容器编排工具时,需要注意以下几点。

首先,要熟悉工具的基本概念和操作方法,掌握其核心功能和特性。

其次,要合理设计和组织容器应用的架构,遵循最佳实践,确保应用能够高效运行。

最后,要定期更新和升级容器编排工具,以获取最新的功能和安全补丁。

三、制定容器管理策略制定容器管理策略是管理多个应用的关键步骤之一。

容器管理策略包括容器镜像管理、容器存储管理、容器网络管理等方面。

首先,要建立容器镜像管理的规范和流程,包括镜像的构建、发布、更新和回滚等。

要确保镜像的版本控制和安全性,及时修复漏洞和更新依赖。

其次,要合理规划和管理容器存储,包括数据卷的创建、挂载和备份等。

要确保数据的可靠性和一致性,避免数据丢失和泄漏。

最后,要合理规划和管理容器网络,包括容器之间的通信和访问控制等。

云平台设计方案

云平台设计方案

云平台设计方案李万鸿2016-2-25云计算是大势所趋,选择合适的硬件和软件建立云平台是非常重要的,下面是一个非常详细的云平台设计方案。

1.云平台架构设计学校云平台架构图云平台包括Iaas、Paas、Saas三层服务,云平台既是一个企业云,也可以对外提供服务,学校还可以使用别的公有云如阿里云,形成混合云。

1). SaaS:提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设备上通过客户端界面访问,如浏览器。

消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等,实现智慧校园产品及学校现有产品等给用户使用。

2). PaaS:主要提供应用开发、测试和运行的平台,用户可以基于该平台,进行应用的快速开发、测试和部署运行,它依托于云计算基础架构,把基础架构资源变成平台环境提供给用户和应用。

为业务信息系统提供软件开发和测试环境,同时可以将各业务信息系统功能纳入一个集中的SOA平台上,有效地复用和编排组织内部的应用服务构件,以便按需组织这些服务构件。

典型的如门户网站平台服务,可为用户提供快速定制开发门户网站提供应用软件平台,用户只需在此平台进行少量的定制开发即可快速部署应用。

提供给消费者的服务是把客户采用提供的开发语言和工具(例如Java,python, .Net等)开发的或收购的应用程序部署到供应商的云计算基础设施上去。

客户不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可能控制运行应用程序的托管环境配置;可以使用Kubernetes、Docker容器完成应用系统的部署和管理。

提供统一登录、权限、门户、数据中心、数据库等服务,实现容器管理、自动化部署、自动化迁移、负载均衡、弹性计算、按需分配、应用统计、性能检测、API接口、数据交换等功能。

3). IaaS:提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

容器云平台高可靠性设计1 容器云平台高可靠的需求与价值 (01)1.1 容器技术与传统虚拟化技术可靠性架构的对比 (01)1.2 容器的集群需求 (02)1.3 Kubernetes对于容器云平台高可用的特性和价值 (03)2 容器云平台总体高可靠架构设计 (03)2.1 高可靠Docker容器集群设计和部署 (03)2.2 高可靠Kubernetes集群的设计和部署 (03)2.3 高可靠Etcd集群的设计和部署 (05)2.4 容器云整体高可靠的设计和实现 (05)2.5 支撑高可靠的VIP技术 (06)3 容器云平台高可靠架构的指标对比 (07)4 结语 (07)高可靠是容器云平台功能架构中的关键的一环,在业务连续性和系统可靠性两个关键指标中,容器云的高可靠起到了至关重要的作用。

在通用企业级的容器云平台构建和设计中,相应的设计方案和技术框架体现在高可用方面。

对于企业的业务连续性而言,容器云平台的高可靠主要分为高可用、高性能、高安全性、易扩展性四个方面。

高可靠的容器云平台用于承载微服务系统的应用,仅仅依靠Docker容器技术是无法满足需求的,因此Kubernetes作为服务编排和部署工具不断的和Docker以及CRI容器运行时进行融合,衔接传统的PaaS平台,在功能上不仅可以保证容器集群的编排和运维,又可以提供优越的平台层服务。

Kubernetes 具备完备的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、内建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制及多颗粒度的资源配合管理能力。

在本文”基于Docker/CRI+Kubernetes的容器云平台的高可靠设计”中,通过对Docker/CRI、Kuberne-tes和相关支撑组件的可靠性特性以及架构设计的详细分析,从而论证了其未来可以满足云平台可靠性需求的能力。

1 容器云平台高可靠的需求与价值1.1 容器技术与传统虚拟化技术可靠性架构的对比以Wmware为代表的虚拟化实现了内部私有云IaaS平台的技术,给企业带来了服务器运算资源的集中、应用开发速度提升、运维成本下降和系统稳定性提高等显著成效。

同时,随着微服务应用的迅速发展及容器技术的逐渐成熟和广泛应用,虚拟化云平台有了相应的局限性,如何提升效率和提高稳定性成为了其新的瓶颈,因此容器技术开始进入云平台的契机已经到来。

Docker是最早开始广泛应用的容器引擎,得益于其容器仓库和社区。

Docker是Dockerd,containerd,containerd-shim和runc的组合。

Docker容器技术对效率和稳定性的进一步提升进行的探索实践具体为:Docker Engine取代原有重复的虚拟化层Hypervisor和系统服务层Guest OS,可以更灵活、高效地利用Linux Namespaces和Cgroups技术为应用程序提供隔离性高、安全灵活的运行空间和运行资源,从下图的技术架构进行对比可以看出两者的技术优越性。

基于Docker容器技术相对于Vmware虚拟化给云平台带来的提升有以下几点:可以有更快的持续部署和测试环境,可以有更多的跨平台的支持、可以有更统一的环境标准化模板,可以有更精确的版本控制,可以有更高的资源利用率,可以有可靠的安全沙箱等等。

微服务的价值和意义Docker守护进程的存在引起的稳定性问题,必须要以root特权权限启动,容器引擎的复杂性,以及C/S 客户端服务器复杂模型,都已经显示Docker逐渐不再适合新一代的容器架构。

随着Kubernetes在2018/2019年的发展和流行,需要更为轻量级,更加云原生的容器运行时,在Google/Redhat/Intel/IBM等厂家推动下,新的运行时引擎CRI-O得到快速发展。

为了适应这种需求,Docker将Containerd剥离并贡献给CNCF基金会,获得了原生CRI的支持,低阶运行时仍然使用OCI的Runc;而cri-o 是一个 CRI 容器运行时接口的实现,为 kubernetes 提供 CRI 接口支撑。

cri-o 提供了一组最小化的工具和接口来下载、提取和管理镜像、维护容器生命周期、并提供满足 CRI 所需的监控和日志记录。

CRI-O可以让用户直接从 Kubernetes 运行容器,而不需要任何不必要的代码或工具。

cri-o可以使用任何符合OCI标准的低阶运行时和容器工作,默认的运行时仍然是runc。

cri-o的主要目标是作为Kubernetes的容器运行时,版本控制也与K8S一致。

在此基础上出现了基于libpod的podman,来兼容docker cli中的绝大多数命令;buildah复制了docker-file的所有命令来构建oci镜像;Skopeo来传输容器镜像。

Podman+Skopeo+Buildah这一符合标准CRI-O的容器套件,基于fork/exec模型,解决了由Docker守护进程导致的启动和安全问题,提高了容器的性能和安全性。

当Docker不再作为缺省的容器运行时存在的情况下,企业级的容器云平台将遵循CRI-O+Kubernetes 的高可靠设计模式来实现,在这里就不得不提到微服务,作为容器云平台所承载业务的主体,微服务技术的应用在可靠性设计中充当服务输出的直接方式。

微服务指的是开发一种单纯、小型、有意义的功能作为一项单一服务。

通过微服务能将功能分解到离散的各服务中去,降低系统的耦合性,提供更加灵活的服务支持。

微服务的优点包括:(1)体量小,用于实现一种特定的功能或业务需求;(2)可由一个小的开发组独立完成开发;(3)松耦合,服务之间可独立进行开发和部署;(4)可用不同的语言开发; (5)可通过持续集成工具,便捷地自动集成部署;(6)易于理解、修改和维护;(7)易扩展。

1.2 容器的集群需求原先的Docker等容器引擎提供有编译、上传、下载、启动和停止容器的所有必要功能,对于在单主机环境中容器数量最少的情况下,管理这些过程而言是很合适的。

但是,对于企业级应用而言,当需跨多个主机管理大量的容器时,集群环境下的容器宿主机所面对的网络、负载均衡、服务发现和高可用等特殊需求都带来了很大的困扰,盲目的进行Docker容器技术陆续开展并实现容器化和微服务的转型,但在大规模群集部署和应用时,传统的容器应用依然存在诸多问题,并不能有效的避免容器云平台的可靠性问题,比如:(1)多元化平台不利于统一管理;(2)独立的容器服务不利于企业进行大规模信息系统的建设;(3)高可用、高冗余副本缺失,灵活度低;(4)人工运维,缺乏自动的弹性伸缩。

下图为传统应用架构和微服务架构的对比。

1.3 Kubernetes对于容器云平台高可用的特性和价值调度和编排是集群管理的重要组成部分。

当应用被扩展到多台宿主机时,管理每个宿主系统和抽象化底层平台的复杂性变得更高。

编排是一个广义的概念,是指容器调度、集群管理和为可能的其他主机供应配置。

容器管理是控制一组宿主机的过程,包括从一个集群中添加或移除主机、获取宿主机或容器当前的状态、信息和启动或管理进程。

集群管理与调度紧密相连,因为调度必须有权限通过集群中的每台宿主机来管理服务。

Kubernetes作为 作为流行的容器编排项目,在容器之上实现包括应用部署、服务编排、高可用管理和弹性伸缩在内的一系列功能,具有以下优点:(1)提供高可用、高冗余的群集化管理模式;(2)为容器组件提供高效的弹性伸缩;(3)提供一整套易于对接的RESTfullAPI API;(4)能与企业级微服务架构无缝结合;(5)实现零停机的灰度发布。

2 容器云平台总体高可靠架构设计在实际的架构设计中,要根据企业的实际情况进行分析和落地,设计原则是通过合理的资源和组件架构设计,按不同业务功能和模块对容器云平台的容器资源进行拆分,并纳入到不同的容器群集服务中,通过借助Kubernetes的Pod和Service分组化管理实现不同业务类型服务器资源的最大隔离及促进企业应用微服务的合理有效拆分和运营,并通过组件级的冗余设计,来达到平台级高可靠架构的实现。

2.1 高可靠Docker容器集群设计和部署在容器集群规划中,将承载微服务的 Docker容器部署于 Kubernetes集群体系中,利用其 Master组件(APIs、Scheduler、Etcd)和多个 Node节点组件(Kubelet、Kube-proxy)及分布式存储系统保障容器群集的 高效、稳定服务,将整个系统模块分为运行在 Node节点上的容器服务和运行在 Master节点上的用于组成集群级别的控制管理服务。

Kubernetes节点有运行应用容器必备的服务,而这些都受 Master的控制。

每个节点上都需运行Docker服务,用来负责所有具体的映像下载和容器运行。

Kubernetes体系主要由以下核心组件组成:(1)Etcd,负责提供和保存整个集群的状态;(2)APserver,负责提供资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;(3)ControllerManger,负责维护集群的状态,如故障检测、自动扩展和滚动更新等;(4)Scheduler,负责调度资源,按照预定的调度策略将 Pod调度到相应的机器上;(5)Kubernetes,负责容器的生命周期维护及 Volume(CVI)和网络(CNI)管理;(6)Containerruntime,负责镜像管理及Pod和容器的真正运行(CRI);(7)Kube-proxy,负责为Service提供 Cluster内部的服务发现和负载均衡。

2.2 高可靠Kubernetes集群的设计和部署Kubernetes集群中的节点主要有三个角色:Etcd服务器、Kubernetes API服务器和应用节点(Workers),总体框架图如下图。

在该系统中,Etcd 服务和Kubernetes API服务被同时部署在三台相同的节点上,以实现服务的高可用。

虽然技术上Etcd服务和Kubernetes API服务可以被分别部署在不同的节点上,从而实现硬件隔离和更好的性能,但这样做的硬件成本和维护成本都较高,因此在这里我们选择了将Etcd服务和API服务同时部署在三台相同的节点上。

我们这里统一将Etcd服务器、Kubernetes API服务器称为Master节点,将应用节点称为Worker节点,各个节点均运行CentOS/RHEL操作系统,其它Linux操作系统部署方法类似。

首先,在各个节点的/etc/hosts文件中加入各个节点的host-name,部署高可用Etcd服务器集群时需要使用各个节点的hostname;其次,为了安全考虑,我们需要enforcing SELinux;第三,如果是Redhat/Cen-tOS系统,将net.bridge.bridge-nf-call-iptables和net.bridge.bridge-nf-call-ipta-bles6 两项系统参数设置为1,否则部署过程中创建的iptables规则不能生效,;第四,设置防火墙规则,允许Etcd和Kubernetes各项服务可以正常通过防火墙,需要允许网络流量通过的端口详见下表。

相关文档
最新文档