安全软件亚搏在线博客
作者:
斯图尔特·哈珀

谷歌
获取博客新闻稿

交付人饲料燃烧器

关于FME|1月16日,二千零一十九|作者:斯图尔特·哈珀

介绍FME服务器Kubernetes技术预览

通过使用Kubernetes部署FME服务器,最流行的集装箱管理系统,大型企业可以轻松地在云端维护一致的FME服务器部署。下面是一些您可能希望使用kubernetes部署FME服务器的原因,以及有关它如何工作和如何开始的资源。

什么是Kubernetes?

一切都始于码头工人集装箱化,这使得开发人员更容易创建,在任何地方部署和运行应用程序。使用Docker部署FME服务器的客户一直引用:

  1. 提高资源效率:与在虚拟机上部署相比,容器使应用程序能够使用更少的资源运行,降低服务器和维护成本。因为容器只共享内核(操作系统的核心),并自带环境,在一台主机亚搏在线上运行多个容器既提高了效率又提高了可移植性,这是安全的。
  2. 支持一致的环境:Docker使您更容易确保所有环境之间的奇偶性,例如,分期付款,生产。这意味着每个团队成员都在一个生产等效的环境中工作,使分析和修复错误变得更容易。

Docker因此,为团队发布和管理应用程序提供了一种简单快捷的方法。对于托管更简单应用程序的许多组织,码头工人就够了。然而,如果要部署和管理更大的更复杂的应用程序(或包含多个容器的多个应用程序),只使用Docker是很有挑战性的。这就是为什么工具开始协调或管理操作中的所有容器的原因。

最流行的容器编排工具之一是Kubernetes。由谷歌开发,现在是开源的,Kubernetes建立在集装箱化已经提供的基础之上,并且帮助团队管理容器的生命周期及其交互方式-尤其是在大范围内,动态环境。它提供了一个系统,使组织能够运行,保持,以最少的停机时间升级可扩展的应用程序。

查看文章末尾的resource部分,查看我们在内部读取的资源,以便在kubernetes上进行扩展。

如何使用Kubernetes部署FME服务器?

这个FME服务器Kubernetes部署文档引导您完成设置并具有到安装脚本的链接。

刚到过库贝肯(和其他8000人一起)我可以说,毫无疑问,Kubernetes现在是容器编排的标准。增长惊人,所有主要云提供商现在都将Kubernetes作为一种服务:

  • 亚马逊河
  • 天青
  • 谷歌云Kubernetes引擎

我们已经成功地在所有这些平台上测试了部署。检查我们的现状和发展文档关于部署到不同的云环境中,如果您有任何问题,请告诉我们。如果你对这些都不熟悉,我们建议从Google Cloud Kubernetes引擎开始,因为这是一个最简单的好地方。

为什么要使用kubernetes部署FME服务器?

FME服务器的Kubernetes部署适用于拥有专门操作团队的大型组织。

自动化部署

Kubernetes通过设计将软件开发和操作结合在一起。

库伯奈特,其声明性配置,使复杂的大规模应用程序的自动部署变得容易。这样做,Kubernetes将基础设施转变为代码,允许对整个基础结构进行版本控制,使所有环境(例如发展,分期付款,生产)易于测试和再现。它还清楚地区分了操作系统,应用程序管理,和应用程序代码。这种关注点的分离使得创建专注于关注每个领域的专门团队变得更加容易。

以前,当将FME服务器自动部署到云上时,您需要使用特定于云的工具(例如AWS云形成)和配置管理(例如chef)配置机器的状态。这奏效了,但是逻辑在云环境之间不是完全可移植的。也,这些工具都不擅长描述依赖项和属性,以帮助以可靠和一致的方式运行复杂的基于容器的应用程序。Kubernetes在云基础设施之上构建了一个抽象层,将任何特定于云的设置抽象为所设置的属性。

这意味着您现在可以创建一个FME服务器部署,该部署可以在任何云中以低工作量和一致性进行部署。更好的是,亚搏在线SAFE维护这个部署,因此您不必担心架构的规划,安装,最终升级。

连续修补程序

在对性能和可用性影响最小的情况下修补FME服务器。

库伯奈特,通过头盔图表,允许通过配置文件定义更新路径。这意味着当应用程序需要安全补丁或轻微升级时,可以运行一个命令,找出需要部署哪些部分,然后对容器进行滚动更新。更好的是,如果升级失败,那么它可以将应用程序回滚到以前的版本。这使得应用程序更新对性能和可用性的影响最小。

关于FME服务器Kubernetes的部署,对于技术预览,升级路径尚未测试。所以,尽管头盔命令可以工作,如果您尝试更新FME服务器,可能会遇到混合结果。展望未来,我认为FME服务器和升级有一个令人兴奋的未来。如果你对此有任何反馈请联系我.

更容易部署高可用的FME服务器

Kubernetes是专门为支持容错和高可用性环境而构建的。

目前,将高可用的FME服务器部署到云环境中是一项手动任务,需要安装和协调许多组件。你需要担心负载均衡器,网络,储存,提供基础设施,并且在每个云提供商中都是不同的。

使用FME服务器kubernetes部署,只有一个部署,但可以根据需要将其配置为高可用或不可用。

例如,最初,您只能在一台主机上运行一个包含所有容器的实例。这将不会有那么大的弹性,就好像硬件出现故障,应用程序仍然会停机。随着应用程序重要性的增加,您可以通过添加更多实例和/或在多个主机上扩展某些组件来过渡到高可用部署。在这个多主机部署中,您不必担心添加更多的服务器实例:Kubernetes负责决定组件在哪里运行。它还负责监控所有组件的健康检查。

即使您没有运行高可用性部署,Kubernetes可以帮助您实现高水平的正常运行时间,因为它会自动重新安排下降的容器,从而在特定的场景中将停机时间减少到几秒钟。

性能和可扩展性

缩放FME服务器的特定部分以响应不同的使用模式。

  • Kubernetes将在可用的核心/Web容器中负载平衡传入的请求。如果网络流量激增,然后你可以缩放核心,Web和入口容器。
  • 如果作业请求和队列中的大量作业出现高峰,Kubernetes通过在集群中提供额外的容器,可以很容易地扩展正在运行的FME引擎。

安全性

Kubernetes是在安全的基础上建造的。

  • Kubernetes只是https,使用您自己的证书或让我们加密.在FME服务器部署中,通过自签名证书启用HTTPS。

资源

这些是我们内部用来扩大库伯奈特的一些资源。

Kubernetes教程

最佳库伯奈特演讲

头盔会谈

  • 从头到脚的头盔图表–关于容器的基本讨论,集群和头盔有很多现场演示。一个很好的谈话,以了解头盔是什么。
  • 舵图模式–与其中一位舵维护人员交谈,了解如何构建舵图。