使用 Ansible 安装和管理 DC/OS

创建和管理您的基础架构以及使用 DC/OS 模块来安装。

我们已将 DC/OS 的生命周期管理分为 4 个角色,以处理 DC/OS 的不同管理方面,例如群集前提条件、bootstrap 任务、管理节点任务、专用代理任务和公共代理任务。关于每个角色的更多信息可见下文:

  • 前提条件 - 此角色处理所有 运行 DC/OS 的要求.
  • GPU - 此角色是对“前提条件”角色的专门添加。它检测 Nvidia GPU 并尝试在 CentOS 系统上安装驱动器。
  • bootstrap - bootstrap 角色处理与将 DC/OS 安装和升级脚本下载、生成和服务于群集中所有节点相关的所有任务。
  • 代理 - 这些任务处理所有适合代理类型的所有升级和安装任务。

使用 [Mesosphere DC/OS Ansible 角色官方的 Ansible Galaxy]下载。().

注意:DC/OS Ansible 角色目前仅适用于 CentOS 和 RHEL 平台。

要使用该脚本部署基础架构:

  1. 创建一个新文件夹
  2. 将上述脚本复制到名为 main.tf 的文件
  3. 初始化 Terraform:terraform init
  4. 使用 Terraform 应用部署基础架构

最终输出应该如下所示:

如需了解如何将 Terraform 用作部署管理器的更多信息,请访问 Universal 安装工具页面.

  1. source = "dcos-terraform/dcos-ansible-bridge/local_file"
  2. version = "~> 0.1.0"
  3. bootstrap_ip = "${module.dcos-infrastructure.bootstrap.public_ip}"
  4. master_ips = ["${module.dcos-infrastructure.masters.public_ips}"]
  5. bootstrap_private_ip = "${module.dcos-infrastructure.bootstrap.private_ip}"
  6. master_private_ips = ["${module.dcos-infrastructure.masters.private_ips}"]
  7. }
  8. module "dcos-infrastructure" {
  9. version = "~> 0.1.0"
  10. [...]
  11. }

这将生成一个本地 hosts 文件,它是一个 Ansible 兼容的清单文件,可用于告知 Ansible 通用安装工具创建的群集节点。它还将生成一个 Ansible 兼容的主机变量文件 ,该文件将由群集引导程序和管理节点地址填充。然后可以使用这两个文件来调用针对群集的任何 Ansible playbook,例如 ,从而将角色铺展到其相应的节点。

Mesosphere 支持使用可用于自动化 DC/OS 安装、升级和配置本地设置的 Ansible。Mesosphere 提供的 Ansible 角色Mesosphere DC/OS 系统要求的任何设置 并与 CentOS/RHEL 一起运行。

使用 时,它将自动检测 NVIDIA GPU 硬件并尝试安装适当的驱动程序。这种方法尝试在没有任何重启的情况下起作用 - GPU 角色识别当前使用的内核,并尝试从当前基础存储库或从 Centos Vault 保管存储库获取其标头文件。如果您有自定义内核在使用,则这可能会失败。在这种情况下,我们恳请您不要使用该模块,只需在您的 Playbook 中将其注释掉并自行处理驱动程序的安装即可。一旦安装驱动程序且 CUDA 库可用,DC/OS 代理将自动提供 GPU 资源。提示:请确保安装驱动程序后在进行 DC/OS 安装。_

DC/OS Ansible 常见问题和故障排除

使用 DC/OS Ansible 时经常问的问题和常见问题