企业Docker实施面面观
在这个问题上,我们可能希望强制使用特定的日志系统解决方案,以确保有关系统活动的信息在容器实例中保持不变。Sysdig的Falco(目前已经转到CNCF基金会下)是容器安全监控和审计领域一个有趣,很有前途的工具。 ![]() 运维 日志 应用程序日志记录是企业关注的问题之一:
容器的日志可能与传统机器部署有着非常不同的模式。日志存储空间可能要支持横向扩展,可能需要增加存储等。 容器编排 为了让容器可以迅速随着业务扩展和变更迭代,就需要编排系统来统一管理。 选择的编排架构是否和Docker基础架构的其他部分可以很好的适应? 是想使用一个与主流架构相悖的编排架构,还是追随主流呢? Kubernetes目前看来是赢得编排系统的市场。选择非Kubenetes的架构可能需要找出充分的理由。 ![]() 操作系统 企业线上操作系统远落后于最新的版本和最通用的版本。 线上的标准操作系统是否能够支持Docker所有最新功能? 例如,一些编排系统和Docker本身需要的内核版本或软件包可能比所能支持的新很多,这可能是一个非常棘手的问题。 系统软件包管理默认支持的Docker版本是多少? ![]() Docker版本之间可能会存在明显差异(比如,1.10是一个很大的差异),我们需要关注这些差异的细节。发行版提供的Docker(或者说'Moby'版本)之间也存在差异,这个影响很大。比如,RedHat的二进制docker包请求的顺序RedHat的注册表排在Docker Hub之前。 开发 开发环境 开发人员往往会要求系统管理权限。如何控制他们权限? 一个比较好的做法是可以为开发人员提供一个VM,让他们在本地进行Docker构建,或者只运行docker客户端,而将Docker服务端运行在统一服务器上。 他们的客户端是否与部署环境保持一致? 如果他们的桌面上使用的是docker-compose,他们可能会很反感在UAT和生产中切换到Kubernetes pod。 ![]() CI/CD Jenkins是最受欢迎的CI工具,但是还有其他流行的替代方案,例如TeamCity,Gitlab CI等 Docker引入很多开发人员渴望使用的插件。其中很多都没有考虑到安全性,甚至可能与其他插件存在兼容性的问题。 你CI/CD插件的策略是什么? 你准备好开启一大堆新良莠不齐的插件了吗? CI流程是否适合短暂Jenkins实例以及持久的,受支持的实例? ![]() 基础设施 共享存储 Docker的核心是使用独立于运行容器的卷,其中存储持久数据。 共享存储容易配置吗? NFS服务有其局限性,但已经成熟,并且在大型组织中通常得到很好的支持。 共享存储支持是否可以满足业务增加的需求? 是否需要跨部署位置提供共享存储? 你可能拥有多个数据中心和/或云提供商。所有这些地点是否可以互相交互?他们需要交互吗? 网络 企业通常拥有自己喜欢的软件定义网络(SDN)解决方案,如Nuage,或新的方案比如Calico。 你是否有规定的SDN解决方案? 它如何与你选择的解决方案相互作用? SDN交互是否可能会导致出现问题? aPaaS 拥有像OpenShift或Tutum Cloud这样的aPaaS可以通过集中化支持Docker运行的上下文来解决上述许多问题。 你是否考虑过使用aPaaS? 云供应商 如果你使用的是亚马逊或谷歌,阿里云等云提供商: 如何在云供应商上提供镜像和运行容器? 是否希望将Docker解决方案与云供应商的产品联系起来,或者让他们与云供应商无关? 解决方案选择时要注意的事项 有两种方法可以选择。一种方法是使用单个供应商的整体统一架构。还有一种方法是使用多个供应商的各个优势产品,然后拼凑集成为一个企业方案。 (编辑:惠州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |