Docker企业版
预计阅读时间: 6分钟Docker Enterprise平台是领先的容器平台,可进行持续的高速创新。Docker是唯一的独立容器平台,使开发人员能够无缝构建和共享任何应用程序(从传统到现代),并允许操作员在混合云到边缘的任何地方安全地运行它们。
Docker Enterprise是一个安全,可扩展且受支持的容器平台,用于跨多租户Linux,Windows Server 2016和Windows Server 2019构建和协调应用程序。
Docker Enterprise支持使用Docker Kubernetes Service或Docker Swarm部署高可用性工作负载。Docker Enterprise可以自动执行编排所需的许多任务,例如供应Pod,容器和集群资源。自我修复组件可确保Docker Enterprise集群保持高可用性。
基于角色的访问控制(RBAC)适用于Kubernetes和Swarm协调器,并且群集内的通信使用TLS进行保护。 Docker Content Trust对所有协调器上的映像都强制执行。
Docker Enterprise包含Docker集群管理解决方案Docker Universal Control Plane(UCP)。UCP可以安装在本地或您选择的公共云中,并通过单个界面帮助管理集群和应用程序。
Docker Enterprise功能
Docker Enterprise使用Docker Kubernetes服务和Docker Swarm编排器提供了多架构编排。Docker Enterprise通过基于策略的映像升级,注册表之间的映像镜像(包括Docker Hub)以及对容器映像的签名和扫描实施来实现安全的软件供应链。
Docker Kubernetes服务
Docker Kubernetes服务完全支持Docker Enterprise的所有功能,包括基于角色的访问控制,LDAP / AD集成,图像扫描和签名实施策略以及安全策略。
Docker Kubernetes服务功能包括:
- Kubernetes业务流程全功能集
- CNCF认证的Kubernetes一致性
- 通过UCP Web UI或CLI部署Kubernetes应用程序(
kubectl
) - 组成Swarm和Kubernetes应用程序的
docker stack deploy
(dockerdocker stack deploy
) - Kubernetes工作负载的基于角色的访问控制
- 蓝绿色部署,用于负载均衡到不同的应用程序版本
- 具有Kubernetes L7路由的入口控制器
- Pod安全策略,用于定义Pod必须运行的一组条件才能被系统接受
- 注意:Pod安全策略目前在Kubernetes 1.14中处于
Beta
状态
- 注意:Pod安全策略目前在Kubernetes 1.14中处于
- 容器存储接口(CSI)支持
- iSCSI对Kubernetes的支持
- 无中断Docker Enterprise平台升级(蓝绿色升级)
- 实验性功能(计划在后续的Docker Enterprise版本中使用完整GA):
- Kubernetes本地入口(Istio)
此外,UCP通过使用准入控制器与Kubernetes集成,该控制器可以:
- 直接与Kubernetes API服务器通信时验证用户客户端捆绑证书
- 通过基于UCP角色的访问控制模型授权请求
- 通过通过准入控制自动将
NodeSelector
注入工作负载来将节点分配给名称空间 - 将所有节点都保留在Kubernetes和Swarm Orchestrator清单中
- 没有
PodSecurityPolicy
准入控制器的细粒度访问控制和权限提升预防 - 自动解析已部署工作负载的映像,并基于UCP的签名策略功能接受或拒绝映像
Docker Enterprise的默认安装包括集群中的Kubernetes和Swarm组件,因此每个新加入的工作节点都可以调度Kubernetes或Swarm工作负载。
编排平台功能
- Docker Enterprise Manager节点既是Swarm管理器又是Kubernetes主节点,以实现高可用性
- 为Swarm或Kubernetes工作负载分配工作节点(或两者)
- 单窗格玻璃,用于监视应用程序
- 具有Interlock 2.0的增强型Swarm主机名路由网格
- 一个平台范围的管理平面:安全的软件供应链,安全的多租户以及安全且高度可用的节点管理
安全供应链
- 基于CNAB规范的Docker App格式的DTR支持
- 注意:Docker Apps可以部署到由UCP管理的集群中,它们将在其中显示为堆栈
- 图像签名和Kubernetes和Swarm图像以及Docker Apps的扫描以验证和验证内容
- 通过注册中心和Docker Hub之间的镜像进行图像升级
- 定义策略以在Kubernetes和Swarm应用程序的整个应用程序开发生命周期中自动执行图像促销
集中式集群管理
使用Docker,您可以将数千个物理机或虚拟机连接在一起以创建集群,从而允许您大规模部署应用程序。Docker Enterprise扩展了Docker Engine提供的功能,使从集中位置管理集群变得更加容易。
您可以使用图形Web界面管理和监视容器集群。
部署,管理和监控
使用Docker Enterprise,您可以从中央控制台管理所有可用的基础架构资源,例如节点,卷和网络。
您还可以部署和监视您的应用程序和服务。
内置安全性和访问控制
Docker Enterprise拥有自己的内置身份验证机制和基于角色的访问控制(RBAC),因此您可以控制哪些人可以访问群集和应用程序并对其进行更改。此外,Docker Enterprise身份验证与LDAP服务集成,并支持SAML SCIM主动与身份验证提供程序同步。 了解有关基于角色的访问控制 。您还可以选择启用PKI身份验证以使用客户端证书,而不是用户名和密码。
Docker Enterprise与Docker Trusted Registry集成在一起,因此您可以将用于应用程序的Docker映像保留在防火墙之后,在该防火墙中它们是安全的并且不会被篡改。您还可以实施安全策略,仅允许运行使用您知道并信任的Docker映像的应用程序。
Windows应用程序安全性
Windows应用程序通常需要Active Directory身份验证才能与网络上的其他服务进行通信。基于容器的应用程序使用组托管服务帐户(gMSA)提供此身份验证。Docker Swarm完全支持在Windows容器中使用gMSA。
Docker Enterprise和CLI
Docker Enterprise公开了标准的Docker API,因此您可以继续使用包括Docker CLI客户端在内的已知工具来部署和管理应用程序。
例如,您可以使用docker info
命令来检查由Docker Enterprise管理的Swarm的状态:
docker info
产生类似于以下内容的输出:
Containers: 38
Running: 23
Paused: 0
Stopped: 15
Images: 17
Server Version: 17.06
...
Swarm: active
NodeID: ocpv7el0uz8g9q7dmw8ay4yps
Is Manager: true
ClusterID: tylpv1kxjtgoik2jnrg8pvkg6
Managers: 1
…
使用Kubernetes CLI
Docker Enterprise公开了标准的Kubernetes API,因此您可以使用kubectl来管理Kubernetes工作负载 :
kubectl cluster-info
产生类似于以下内容的输出:
Kubernetes master is running at https://54.200.115.43:6443
KubeDNS is running at https://54.200.115.43:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
Docker上下文
客户端版本19.03.0中提供了一个名为docker docker context
新Docker CLI插件。 docker context
帮助管理与多个环境的连接,因此您不必记住和键入连接字符串。阅读有关docker context
更多信息。