管理容器

Citrix Hypervisor 包含以下功能,用于增强 Citrix Hypervisor 上的 Docker 容器的部署:

  • 支持 CoreOS Linux VM 和配置云配置驱动器
  • 面向 CoreOS、Debian 8、Ubuntu 14.04 和 RHEL/CentOS/Oracle Linux 7 的容器管理功能
  • Windows Server 2016 上面向 Windows Server 容器的容器管理功能

CoreOS 是精简版 Linux 分发包,已普遍用于托管 Docker™ 应用程序。CoreOS 云配置驱动器允许用户自定义各种操作系统配置选项。如果在 VM 上启用了容器管理,Citrix Hypervisor 将能够识别 VM 中运行的任何 Docker 容器。

您应安装可从 Citrix Hypervisor 下载页面下载的容器管理补充包,以使 Citrix Hypervisor 能够执行以下操作:

  • 查询要与云配置驱动器交互的 VM
  • 发现每个 VM 上运行的应用程序容器并在 XenCenter 的“基础结构”视图中显示这些容器

XenCenter 可以实现与容器的交互,允许用户执行容器生命周期操作、访问容器控制台和查看日志,以及提供其他性能监控和诊断功能。但是,您必须符合网络要求部分所述的要求,才能使用 XenCenter 管理容器。

网络要求

托管 VM 必须能够从 Citrix Hypervisor 控制域 (dom0) 进行访问,容器管理功能才可使用。网络拓扑和防火墙必须允许从 dom0(Citrix Hypervisor 管理接口)到容器托管的 VM(VM 网络)的出站 SSH(TCP 端口 22)或 Docker TLS(TCP 端口 2376)连接,具体取决于来宾操作系统。

重要: 有关容器管理网络要求和安全性的详细信息,请参阅容器管理

使用 XenCenter 管理 Docker 容器(适用于 CoreOS VM)

  1. 安装您要使用的 Citrix Hypervisor 或 XenServer 版本随附的 XenCenter Build 或更高版本。
  2. 安装容器管理补充包。
  3. 创建 CoreOS VM 并将该 VM 的配置驱动器包括在内。有关配置驱动器的详细信息,请参阅云配置参数
  4. 为 VM 启用容器管理。可以在 VM 的属性选项卡中更新此设置。有关详细信息,请参阅更改 VM 属性

如果您希望使用 Ubuntu 14.04、Debian 8、RHEL/CentOS/Oracle Linux 7、Windows Server 2016 VM 来管理 Docker 容器,应先使用 CLI 启用容器管理。在这些 VM 上启用容器管理后,可以使用 XenCenter 执行生命周期操作,例如启动、停止、暂停和恢复容器。

有关为容器管理配置 Ubuntu 14.04、Debian 8、RHEL/CentOS/Oracle Linux 7、Windows Server 2016 VM 的信息,请参阅容器管理

访问 Docker 容器控制台和日志

对于 Linux VM,XenCenter 允许客户访问容器控制台和查看日志,从而管理和监控在 Docker 容器上运行的应用程序。访问容器控制台和日志:

  1. 在“资源”窗格中选择容器。
  2. 容器的常规属性部分,单击查看控制台查看容器控制台。要查看控制台日志,请单击查看日志

    此时将在运行 XenCenter 的计算机上打开 SSH 客户端。

  3. 出现提示时,使用 VM 用户名和密码登录 SSH 客户端。

    注意: 客户可以通过配置 SSH 公钥/私钥来自动完成身份验证过程。有关详细信息,请参阅自动完成身份验证过程

自动完成身份验证过程(可选)

访问容器控制台和日志时,客户需要输入 VM 的登录凭据才能验证 SSH 连接。但是,客户可以自动完成身份验证过程,以免手动输入凭据。按照以下说明配置自动身份验证过程:

  1. 生成公钥/私钥对。
  2. 将 SSH 公钥添加到运行容器的 VM 的用户目录。

    例如,对于在 CoreOS VM 中运行的容器,公钥应添加到 XenCenter 的 VM 常规选项卡的云配置参数部分。有关详细信息,请参阅云配置参数。对于 Ubuntu 14.04、RHEL/CentOS/Oracle Linux 7 和 Debian 8,公钥应手动添加到 ~/.ssh/authorized_keys。

  3. 将 SSH 私钥添加到运行 XenCenter 的计算机上的 %userprofile% 目录,并将该密钥重命名为 ContainerManagement.ppk。

管理容器