白皮书:OpenStack与容器的相遇相知(上)

作者:宝盈国际老虎机APP     来源:宝盈国际老虎机APP    

浏览量:56451     发布时间:2019-04-06

近期,信息集团知识产权投资公司党支部组织全体党员在公司会议室,就“学习强国”平台知识展开热烈的交流讨论与分享。

  裸机基础设施OpenStack和解决Bootstrap问题  每个云的基础中,都有一个承载基础设施服务的裸机服务器数据中心。

即使是无服务器计算,也在数据中心硬件上的云上运行软件。 如何引导硬件基础设施的问题是OpenStack软件有独特资格来解决的一个关键问题,它可以提供类似于云的裸机管理质量。   OpenStackIronic提供裸机即服务。

作为独立服务,它可以发现裸机节点,在管理数据库中对其进行编目,并管理整个服务器生命周期(包括注册、提供、维护和退役)。

当用作OpenStackNova的驱动程序并结合全套OpenStack服务时,它可以提供强大的类似云的服务来管理整个裸机基础设施。   这引出了一个问题:一个bootstrapOpenStack服务如何管理裸机基础设施?一个典型的解决方案是使用与前面章节中所述相同的基于容器的安装工具来创建种子安装。

这个通常被称为undercloud的种子可以用来完全自动化裸机集群的管理,就好像它是一个虚拟化的云。

  这带来了机会,不仅可以在裸机云上运行OpenStack虚拟化,而且还可以运行裸机Kubernetes安装(可以通过OpenStack服务充分利用身份、存储、网络和其他可用的云API)。   在OpenStack上交付基于容器的应用程序  基础设施容器和裸机基础设施都很重要,但是当大多数人想到容器时,他们想到的是应用程序容器。

容器提供的隔离、封装和易维护性使其成为交付应用程序的理想解决方案。 但是,容器仍然需要一个主机平台来为它们提供服务,无论是裸机、公有云还是私有云。   Kubernetes是一个交付应用程序的平台,可以与云API一起使用,从而实现关键基础设施的自动交付(如永久存储、负载均衡器、网络和动态分配计算节点)。 OpenStack提供云基础设施,无论是作为本地私有云还是通过任何可用的公有或托管OpenStack云。   OpenStack是Kubernetes的首批上游云提供商之一,其活跃的开发团队维护着Kubernetes/CloudProviderOpenStack插件。

这个插件允许Kubernetes利用Cinder块存储、Neutron和OctaviaLoadBalancers,以及使用Nova直接管理计算资源。 使用非常简单,只需将驱动程序部署到Kubernetes安装中,设置一个标志来加载驱动程序,并提供本地用户云凭证。   在OpenStack上安装Kubernetes和其他应用程序框架有许多解决方案。

提供容器框架的最简单方法之一是使用Magnum这是一个OpenStack项目,它提供了一个简单的API来部署完全受管理的、有多个应用程序平台(包括Kubernetes)选择的集群。 这是一个依赖于OpenStackAPI和云提供商插件的Kubernetes部署系统的例子。 例如,现在它被用在CERN的OpenStack现场云以及合作伙伴云上管理超过200个独立和联合的Kubernetes安装。 如果你在首选OpenStack云中没有可用的MagnumAPI,你可以使用任何其他Kubernetes安装工具(例如kubeadm、KubernetesAnywhere、Cross-Cloud或Kubespray)在OpenStack上安装和管理Kubernetes集群。

因为每个用户都使用标准的Kubernetes,所以很容易启用云提供商接口来利用存储和负载均衡。

  另一个OpenStack项目Zun提供了一个轻量级的容器服务API,用于管理单个容器,而无需管理服务器或集群。

OpenStack托管的Kubernetes集群具有弹性,因为它可以直接通过NovaAPI向集群添加或删除云资源来动态调整大小。

另外,Kubernetes可以作为OpenStackZun的容器后端,将pod基础设施的管理转交给Zun。 它提供了一个更轻量级和多租户容器服务API,用于运行容器而无需直接创建服务器。 与Neutron和Cinder的直接集成被用于为单个容器提供网络和卷。   最后,Qinling项目提供了FunctionasaService,旨在提供一个支持无服务器功能的平台,类似于Lambda、AzureFunctions或GoogleCloudFunctions。

它进一步抽象了容器的管理,允许用户通过事件驱动的、无需服务器的计算体验来加速开发(这种体验可按需伸缩)。 Qinling支持不同的容器编排后端(如Kubernetes和Dockerswarm)、各种流行的功能包存储后端(如本地存储和OpenStackSwift)。

  KataContainers通过虚拟化保证应用安全  KataContainers是一个新的开源项目。

它是一个轻量级虚拟机的新颖实现,可无缝集成到容器生态系统中。 KataContainers与容器一样轻而快,并与容器管理层(包括Docker和Kubernetes等常用编排工具)集成,同时还提供了虚拟机的安全优势。 KataContainers符合开放容器倡议(OCI)标准OpenStack基金会是其中的一个活跃成员。 KataContainers由OpenStack基金会托管,但它是OpenStack项目之外的独立项目,拥有自己的治理和社区。   转向容器带来了独特挑战,即在多租户环境中保护用户工作负载(有可信任和不可信任的工作负载)。

KataContainers使用硬件支持的隔离作为每个容器或pod中容器集合的边界。

这种方法解决了传统容器架构中共享内核的安全问题。   KataContainers非常适合基于事件的按需部署(如持续集成/持续交付)和更长时间运行的Web服务器应用程序。

Kata还简化了从传统虚拟化环境向容器的过渡,因为它支持传统访客内核和设备通过功能。

KataContainers提供增强的安全性、可扩展性和更高的资源利用率,同时带来堆栈的整体简化。

  并行的OpenStack和Kubernetes集成  选择开源平台的一个主要优势在于,跨平台标准部署的接口的稳定性。

OpenStack基金会和CNCF都在为OpenStack云和Kubernetes集群维护互操作标准,确保库、应用程序和驱动程序可以在所有平台上运行,而不用管它们在哪里部署。

这为并行集成创造了机会,允许OpenStack和Kubernetes利用彼此的资源。   Kubernetes社区中的OpenStack特别兴趣小组(SIG-OpenStack)维护CloudProviderOpenStack插件。

除了在OpenStack上运行Kubernetes的云提供商接口外,它还保留了几个驱动程序,允许Kubernetes利用单个OpenStack服务。 这些驱动程序包括:。