自定义集群配置文件

尽管安装指南中描述的默认集群配置文件 适用于大多数环境和用例,但您可以根据需要自定义配置文件设置。

集群配置文件用于在创建集群之前定义有关集群的信息,包括集群名称、集群中的节点以及其他平台组件选项。群集文件位于该 ~/.continuum/adam/profile.d/目录中。

集群定义用于标识有关正在运行的集群的信息,包括集群名称、集群中的节点和其他平台组件选项。集群定义位于 ~/.continuum/adam/cluster.d/目录中。

显示所有设置的示例配置文件

位于~/.continuum/adam/profile.d/cluster.yaml具有所有可配置设置的集群配置文件 如下所示:

name: cluster
provider: bare

bare:
  username: centos
  # password: anaconda  # Optional
  port: 22
  keypair: ~/.ssh/my-private-key
  nodes:
  - host: node1.company.com
  - host: node2.company.com
  - host: node3.company.com
  - host: node4.company.com

security:
  flush_iptables: false
  selinux_context: false
  selinux_permissive: false

network:
  http_proxy: http://server:port/
  # https_proxy: http://server:port/

system:
  tmp_dir: /tmp

plugins:
  conda:
    anaconda_hash: md5=d72add23bc937ccdfc7de4f47deff843
    anaconda_url: http://repo.anaconda.com/archive/Anaconda2-4.4.0-Linux-x86_64.sh
    channel_alias: https://conda.anaconda.org/
    channels:
    - defaults
    - anaconda-adam
    conda_canary: false
    enabled: true
    miniconda_hash: md5=7097150146dd3b83c805223663ebffcc
    miniconda_url: http://repo.anaconda.com/miniconda/Miniconda2-4.3.21-Linux-x86_64.sh
    rootdir: /opt/continuum
    ssl_verify: False

  dask:
    bokeh_port: 8787
    bokeh_whitelist: '''*'''
    enabled: false
    host: 0.0.0.0
    http_port: 9786
    nprocs: 1
    port: 8786

  enterprise-notebooks:
    admin_email: admin@yourdomain.com
    admin_password: anaconda
    admin_user: wakari
    directory: /opt/wakari
    elasticsearch_fn: elasticsearch-1.7.2.noarch.rpm
    enabled: false
    enterprise_notebooks_version: 4.0.0
    gateway_port: 8089
    java_fn: jre-8u65-linux-x64.rpm
    mongodb_fn: mongodb-org-2.6.8-1.x86_64.rpm
    mongodb_mongos_fn: mongodb-org-mongos-2.6.8-1.x86_64.rpm
    mongodb_server_fn: mongodb-org-server-2.6.8-1.x86_64.rpm
    mongodb_shell_fn: mongodb-org-shell-2.6.8-1.x86_64.rpm
    mongodb_tools_fn: mongodb-org-tools-2.6.8-1.x86_64.rpm
    mongodb_version: 2.6.8
    nginx_fn: nginx-1.6.2-1.el6.ngx.x86_64.rpm
    root_download_url: https://820451f3d8380952ce65-4cc6343b423784e82fd202bb87cf87cf.ssl.cf1.rackcdn.com/
    user: wakari

  jupyter:
    dashboards_server:
      enabled: false
      ip: 0.0.0.0
      port: 3000
      user: anaconda
    enabled: false
    kernel_gateway:
      enabled: false
      ip: 0.0.0.0
      port: 7000
      user: anaconda
    notebook:
      directory: ~/notebooks
      enabled: false
      ip: 0.0.0.0
      password: 'anaconda'
      port: 8888
      user: anaconda

  repository:
    binstar_server_version: 2.21.0
    channel: main
    email: youremail@anaconda.com
    enabled: false
    mongodb_fn: mongodb-org-2.6.8-1.x86_64.rpm
    mongodb_mongos_fn: mongodb-org-mongos-2.6.8-1.x86_64.rpm
    mongodb_server_fn: mongodb-org-server-2.6.8-1.x86_64.rpm
    mongodb_shell_fn: mongodb-org-shell-2.6.8-1.x86_64.rpm
    mongodb_tools_fn: mongodb-org-tools-2.6.8-1.x86_64.rpm
    mongodb_version: 2.6.9
    password: anaconda
    port: 8080
    root_download_url: https://820451f3d8380952ce65-4cc6343b423784e82fd202bb87cf87cf.ssl.cf1.rackcdn.com/
    server_user: anaconda-server
    superuser: superuser
    token: qu-a49e2e69-1047-4eab-a879-a2ee9c198381

  salt_settings:
    acl:
    - anaconda
    job_pub_port: 14505
    minion_pub_port: 14510
    minion_pull_port: 14511
    minion_ret_port: 14506
    rest_port: 18000
    salt_groupname: anaconda
    salt_password: anaconda
    salt_username: anaconda
    service_scripts: false

集群名称

name设置指定集群的名称,并由-nAnaconda Adam 命令中的选项使用。

示例:要从名为“profile”的配置文件创建名为“cluster”的新集群:

$ adam up -n cluster profile

SSH 认证

要通过 SSH 连接到远程机器,Adam 需要一个有效的用户名、端口(默认为 22)和身份验证方法。Adam 支持以下 SSH 身份验证方法:

  • 密码。
  • 密钥对 - 私钥的完整路径。
  • 加密密钥对 - 公钥和 ssh-agent 的完整路径。必须首先将私钥添加到正在运行的 ssh-agent。使用该agent_pubkey设置指定关联公钥的完整路径。

有关系统和帐户要求的更多信息,请参阅 帐户访问和安全

示例:要使用带有用户名和密码的 SSH:

bare:
  username: centos
  password: anaconda

示例:通过密钥对使用 SSH:

bare:
  username: centos
  keypair: /full/path/to/key.rsa

示例:要使用带有加密密钥对的 SSH:

bare:
  username: centos
  agent_pubkey: /full/path/to/key.pub

节点规范

nodes设置定义了集群中存在的节点。默认情况下,节点列表中的第一个节点定义为头节点,其余节点定义为计算节点。

每个主机必须能够通过指定的 FQDN 或 IP 地址连接到其他主机。

提示:我们建议使用与每台机器上的主机名匹配的节点 FQDN:

例子:

bare:
  nodes:
  - host: node1.company.com
  - host: node2.company.com
  - host: node3.company.com
  - host: node4.company.com

安全设置

这些security设置允许您配置 IPTables 和 SELinux。

要刷新 iptables,请重置flush_iptablestrue. 默认值: false

security:
  flush_iptables: false

要将 SELinux 设置为 permissive,请重置selinux_permissivetrue. 默认值:false

security:
  selinux_permissive: false

要设置 SELinux 上下文,请重置selinux_contexttrue. 默认值: false

security:
  selinux_context: false

网络设置——代理配置

这些network设置允许您将 Adam 安装到通过 HTTP 或 HTTPS 代理访问 Internet 的节点。

要指定 HTTP 代理:

network:
  http_proxy: http://server:port/

注意:替换server:port为实际的服务器和端口。

要指定 HTTPS 代理:

network:
  https_proxy: http://server:port/

注意:替换server:port为实际的服务器和端口。

Conda设置

这些是配置 conda 的默认设置:

conda:
    anaconda_hash: md5=d72add23bc937ccdfc7de4f47deff843
    anaconda_url: http://repo.anaconda.com/archive/Anaconda2-4.4.0-Linux-x86_64.sh
    channel_alias: https://conda.anaconda.org/
    channels:
    - defaults
    - anaconda-adam
    enabled: true
    miniconda_hash: md5=7097150146dd3b83c805223663ebffcc
    miniconda_url: http://repo.anaconda.com/miniconda/Miniconda2-4.3.21-Linux-x86_64.sh
    rootdir: /opt/continuum
    ssl_verify: False

您可以将ssl_verify设置 为:

  • False– 无 SSL 验证 – 默认。
  • True– 使用 SSL 验证并且 conda 验证 SSL 连接的证书。
  • [cert path]– 用于验证 SSL 连接的证书的字符串路径。

盐设置

Salt 是 Adam 使用的配置管理系统。将 salt_settings让你通过配置使用盐的网络选项,访问控制列表和API的用户凭据。

使用以下设置指定 Salt Master、Minions 和 REST API 使用的端口:

plugins:
  salt_settings:
    job_pub_port: 14505
    minion_pub_port: 14510
    minion_pull_port: 14511
    minion_ret_port: 14506
    rest_port: 18000

使用该acl设置指定一个访问控制列表,该列表定义了可以执行 Salt 命令的非 root 系统用户:

plugins:
  salt_settings:
    acl:
    - anaconda

使用以下设置指定在整个集群中创建并拥有位于根安装目录中的目录和文件的用户名、密码和组 - 默认/opt/continuum::

plugins:
  salt_settings:
    salt_username: anaconda
    salt_password: anaconda
    salt_groupname: anaconda

如果不想在集群配置文件或集群定义文件中存储明文密码,请设置salt_password为空字符串:

plugins:
  salt_settings:
    salt_username: anaconda
    salt_password: ''
    salt_groupname: anaconda

在这种情况下,Adam 会在 CLI 中提示输入密码,并且仅在命令或作业期间将密码存储在内存中。

系统设置

tmp_dir设置允许您指定下载临时安装程序的下载目录 - 默认/tmp::

system:
  tmp_dir: /tmp