云中的容器:如何保证应用程序的安全和健康

云中的容器:如何保证应用程序的安全和健康

让我们近距离了解 OpenStack 和 Kubernetes 这两大开源技术,看看它们是如何相互协作、相互成就,为服务消费者带来更多益处的。

关于Kubernetes和Openstack的观点主要有两个相反的方向。 一方面,有人认为 OpenStack 和 Kubernetes 是互补技术,完全可以协同工作;另一方面,有人认为 Kubernetes 是 OpenStack 的替代品,反之亦然。 虽然这些工具的使用在很多情况下确实存在重叠,但这并不一定意味着其中一个可以轻易取代另一个。 它们有助于解决类似的问题,但在堆栈的不同层上。 因此,它们的结合可以为用户提供比以往更强大的自动化和可扩展性。 然而,看待这些开源巨头的一个更好的方法是将 Kubernetes 视为 OpenStack 的扩展,它是 OpenStack 云环境中容器协调的优秀工具。

让我们来详细了解一下这些开源技术是如何相互协作、相互成就的。 OpenStack 是一个开源云平台;它可以帮助企业运行和管理其云基础设施。 Kubernetes 也是一项开源技术,是目前使用最广泛的容器编排器,用于运行和管理容器。 一系列 OpenStack 组件和软件解决方案有助于有效地将这两种技术结合起来,以实现最佳效果。

但是,通过使用由 Kubernetes 协调的容器来扩展 OpenStack 功能,我们到底能得到什么呢?

顺利整合

作为一种开放式基础设施,OpenStack 提供了对计算、存储和网络系统的 API 驱动访问。 平台的灵活性使得在单一系统上部署所有企业环境可能需要的资源(裸机、虚拟机和容器资源)成为可能。

Kubernetes 使开发人员能够专注于他们的主要目标–创建软件、维护和改进软件。 工作负载驱动的 K8 技术可及时提供与已开发的云基础设施功能相匹配的工具和接口。

这两套技术都能广泛集成到企业级基础设施中,并与许多其他 IT 解决方案兼容。 一方是 OpenStack,它拥有经过多年验证的基于虚拟机的传统技术;另一方是 Kubernetes,它是一个高度灵活和动态的协调系统。 两者结合,为企业云环境打造了完美的双人组合,并为对方带来了各自所欠缺的东西。

Kubernetes 集群通过 API 使用 OpenStack 的计算、存储和网络资源。 OpenStack 为这些资源建立了一个抽象层,有助于使云系统变得可靠、可预期和稳定。

例如,Kubernetes 用户普遍要求添加大量标准服务,如对象和块存储,并与容器系统顺利集成。 OpenStack 通过支持企业最重要的存储和网络解决方案,为满足此类要求提供了实用工具。 使用 OpenStack 运行 Kubernetes 可以将容器的功能无缝集成到云环境中。

在 OpenStack 上运行 Kubernetes 和其他应用程序框架有多种解决方案。 Openstack项目Magnum是提供多租户和自助式容器框架的最简单方法。 它提供了一个简单的应用程序接口(API),用于部署完全托管的集群,并由包括 Kubernetes 在内的多个应用平台提供支持。

安全的基石

作为一个功能强大的协调器,Kubernetes 与传统服务器或虚拟机上的应用程序相比,无疑简化了应用程序的管理。 尖端技术为开发流程带来了自由度,实现了自动化迭代,节省了编码的时间和精力。 相对较新的技术采用了最新的现代安全实践。 然而,现代和前沿并不意味着先验地满足了业务需求。 经过多年成功使用验证的最佳安全实践,可能会因为组件升级时新发布的一个潜在漏洞而毁于一旦。 对外部网络和集群本身都可能对集群安全及其上存储的数据构成威胁。 一个配置错误的应用程序或一个被忽视的漏洞都可能让攻击者访问容器和主机的文件系统。

定期系统审计和群集策略等基本规则可更新 Kubernetes 群集的安全保护并减少可能出现的问题。 Kubernetes 的基本网络安全措施如下:

  • 严格的防火墙规则和外部网络访问限制;
  • 对资源和用户进行配额和认证管理;
  • 集装箱特权和集装箱内特权的限制;
  • 可靠的图像来源,以防止运行不安全应用程序的风险;
  • 日志监控和定期群集安全审计,以自动模式检测已知漏洞并及时消除。

一劳永逸地安装和设置安全性是一个理想但不可能实现的梦想。 在不断变化的云环境中,会出现新的弱点和威胁。 企业应该考虑到,在裸机上运行 Kubernetes 会导致更高的安全逃逸威胁风险。 如果入侵者恰好直接在主机上,作为操作员,你就会遇到巨大的问题,因为共享相同内核的所有用户都会受到威胁。 另一方面,OpenStack 可以提供一个统一的云平台,用于协调虚拟机、容器和硬件计算资源,将集群和整个系统的安全性保持在较高水平。 要实施和管理这样一个平台,公司需要一支经验丰富、费用不菲的专业团队,或者经过验证的高效、安全的正确软件解决方案。

更快的应用程序开发

Kubernetes 为开发人员提供了一个向导棒,可以快速、轻松地管理许多容器和应用程序。 OpenStack 则创造了一种氛围,让这种神奇的事情在没有延迟和错误的情况下发生。 用户对按需服务和随时访问服务的需求日益增长,这使得 K8 和 OpenStack 成为满足这些用户需求的完美盟友。 从提高应用可移植性到缩短开发时间和增强应用稳定性,好处不一而足。 通过同时运行 Kubernetes 和 OpenStack,可以立即找到、识别并使用所需的代码片段。 这可以节省数小时的编码和搜索时间。 众所周知,聪明的懒惰是进步的最佳动力。

开发人员广泛使用 Kubernetes,因为该技术的功能需求很高,是交付应用程序的理想选择:

  • 由于 隔离的作为隔离的工作空间,容器可以将多个完全不同的应用程序部署到单个裸机或虚拟机上,而不会在应用程序之间产生任何冲突。
  • 在 Kubernetes 集群中使用 pod 可以运行单个容器或多个容器(如果它们需要协同工作)。 要创建并保持一组应用组件,一个 pod 封装了由多个共定位容器组成的应用程序,这些容器紧密相连,需要共享资源。
  • Kubernetes 开源技术可在生产中运行容器化工作负载,而且 易于维护社区的持续实践提供支持。

如今,没有人怀疑容器化应用的好处,但关于服务于这些应用的主机平台仍存在争议。 根据最近的许多调查,大多数开发人员选择 Kubernetes 作为容器管理的第一平台。 但是,如果你想从 Kubernetes 和 OpenStack 技术中获得更多,并提高业务生产力、节省开发时间和应用程序可移植性,你就应该同时运行这两个著名的串联平台。

自动校准

传统应用程序需要较大的硬件才能扩展(纵向扩展),而基于云的应用程序则可以使用离散的硬件运行(横向扩展)。 为满足这些要求,OpenStack 被设计为可水平扩展。 您可以采购更多服务器并安装相同配置的服务,而不是切换到更大的服务器。 OpenStack 的水平扩展是 Kubernetes 可以增加更多灵活性的绝佳场景。

Kubernetes 最强大的功能之一是自动缩放,这是一个自动化的过程,否则手动操作将需要大量人力。 目前,Kubernetes 有三种自动扩展方法:水平和垂直扩展 pod 以及扩展集群。

在私有云环境中,自动缩放是必不可少的;如果没有它,每当条件发生变化时,您就必须调配资源,然后再缩放。 如果需要更多资源,Kubernetes 会自动增加集群节点和 pod 的数量,并调整回较少的节点和 pod 以节省资源,从而帮助优化资源。

使用 Kubernetes帮助您享受更多的功能。 资源可以高效地横向和纵向扩展。

FishOS 带来双倍收益

多年的经验使 Sardina 团队成为基于 OpenStack 创建私有云环境的专家。 我们还将 Kubernetes 与FishOS平滑集成,为客户提供容器编排工具。 我们将 Kubernetes 完全集成到 OpenStack 环境中,以提供其所有功能,确保自动推出和回滚、高可用性、异构集群、存储协调和自我修复等功能。

FishOS 可以在虚拟机和裸机服务器上运行符合官方认证测试的 Kubernetes。 但让 Kubernetes 运行起来是一回事,如何保持系统的可扩展性、可靠性、高效性和成本效益则是另一回事。 FishOS 的关键价值就在于这些在私有云中运行的关键方面。 FishOS 使企业运营商能够轻松提供多租户 Kubernetes 环境,并提供可靠的安全保证,帮助开发人员更快、更轻松地交付应用程序。 Sardina 的客户还可以从成熟、经过测试和验证的持久块存储、软件定义存储和软件定义网络中获益。

在运营商和消费者部门分离的大型企业中,在虚拟机内运行 Kubernetes 集群是合理的。 这样,企业就能受益于虚拟机的强大安全隔离功能,以及虚拟机提供的可靠性和弹性。 OpenStack 本身也能在裸机节点上运行 Kubernetes。

将OpenStack和Kubernetes技术相结合所带来的好处要比单独使用它们更明显。 难怪 OpenStack 基金会致力于确保新兴技术能够融入 OpenStack 并加以利用,而容器正是这一承诺的实际体现。 OpenStack 利用其设计和庞大的社区在不同层面整合了容器技术。 通过在 OpenStack 云环境中使用 Kubernetes,企业可以获得双倍的收益。 两个开源巨头携手合作,可以在安全性、弹性和可扩展性方面取得更好的效果,从而加快应用开发和基础设施创新的交付。

1024 512 Natalya Samovol
Start Typing