管理容器 我们可以做什么
2017-04-06
Docker的应用虚拟化技术通常被称为容器,其技术处于快速发展阶段,推广势头极为迅猛而且随着技术的成熟,各种商业应用也随之增长。制订容器管理策略时,选择正确的工具只是万里长征迈出的第一步,在实践中那些在云应用开发和程序迁移过程中应用容器技术(例如Docker)的用户,很快就会认识到使用容器管理工具的必要性,这些工具能够帮助用户管理容器的运行和规模,并监控容器的性能和安全性。
管理容器可能需要用户付出大量的精力,做很多工作。首先需要考虑的问题就是选择一个合适的管理工具。对于基于容器技術的应用程序来说,主要有两种类型的管理工具,分别是容器集群管理器以及容器运行管理器。
容器集群管理器
容器集群管理器主要是指Docker Swarm、CoreOS Tectonic以及谷歌Kubernetes,它整合了一个由多个服务器或节点组成的共享计算环境,其中集成资源可用于支持工作负载和程序在集群内的正常运行。用户可以在集群内使用程序来创建任务,然后使用这些任务以满足特定业务或者IT的需求,同时也涉及使用这些任务来创建工作。
如果需要退出这个功能,用户就应使用集群管理框架来管理一个或多个集群,而这个框架通常包括了一个资源管理器,它可用于跟踪诸如内存、CPU以及存储等资源。当任务运行需要资源时,必须通过资源管理器来获取所需的资源,用户还可以访问资源,这意味着可以管理集群的性能、响应时间以及其他,这使集群可拥有虚拟或物理上的可扩展性。
容器集群管理器的其他组件还包括一个任务管理器,它主要负责任务执行和状态的管理。集群管理器中存在一个调度管理组件,可对组成工作的各个任务之间的依赖关系进行管理,并为各个节点分配任务。这个调度管理组件是集群管理器的一个核心组件,如果没有它,管理器将无法实现工作和任务的启动或停止。
容器运行管理器
对于管理容器的IT专业人士来说,可以使用容器运行管理器这类工具来执行某些特定任务,例如启动和停止基于容器的应用程序的运行、监控以及管理资源、日志记录等,包括根据预定义策略来执行某些自动化类型的操作。
Docker收购的Tutum就是一个具有内置日志记录功能的容器管理工具,能够允许用户访问容器的输出日志,并收集日志以供后期方便查看。Tutum还提供了可供用户检查容器状态的监控功能、一个可确保使用Tutum和Docker最新版功能的更新程序、一个API和一个控制面板。
容器管理的最佳实践
除了选择正确的工具外,还有一些容器管理方面的通用技巧。了解核心容器使用模式,有一些基于容器的应用程序还是非常复杂的,需要大量的监控和管理;而另一些应用程序则相对更为简单,这些应用程序可能不需要扩展资源或者被严密监控。运行和维护容器管理工具的代价相对较为昂贵,所以应当只在确定真的需要它们时才具体实施,一般来说所拥有容器的数量和类型将具体决定需求。
此外,其实还应该做到不要过于关注工具,很多情况下使用容器技术反而过分关注可用工具,而不关心真正需要的功能。事实上随着时间的推移,所使用的容器管理工具也会不断更新变化,需要在实践中不断深入学习,始终关注容器、管理工具以及程序才是最重要的,只有持续不断地向自我提出更高要求,才能更好地或者更高效地使用这项技术。