自定义集群配置文件¶
尽管安装指南中描述的默认集群配置文件 适用于大多数环境和用例,但您可以根据需要自定义配置文件设置。
集群配置文件用于在创建集群之前定义有关集群的信息,包括集群名称、集群中的节点以及其他平台组件选项。群集文件位于该
~/.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
设置指定集群的名称,并由-n
Anaconda 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_iptables
为true
. 默认值:
false
。
security:
flush_iptables: false
要将 SELinux 设置为 permissive,请重置selinux_permissive
为true
. 默认值:false
。
security:
selinux_permissive: false
要设置 SELinux 上下文,请重置selinux_context
为true
. 默认值:
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 中提示输入密码,并且仅在命令或作业期间将密码存储在内存中。