[译] 容器管理软件生态
容器管理软件是一种程序,可以自动化容器的创建,销毁,部署和扩展。 容器化是一种软件开发方法,它将共享操作系统(OS)的进程隔离开来,并将应用程序或微服务库和依赖项绑定到一个可部署的单元中。 容器用于创建云原生的分布式应用程序,并打包旧应用程序,以提高可移植性和部署的简便性。
随着IT组织采用DevOps,容器越来越受欢迎,DevOps强调应用程序部署的快速速度。 容器管理和编排软件功能包括容器调度程序,安全工具,存储和虚拟网络管理系统以及监视工具。
容器管理的利弊
由于比虚拟机(VM)多得多的容器可以运行在服务器主机上,因此容器管理软件的主要优点在于简化了稠密的托管环境的管理。 如果没有容器管理软件提供的自动化,容器的绝对数量可以快速超过人肉操作员跟上变化的能力,特别是在快速的情况下。
容器优于VM的另一个优点是它们是轻量级的,并且具有来自主机操作系统的独立应用程序配置信息,这为容器化应用程序提供了增强的互操作性,无论异构服务器操作系统或公有云基础结构是否支持它们。 容器管理软件自动将基于容器的应用程序部署到这些不同的基础架构。
容器管理软件,尤其是诸如Kubernetes和Mesos的容器编排平台的缺点是复杂性。 管理员必须了解主机服务器集群之间的关系,以及容器网络以及它与应用程序和依赖项的对应关系。 此外,容器编排工具的安装和设置非常困难且容易出错。
容器管理软件的使用
容器可通过管理软件快速部署,适用于DevOps策略中的快速变更应用程序。 具有前瞻性思维的企业IT组织和初创公司都使用容器和容器管理工具来快速部署和更新持续开发的应用程序。
不同容器管理软件类别(编排,安全性,网络等)之间的界限模糊为容器编排平台,例如Kubernetes和Docker的Swarm模式,为其他管理功能添加了本机支持。 容器管理技术也被放入或连接到管理底层服务器主机和VM的大型软件套件中。
许多容器管理软件系统由开源社区创建,其他是由商业供应商销售的专有工具。 一些商业供应商提供对开源组件的支持或将其嵌入到产品中。
主要容器管理软件供应商
容器调度程序和编排工具
Kubernetes是一种流行的开源容器编排软件,基于Google的Borg集群管理工具。
供应商和开源社区已经创建了各种各样的Kubernetes发行版,包括CoreOS Inc.的Tectonic,Red Hat OpenShift,Apprenda Kismatic企业工具包,Google容器引擎(GKE),Ubuntu的Kubernetes的Canonical Distribution,Rancher Labs的Rancher,Univa Navops和VMware Photon平台。 Kubernetes支持和伙伴关系经常出现并发展。
Kubernetes社区维护着重于主机服务器集群管理实用程序和配置模板的项目,例如Kubernetes Operations(kops)和Istio,以及Ocado Technology的Kubermesh,Heptio的Amazon Web Services快速入门和eBay的TessMaster。
AppOrbit等供应商也管理Kubernetes集群的创建。 由Pivotal,VMware和Google领导的Kubo项目管理Cloud Foundry平台即服务上的集群创建。
云容器化服务从用户中抽象出Kubernetes集群的管理;这些服务产品包括Microsoft的GKE,Azure容器服务和Azure容器实例,Amazon Elastic Compute Cloud(EC2)容器服务,DigitalOcean支持的StackPointCloud以及IBM Container Service等。
一些基于Kubernetes的开源容器管理软件侧重于如何将应用程序和更新部署到Kubernetes环境。 这些项目包括Heptio,Helm,Applatix Argo的ksonnet以及与Kubernetes集成的众多持续集成和持续部署工具。
Apache Mesos是一个管理计算集群的开源项目,包括容器集群。 Mesosphere DC / OS是一种基于Mesos的商业产品,可协调具有混合云可移植性的容器。 Mesosphere提供自己的容器调度程序,它支持DC / OS中的Kubernetes。 Mesos使组织能够一起管理基于不同版本的Kubernetes的集群。
Docker提供Swarm模式,一个用于容器的集群管理实用程序,以及其他以企业为中心的容器管理软件功能,例如Docker Secrets和Notary容器安全实用程序。 一些第三方供应商为Docker Swarm模式提供主机群集和容器配置模板。 例子包括Puppet的Lumogon和Chef’s Habitat。 云容器管理服务还支持Docker Swarm模式。
容器安全工具
容器安全管理工具可在安全的环境中跟踪密码和令牌。 Docker秘密管理技术存在于上游Kubernetes,以及Mesosphere,CISOfy的Lynis和HashiCorp的Vault中。 Docker公证和类似的工具可以在测试,开发和生产环境之间移动时验证容器图像。
静态映像和运行时容器安全扫描工具在部署之前检查容器映像,并在部署后跟踪网络上的行为。 该软件可从多家供应商处获得,例如Aqua Security,Twistlock,NeuVector,StackRox,Deepfence和Tenable。 某些传统网络安全平台(如趋势科技服务器深度安全防护系统)也支持容器。
持久存储管理
容器是短暂的,这意味着它们不会在会话之间保留信息。 但有状态应用程序依赖于外部存储卷和容器之间的某些连接。
容器存储实用程序还处理容器映像文件从注册表到分配给生产中的应用程序的存储系统的传输。 Docker使各种供应商提供存储卷插件,例如Dell EMC社区的开源容器存储编排引擎Rex-Ray。
容器持久存储工具为有状态应用程序提供真正的容器可移植性,来自Docker Infinit,Portworx,Blockbridge Networks和基于Gluster的Red Hat Container-Native Storage。
容器网络工具
鉴于其密度和短暂性,容器往往依赖于虚拟网络。 特定容器的虚拟网络工具可以从Contiv,CoreOS,Weaveworks和开源项目中获得,例如Project Calico,它专注于Kubernetes容器网络管理。
更广泛的虚拟网络管理平台 – 例如Ansible Container,VMware NSX和Cisco Application Centric Infrastructure – 也支持容器技术。
容器监控工具
专用监控工具可跟踪容器化工作负载中的性能,错误和安全性。 特定于容器的监控工具由Sysdig,Docker的Stats功能,Google的cAdvisor和Kubernetes的Prometheus工具提供。
除了其他主机架构之外,一些DevOps监控平台还监控容器。 这些产品来自New Relic,Datadog,AppDynamics,IBM,Dynatrace和SignalFx等公司。
原文链接:
https://searchitoperations.techtarget.com/definition/container-management-software?
(加管理员微信 : cloudmspcn ,和企业IT管理者一起交流运维和云管理)