- 配置参考
- 配置参数
- 群集设置
- 网络
- 存储
- 性能和微调
- 安全和身份认证
- 度量标准
- 参数描述
- adminrouter_auth_cache_enabled Enterprise
- adminrouter_tls_1_0_enabled Enterprise
- aws_template_storage_access_key_id
- aws_template_storage_bucket
- aws_template_storage_bucket_path
- aws_template_storage_region_name
- aws_template_storage_secret_access_key
- aws_template_upload
- bootstrap_url
- bouncer_expiration_auth_token_days Enterprise
- ca_certificate_path Enterprise
- ca_certificate_key_path Enterprise
- ca_certificate_chain_path Enterprise
- cluster_docker_credentials
- cluster_docker_registry_url
- cluster_name
- cosmos_config
- custom_checks
- enable_mesos_input_plugin
- exhibitor_storage_backend
- enable_gpu_isolation
- fault_domain_enabled Enterprise
- feature_dcos_storage_enabled Enterprise
- gc_delay
- gpus_are_scarce
- iam_ldap_sync_interval Enterprise
- ip_detect_public_filename
- license_key_contents Enterprise
- log_directory
- log_offers
- master_discovery
- master_dns_bindall
- master_external_loadbalancer Enterprise
- mesos_agent_work_dir Open Source
- mesos_container_log_sink
- zk_super_credentials Enterprise
- zk_master_credentials Enterprise
- zk_agent_credentials Enterprise
配置参考
DC/OS Enterprise 和 DC/OS 开源可用的配置参数
配置参数
本页包含 DC/OS Enterprise 和 DC/OS 开源的配置参数。
群集设置
参数 | 描述 |
---|---|
agent_list | 专用代理 主机名的 IPv4 地址的 YAML 嵌套列表 (- )。 |
aws_template_storage_access_key_id | 拥有 AWS S3 bucket 的账户的 访问密钥 ID。 |
aws_template_storage_bucket | 包含 自定义高级 AWS 模板 的 S3 bucket 的名称。 |
aws_template_storage_bucket_path | S3 bucket 内模板工件存储位置的路径。 |
aws_template_storage_region_name | 包含 S3 bucket 的分域。 |
aws_template_storage_secret_access_key | 拥有 AWS S3 bucket 的账户的 秘密访问密钥。 |
aws_template_upload | 是否将自定义高级 AWS 模板上传到 S3 bucket。 |
bootstrap_url | (必填)DC/OS 安装工具存储自定义 DC/OS 构建文件的 URI 路径。 |
cluster_docker_credentials | 要传递给 Docker 的词典。 |
cluster_docker_credentials_enabled | 是否传递 Mesos —docker_config 选项给 Mesos。 |
cluster_docker_registry_url | Mesos 用来从其拉取 Docker 镜像的自定义 URL。如果从默认值更改,您需要将本地 Catalog 导入到您的 Docker 注册表,因为您不能访问 DockerHub 来拉取我们的图像。参见 部署本地 Catalog 和使用专用 Docker 注册表。 |
cluster_name | 群集的名称。 |
cosmos_config | 传递给 DC/OS 包管理器 (Cosmos) 的包配置词典。 |
custom_checks | 添加到默认检查配置进程的自定义安装检查。 |
exhibitor_storage_backend | 用于 Exhibitor 的存储后端类型。 |
enable_gpu_isolation | 指示是否在 DC/OS 中启用 GPU 支持。 |
fault_domain_enabled | 默认情况下,故障域感知已启用,安装工具将预期来自 故障检测脚本 的分区和区域的输入。要覆盖此功能,请设置为 false ,将不会预期或使用故障域信息。Enterprise |
gpus_are_scarce | 指示是否将 GPU 作为群集中的稀缺资源。 |
ip_detect_public_filename | 要在群集中使用的 IP 检测文件。 |
log_offers | 表示领先的 Mesos 管理节点是否应记录发送给调度器的邀约。默认值为真。 |
master_discovery | (必填)Mesos 管理节点发现方法。 |
master_external_loadbalancer | 负载均衡器的 DNS 名称或 IP 地址。 Enterprise |
mesos_container_log_sink | 容器(任务)的日志管理器。 |
mesos_seccomp_enabled | 指出是否对 UCR 容器启用 Seccomp 支持。 |
mesos_seccomp_profile_name | 默认 Seccomp 配置文件的名称。 |
platform | 基础架构平台。 |
public_agent_list | 公共代理 - 主机名的 IPv4 地址的 YAML 嵌套列表(。 |
rexray_config | 在 Marathon 中启用外部持久卷的 REX-Ray 配置方法。不能同时指定 rexray_config 和 rexray_config_preset 。 |
rexray_config_preset | 如果您在 AWS 上运行 DC/OS,将此参数设置为 aws ,请将 rexray_config 参数设置为与 DC/OS 本身捆绑的合理默认 REX-Ray 配置。不能同时指定 rexray_config 和 rexray_config_preset 。 |
网络
参数 | 描述 |
---|---|
dcos_net_cluster_identity | 此功能可确保群集中的节点具有唯一标识符,以防群集之间发生未经授权的“交互”。默认值为 false |
dcos_overlay_enable | 指定是否启用 DC/OS 虚拟网络的参数模块。 |
dns_bind_ip_blacklist | 无法绑定 DC/OS DNS 解析程序的 IP 地址列表。 |
dns_forward_zones | 配置 DNS 查询自定义转发行为的 DNS 分区、IP 地址 和端口的嵌套列表。 |
dns_search | 输入不合格域时尝试的域列表(以空格隔开)。 |
master_dns_bindall | 指示管理节点 DNS 端口是否打开。 |
mesos_dns_set_truncate_bit | 指示在响应过大而无法放入单个数据包时,是否设置截断数位。 |
resolvers | DC/OS 群集节点 DNS 解析器 的 YAML 嵌套列表(- )。 |
use_proxy | 指出是否启用 DC/OS 代理。 |
enable_ipv6 | 布尔值,表示 IPv6 网络支持是否在 DC/OS 中可用。默认值为 true 。 |
dcos_l4lb_enable_ipv6 | 指示第 4 层负载均衡是否可用于 IPv6 网络的布尔值。该参数仅在 enable_ipv6 设置为 true 时生效。默认值为 false 。 |
dcos_ucr_default_bridge_subnet | 分配给 mesos-bridge CNI 网络,供 UCR 构建桥接模式网络的 IPv4 子网。 |
network_cni_root_dir_persist | 一个指定在主机重启期间是否使 CNI 根目录持久化的布尔值。默认值为 false 。如果将此配置选项设置为 true ,CNI 根目录创建于 work dir 。将此选项设置为 true ,以允许 CNI 隔离器在重启主机节点之后进行正确的清理。注意:必须重启主机才能生效。 |
[企业]
存储
[/enterprise]
参数 | 描述 |
---|---|
feature_dcos_storage_enabled | 一个标记,设定后将启用 DC/OS 中的高级存储功能,包括 Mesos CSI 支持和预安装的 CSI 设备插件。此功能标志需要打开才能使用 DC/OS 存储服务 (DSS) Enterprise |
性能和微调
参数 | 描述 |
---|---|
docker_remove_delay | 在 Mesos 将 docker 容器(即 docker rm )视为终止后删除该容器之前的等待时间。 |
dcos_audit_logging | 指出是否为 Mesos、Marathon 和作业记录安全决策(身份认证、授权)。 Enterprise |
enable_docker_gc | 指示是否运行 docker-gc 脚本,一个简单的 Docker 容器和镜像垃圾回收脚本,每小时清理一次失散的 Docker 容器。 |
gc_delay | 清理执行器目录前等待的最长时间。 |
log_directory | SSH 进程中安装工具主机日志的路径。 |
mesos_max_completed_tasks_per_framework | Mesos 管理节点在内存中保留的每个框架的完成任务数。 |
process_timeout | 在进程分叉之后等待开始操作所允许的最大时间(以秒为单位)。 |
安全和身份认证
Enterprise
参数 | 描述 |
---|---|
adminrouter_auth_cache_enabled | 控制是否启用 Admin Router 授权缓存。 Enterprise |
adminrouter_tls_1_0_enabled | 指出是否在 Admin Router 中启用 TLSv1 支持。 Enterprise |
adminrouter_tls_1_1_enabled | 指出是否在 Admin Router 中启用 TLSv1.1 支持。 Enterprise |
adminrouter_tls_1_2_enabled | 指出是否在 Admin Router 中启用 TLSv1.2 支持。 Enterprise |
adminrouter_tls_cipher_suite | 覆盖 Admin Router 中的默认 TLS 密码套件。 Enterprise |
adminrouter_x_frame_options | 设置 X-Frame-Options DC/OS UI 的标头值。默认设置为 DENY |
auth_cookies_secure_flag | 指示是否允许 Web 浏览器通过非 HTTPS 连接发送 DC/OS 身份认证 Cookie。 Enterprise |
bouncer_expiration_auth_token_days | 设置身份和访问管理的授权令牌生存时间值 (TTL)。 Enterprise |
ca_certificate_path | 使用此功能设置自定义 CA 证书。参见 使用自定义 CA 证书 页面,获取详细的配置参数参考。 Enterprise |
ca_certificate_key_path | 使用此功能设置自定义 CA 证书。参见 使用自定义 CA 证书 页面,获取详细的配置参数参考。 Enterprise |
ca_certificate_chain_path | 使用此功能设置自定义 CA 证书。参见 使用自定义 CA 证书 页面,获取详细的配置参数参考。 Enterprise |
license_key_contents | 可选覆盖参数,以直接在 config.yaml 中提供许可证密钥内容。如果指定了此参数,则任何已保存至 genconf/license.txt 的密钥将被忽略。 Enterprise |
iam_ldap_sync_interval | LDAP 同步操作之间的间隔时间(以秒为单位)。 Enterprise |
permissions_cache_ttl_seconds | 权限更改在整个系统中传播的最大秒数。Enterprise |
security | 安全模式:宽容或严格。 Enterprise |
ssh_key_path | 安装工具用来登录到目标节点的路径。 |
ssh_port | SSH 的端口,例如 22。 |
ssh_user | SSH 的用户名,例如 centos 。 |
superuser_password_hash | 必填 - 带井号的超级用户密码。 Enterprise |
superuser_service_account_public_key | 用于认证超级用户服务账户的公钥。 |
superuser_service_account_uid | 超级用户服务账户的用户 ID |
superuser_username | 必填 - 超级用户的用户名。 Enterprise |
telemetry_enabled | 指示是否为群集启用匿名数据共享。 |
zk_super_credentials | ZooKeeper 超级用户凭据。 Enterprise |
zk_master_credentials | ZooKeeper 管理节点凭据。 Enterprise |
zk_agent_credentials | ZooKeeper 代理节点凭据。 Enterprise |
Open Source
参数 | 描述 |
---|---|
oauth_enabled | 指出是否为群集启用身份认证。 Open Source |
ssh_key_path | 安装工具用来登录到目标节点的路径。 |
ssh_port | SSH 的端口,例如 22。 |
ssh_user | SSH 的用户名,例如 centos 。 |
superuser_service_account_uid | 超级用户服务账户的用户 ID |
superuser_service_account_public_key | 用于认证超级用户服务账户的公钥 |
telemetry_enabled | 指示是否为群集启用匿名数据共享。 |
度量标准
参数 | 描述 |
---|---|
enable_mesos_input_plugin | 指示是否启用 Telegraf 的 Mesos 输入插件以从 Mesos 管理节点和代理节点收集 Mesos 度量标准。默认值为 true 。 注意: DC/OS 1.13 默认支持 Mesos 输入插件。 |
参数描述
adminrouter_auth_cache_enabled Enterprise
控制 Admin Router 授权缓存的启用。
adminrouter_auth_cache_enabled: false
Admin Router 执行的每项授权检查都将从 IAM 加载用户的权限。adminrouter_auth_cache_enabled: true
(默认)Admin Router 将在执行授权检查后 5 秒内缓存用户的权限。
adminrouter_tls_1_0_enabled Enterprise
指示是否在 Admin Router 中启用 TLS 1.0。更改此设置对代理节点上的内部 Admin Router 配置没有影响。
adminrouter_tls_1_0_enabled: 'true'
在 Admin Router 中启用 TLS 1.0 协议。adminrouter_tls_1_0_enabled: 'false'
在 Admin Router 中禁用 TLS 1.0 协议。这是默认值。
adminrouter_tls_1_0_enabled
参数设置为所需值。
### adminrouter_tls_1_1_enabled Enterprise
指示是否在 Admin Router 中启用 TLS 1.1。更改此设置对代理节点上的内部 Admin Router 配置没有影响。
adminrouter_tls_1_1_enabled: 'true'
在 Admin Router 中启用 TLS 1.1 协议。这是默认值。adminrouter_tls_1_1_enabled: 'false'
在 Admin Router 中禁用 TLS 1.1 协议。
adminrouter_tls_1_1_enabled
参数设置为所需值。
### adminrouter_tls_1_2_enabled Enterprise
指示是否在 Admin Router 中启用 TLS 1.2。更改此设置对代理节点上的内部 Admin Router 配置没有影响。
adminrouter_tls_1_2_enabled: 'true'
在 Admin Router 中启用 TLS 1.2 协议。这是默认值。adminrouter_tls_1_2_enabled: 'false'
在 Admin Router 中禁用 TLS 1.2 协议。
adminrouter_tls_1_2_enabled
参数设置为所需值。
### adminrouter_tls_cipher_suite Enterprise
提供 TLS 密码套件的自定义列表。该值将直接传递到 Admin Router 的 ssl_ciphers
配置指令中。此字符串没有验证。设置错误将导致 DC/OS 安装失败。此配置设置仅影响在 DC/OS 管理节点上运行的 Admin Router 。
如果未提供值,则使用默认值 EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
。
要验证所提供值的准确性,请使用 openssl ciphers
实用程序并提供您自己的值:openssl ciphers <cipher-suites>
。如需所有可用密码的列表,请参阅 OpenSSL 文档。
注意: 由于 Java 管辖区限制,不能仅使用 AES256 加密套件安装 DC/OS。
### adminrouter_x_frame_options
设置 X-Frame-Options
DC/OS UI 的标头值。默认设置为 DENY
。
### agent_list
专用代理-
主机名的 IPv4 地址的 YAML 嵌套列表。
### auth_cookie_secure_flag Enterprise
指示是否允许 Web 浏览器通过非 HTTPS 连接发送 DC/OS 身份认证 Cookie。DC/OS 身份认证 cookie 允许访问 DC/OS 群集,应通过加密连接发送。
-
auth_cookie_secure_flag: false
(默认)浏览器将通过未加密的 HTTP 连接或加密的 HTTPS 连接发送 DC/OS 身份认证 Cookie。 -
auth_cookie_secure_flag: true
DC/OS 设置的身份认证 Cookie 将包含Secure
标记,指示浏览器不在未加密的 HTTP 连接上发送 Cookie。这可能导致身份认证在下列情况下失败。- 如果安全模式是
permissive
,URL 就会指定 HTTP 和 URL 包括与根路径不同的目标(例如,http://<cluster-url>/<path>/
) - 在浏览器和终止 TLS 的 DC/OS 之间有代理
- 如果安全模式是
aws_template_storage_access_key_id
拥有 AWS S3 bucket 的账户的 访问密钥 ID。
aws_template_storage_bucket
包含 自定义高级 AWS 模板 的 s3 bucket 的名称。
aws_template_storage_bucket_path
S3 bucket 内模板工件存储位置的路径。
aws_template_storage_region_name
包含 S3 bucket 的分域。
aws_template_storage_secret_access_key
拥有 AWS S3 bucket 的账户的 秘密访问密钥。
aws_template_upload
是否将自定义高级 AWS 模板上传到 S3 bucket。
bootstrap_url
(必填)DC/OS 安装工具用于存储自定义 DC/OS 构建文件的 URL 路径。如果正在使用自动化 DC/OS 安装工具,则应指定 bootstrap_url: file:///opt/dcos_install_tmp
,除非已经移动安装工具的 assets。自动化 DC/OS 安装工具默认将构建文件放置于 file:///opt/dcos_install_tmp
。
bouncer_expiration_auth_token_days Enterprise
此参数设置了认证令牌生存时间值 (TTL) ,用于身份和访问管理。必须指定 YAML 字符串中包裹的 Python 浮动语法的值。令牌默认在五天后到期。例如,要将令牌寿命设置为半天:
bouncer_expiration_auth_token_days: '0.5'
较小的过期时间可能对 DC/OS 组件有害。我们建议此值设置为不低于 0.25。如果您希望使用更低的值,请联系 Mesosphere 支持代表以获得指导。
如需更多信息,请参阅 安全 文档。
ca_certificate_path Enterprise
使用此路径设置自定义 CA 证书。参见 使用自定义 CA 证书 页面,获取详细的配置参数参考。
ca_certificate_key_path Enterprise
使用此路径设置自定义 CA 证书。参见 使用自定义 CA 证书 页面,获取详细的配置参数参考。
ca_certificate_chain_path Enterprise
使用此路径设置自定义 CA 证书。参见 使用自定义 CA 证书 页面,获取详细的配置参数参考。
cluster_docker_credentials
要传递给 Docker 的词典。
- 如果未在 DC/OS 安装期间设置,就会在
/etc/mesosphere/docker_credentials
创建默认的空凭据文件。sysadmin 可根据需要更改凭据。systemctl restart dcos-mesos-slave
或systemctl restart dcos-mesos-slave-public
需要更改才能生效。 - 您也可以使用
—docker_config
JSON 格式。您可以在config.yaml
文件中将其作为 YAML 写入,之后它会自动映射到 JSON 格式。这样就会把 Docker 凭据存储在与 DC/OS 内部配置(/opt/mesosphere
)相同的位置。如需更新或更改配置,就必须创建新的 DC/OS 内部配置。
cluster_docker_credentials
只有在cluster_docker_credentials_enabled
设置为'true'
之后才能生效。- 升级期间,
cluster_docker_credentials
只有在将cluster_docker_credentials_dcos_owned
设置为'true'
后才能生效。
cluster_docker_credentials_dcos_owned
指示是否将凭据文件存储在/opt/mesosphere
或/etc/mesosphere/docker_credentials
中。sysadmin 无法直接编辑/opt/mesosphere
。cluster_docker_credentials_dcos_owned: 'true'
凭据文件存储在/opt/mesosphere
中。cluster_docker_credentials_write_to_etc
是否写入群集凭据文件。cluster_docker_credentials_write_to_etc: 'true'
写入凭据文件。该操作在覆盖凭据文件时产生问题(例如,如果文件含在机器图像或 AMI 中)的时候很实用。这是默认值。cluster_docker_credentials_write_to_etc: 'false'
请勿写入凭据文件。
cluster_docker_credentials_dcos_owned: 'false'
凭据文件存储在/etc/mesosphere/docker_credentials
中。
—docker_config
的 Mesos cluster_docker_credentials
选项。
cluster_docker_credentials_enabled: 'true'
请传递 Mesos 的—docker_config
选项给 Mesos。它将指向包含所提供cluster_docker_credentials
数据的文件。cluster_docker_credentials_enabled: 'false'
请勿传递 Mesos的—docker_config
选项给 Mesos。
cluster_docker_registry_url
Mesos 用于拉取 Docker 镜像的自定义 URL。设置后将把 Mesos 的 —docker_registry
标记配置到指定 URL。这将更改 Mesos 用于拉取 Docker 镜像的默认 URL。默认使用 https://registry-1.docker.io
。如果从默认值更改,您需要将本地 Catalog 导入到您的 Docker 注册表,因为您不能访问 DockerHub 来拉取我们的图像。参见 部署本地 Catalog 和使用专用 Docker 注册表 获取更多信息。
cluster_name
群集的名称。
cosmos_config
要传递给 DC/OS 包管理器 的打包配置词典。设置后,还必须指定以下选项。
package_storage_uri
永久存储 DC/OS 包的位置。值必须是一个文件 URL,例如file:///var/lib/dcos/cosmos/packages
。staged_package_storage_uri
添加 DC/OS 包时,临时存储包的位置。值必须是一个文件 URL,例如file:///var/lib/dcos/cosmos/staged-packages
。
custom_checks
添加到默认检查配置进程的自定义安装检查。配置用于 DC/OS 诊断组件 执行安装和升级检查。在安装和升级期间,这些自定义检查与默认的启动前和启动后检查一起运行。
-
cluster_checks
- 这组参数指定整个 DC/OS 群集的运行状况检查。<check-name>
- 运行状况检查的自定义名称description
- 指定检查说明cmd
- 指定运行状况检查命令字符串的阵列timeout
- 指定在认定检查失败之前需等待(以秒为单位)的时间。超时的检查通常状态为3 (UNKNOWN)
-
node_checks
- 这组参数指定节点运行状况检查。<check-name>
- 运行状况检查的自定义名称description
- 指定检查说明cmd
- 指定运行状况检查命令字符串的阵列timeout
- 指定在认定检查失败之前需等待(以秒为单位)的时间。超时的检查通常状态为3 (UNKNOWN)
'dcos_audit_logging': 'true'
Mesos、Marathon 和作业已记录。这是默认值。'dcos_audit_logging': 'false'
Mesos、Marathon 和作业未记录。
dcos_l4lb_enable_ipv6: 'false'
请为 IPv6 容器禁用 第 4 层负载均衡。这是默认值。dcos_l4lb_enable_ipv6: 'true'
请为 IPv6 容器启用第 4 层负载均衡。
false
。
### dcos_overlay_enable
指示是否启用 DC/OS 虚拟网络。
注意: 虚拟网络需要 Docker 1.12 或更高版本,但如果您使用 Docker 1.12 或更早版本,则必须指定 dcos_overlay_enable: 'false'
。如需更多信息,请参阅 系统要求。
-
dcos_overlay_enable: 'false'
请勿启用 DC/OS 虚拟网络。 -
dcos_overlay_enable: 'true'
请启用 DC/OS 虚拟网络。这是默认值。启用虚拟网络后,您还可以指定以下参数:-
dcos_overlay_config_attempts
指定配置尝试失败多少次之后,覆盖配置模块才会停止配置虚拟网络。 注意: 故障可能与功能异常的 Docker 守护程序有关。 -
dcos_overlay_mtu
在覆盖层上启动的容器中,虚拟以太网 (Veth) 的最大传输单元 (MTU)。 -
dcos_overlay_network
这组参数定义 DC/OS 的虚拟网络。DC/OS 的默认配置提供了名为dcos
的虚拟网络,具有以下 YAML 配置:dcos_overlay_network:
vtep_subnet: 44.128.0.0/20
vtep_mac_oui: 70:B3:D5:00:00:00
overlays:
- name: dcos
subnet: 9.0.0.0/8
prefix: 26
-
vtep_subnet
用于虚拟网络 VxLAN 后端的专用地址空间。无法从代理或管理节点外部访问此地址空间。 -
vtep_mac_oui
连接到公共节点中虚拟网络接口的 MAC 地址。注意: 最后三个字节必须为00
。 -
overlays
name
典型名称(参见 限制,了解有关命名虚拟网络的限制)。subnet
分配给虚拟网络的子网。prefix
分配给每个代理的子网大小,进而定义覆盖网络可运行的代理的数量。子网的大小在来自覆盖子网。
-
ucr-br0
CNI 网络创建的桥接 mesos-bridge
。mesos-bridge
CNI 网络代表的网络用于在为 UCR 容器选中桥接模式网络时,启动 UCR 容器。
用于 UCR 的桥接模式网络与 Docker 的桥接模式网络相同,因此 ucr-br0
与 docker0
Docker 桥接模式网络的桥接发挥相同作用。
为 dcos_ucr_default_bridge_subnet
选择 IPv4 子网的唯一限制是不应在代理连接的网络上使用子网。换言之,只能在代理中访问这一子网。
### dns_bind_ip_blacklist
DC/OS DNS 解析器无法绑定的 IP 地址列表。
### dns_forward_zones
配置 DNS 查询自定义转发行为的 DNS 分区、IP 地址和端口列表。DNS 分区映射到一组 DNS 解析器中。
样本定义如下:
在上述示例中,发送到
dns_forward_zones:
a.contoso.com:
- "1.1.1.1:53"
- "2.2.2.2:53"
b.contoso.com:
- "3.3.3.3:53"
- "4.4.4.4:53"
myapp.a.contoso.com
的 DNS 查询将转发至 1.1.1.1:53
或 2.2.2.2:53
。同样,发送到 myapp.b.contoso.com
的 DNS 查询将转发至 3.3.3.3:53
或 4.4.4.4:53
。
### dns_search
一份以空格隔开列表,列出了输入不合格域时尝试过的域(例如,不包含 ‘.’ 的域搜索)。Linux 实施 /etc/resolv.conf
将最大域数限制为 6 个,最大字符数可能设置为 256。如需详细信息,请参阅 man /etc/resolv.conf。
每个群集管理节点的 search
文件都添加了一个 /etc/resolv.conf
行。 search
具有与 domain
相同的功能并且因可以指定多个域,而更具可扩展性。
在本例中, example.com
有公共网站 www.example.com
,而且数据中心的所有主机都具有完全限定的以 dc1.example.com
结尾的域名。数据中心中的一个主机具有 foo.dc1.example.com
主机名。如果 dns_search
设置为 ‘dc1.example.com example.com’,那么每个执行 foo
名称查找的 DC/OS 主机都将获得关于 foo.dc1.example.com
的 A 记录。如果机器查找 www
,首先会检查 www.dc1.example.com
,但它不存在,因此搜索将尝试下一个域,查找 www.example.com
,找到一条 A 记录就会将其返回。
### docker_remove_delay 在 Mesos 将 docker 容器(即
dns_search: dc1.example.com dc1.example.com example.com dc1.example.com dc2.example.com example.com
docker rm
)视为终止后删除该容器之前的等待时间(例如,3 天、2 星期等)。这仅适用于 Docker 容器化工具。建议您接受默认值 1 小时。
### enable_docker_gc
指示是否运行 docker-gc 脚本,一个简单的 Docker 容器和镜像垃圾回收脚本,每小时清理一次失散的 Docker 容器。您可以使用 /etc/
配置参数,设置运行时间行为。如需更多信息,请参阅 文档
enable_docker_gc: 'true'
请每小时运行一次 docker-gc 脚本。这是 云 模板安装的默认值。enable_docker_gc: 'false'
请勿每小时运行一次 docker-gc 脚本。这是 自定义 安装的默认值。
enable_mesos_input_plugin
指明是否启用 Telegraf 的 Mesos 输入插件来收集来自 Mesos 管理节点和代理节点的 Mesos 度量标准。选项: true
或 false
。默认值为 true
。如需更多信息,请参阅 文档。
exhibitor_storage_backend
Exhibitor 使用的存储后端类型。可以使用内部 DC/OS 存储库(static
)或指定外部存储系统(ZooKeeper
、aws_s3
和 Azure
),使用 Exhibitor 在管理节点上配置和编排 ZooKeeper。在 DC/OS 安装期间,Exhibitor 自动配置管理节点上的 ZooKeeper 安装。
exhibitor_storage_backend: static
Exhibitor 存储后端在您的群集内部进行管理。
master_http_loadbalancer
,则 exhibitor_storage_backend 不能设置为 static
。
exhibitor_storage_backend: zookeeper
用于共享存储库的 ZooKeeper 实例。如果使用 ZooKeeper 实例来 bootstrap Exhibitor,此 ZooKeeper 实例必须与您的 DC/OS 群集分开。您必须始终保有至少 3 个 ZooKeeper 实例才能实现高可用性。如果指定了zookeeper
,您还必须指定这些参数。exhibitor_zk_hosts
一个或多个 Zookeeper 节点 IP 和端口地址的逗号分隔列表 (<ZK_IP>:<ZK_PORT>, <ZK_IP>:<ZK_PORT>, <ZK_IP:ZK_PORT>
) ,用于配置内部 Exhibitor 实例。Exhibitor 使用此 ZooKeeper 群集编排其配置。建议执行多个 ZooKeeper 实例,解决生产环境中的故障切换。exhibitor_zk_path
Exhibitor 用来存储数据的文件路径。
exhibitor_storage_backend: aws_s3
用于共享存储的 Amazon 简单存储服务 (S3) bucket。如果指定了aws_s3
,您还必须指定这些参数:-
aws_access_key_id
AWS 密钥 ID。 -
aws_region
S3 bucket 的 AWS 分域。 -
aws_secret_access_key
AWS 密钥访问密匙。 -
exhibitor_explicit_keys
指明您是否会使用 AWS API 密匙授予 Exhibitor 访问 S3 的权限。exhibitor_explicit_keys: 'true'
如果要使用 AWS API 密匙,请手动授予 Exhibitor 访问权限。exhibitor_explicit_keys: 'false'
如果要使用 AWS 身份和访问管理 (IAM),请将 Exhibitor 访问权限授予 s3。
-
s3_bucket
S3 bucket 的名称。 -
s3_prefix
用于 Exhibitor 使用的 S3 bucket 中的 S3 前缀。 注意: 不支持 AWS EC2 Classic。
-
exhibitor_storage_backend: azure
用于共享存储库的 Azure 存储帐户。数据将存储在名为dcos-exhibitor
的容器中。如果指定了azure
,您还必须指定这些参数:exhibitor_azure_account_name
Azure 存储帐户名称。exhibitor_azure_account_key
访问 Azure 存储帐户的密钥。exhibitor_azure_prefix
供 Exhibitor 使用的存储账户中使用的二进制大对象前缀。
enable_gpu_isolation
指示是否在 DC/OS 中启用 GPU 支持。
enable_gpu_isolation: 'true'
DC/OS 中安装的任何 GPU 将自动被发现并用作 DC/OS 任务的可占用资源。这是默认值。enable_gpu_isolation: 'false'
GPU 不可用于群集。
enable_ipv6: 'true'
:请在 DC/OS 中启用 IPv6 网络。这是默认值。enable_ipv6: 'false'
:请在 DC/OS 中禁用 IPv6 网络。
true
,就可以启用以下功能:
- 用户可以创建 IPv6 DC/OS 覆盖网络。此操作仅适用于 Docker 容器。
- IPv6 容器的服务发现将可用。
- 如果将 dcos_l4lb_enable_ipv6 设置为
true
,IPv6 Docker 容器即可使用第 4 层负载均衡。
fault_domain_enabled Enterprise
默认情况下,故障域感知已启用,安装工具将预期来自 故障检测脚本 的分区和区域的输入。要覆盖此功能,请将此参数集添加到 false
,将不会预期或使用故障域信息。
feature_dcos_storage_enabled Enterprise
支持 DC/OS 中的高级存储功能,包括 Mesos 的 CSI 支持和支持预安装的 CSI 设备插件。
feature_dcos_storage_enabled: 'false'
请在 DC/OS 中禁用 CSI 支持。这是默认值。feature_dcos_storage_enabled: 'true'
请在 DC/OS 中启用 CSI 支持。有必要使用 DC/OS 存储服务 (DSS)
gc_delay
清理执行器目录前等待的最长时间。建议您接受两天作为默认值。
gpus_are_scarce
指示是否将 GPU 作为群集中的稀缺资源。
gpus_are_scarce: 'true'
将 GPU 视为稀缺资源。这样就把 GPU 完全保留给选择通过 MesosGPU_RESOURCES
框架功能 使用 GPU 的服务。这是默认值。gpus_are_scarce: 'false'
将 GPU 与其他资源同等对待。所有框架,不论是否使用 MesosGPU_RESOURCES
框架功能,都会没有差别地被提供 GPU。
iam_ldap_sync_interval Enterprise
LDAP 同步操作之间的间隔时间(以秒为单位)。
ip_detect_public_filename
bootstrap 节点上的文件(/genconf/ip-detect-public
)路径,其中包含 shell 脚本,可将内部 IP 映射到公用 IP。例如:
#!/bin/sh
set -o nounset -o errexit
curl -fsSL https://ipinfo.io/ip
license_key_contents Enterprise
安装工具默认寻找许可证密钥以驻留在 genconf/license.txt
文件中。只有在用户希望覆盖此行为并直接在 config.yaml 中指定许可证时才使用参数 license_key_contents
。许可证包含在任何给定时间附加到群集的节点最大数量以及许可证的开始和结束日期,为企业用户所需要。参见这些 关于许可证的页面,获取有关使用许可证的更多信息。
例如:license_key_contents: verylongstringofchars
。
log_directory
从 SSH 进程到安装工具主机日志的路径。默认设置为 /genconf/logs
。在大多数情况下不应更改路径,因为 /genconf
是容器运行安装工具的本地路径,还是一个挂载卷。
log_offers
指出领导 Mesos 管理节点是否应记录发送给调度器的邀约。
log_offers: true
启用群集的 Mesos 邀约日志记录。这是默认值。log_offers: false
禁用群集的 Mesos 邀约日志记录。
master_discovery
(必填)Mesos 管理节点发现方法。可用选项是 static
或 master_http_loadbalancer
。
-
master_discovery: static
指定使用 Mesos 代理节点,通过向每个代理提供管理节点 IP 的静态列表来发现管理节点。管理节点不得更改 IP 地址,而如果管理节点被替代,新管理节点必须采用旧管理节点的 IP 地址。 注意:在 AWS 中,由于无法设置本地 IP 地址,因而不能使用 master_discovery:static。 如果制定了static
,还必须指定以下参数:master_list
静态管理节点 IP 地址的 YAML 嵌套列表(-
)。
-
master_discovery: master_http_loadbalancer
这组管理节点的开头有一个 HTTP 负载均衡器。代理节点会得知负载均衡器的地址。它们使用负载均衡器访问管理节点中的 Exhibitor ,获取管理节点 IP 的完整列表。如果指定了master_http_load_balancer
,您还必须指定这些参数:-
exhibitor_address
(必填)管理节点前面负载均衡器的地址(最好是 IP 地址)。如果需要替换管理节点,该地址成为代理用来查找新管理节点的静态地址。对于 DC/OS Enterprise,该地址包含在 DC/OS 证书 中。负载均衡器必须接受端口 443、2181、5050 和 8181 上的流量。如果群集在宽容安全模式下运行,负载均衡器也可以接受端口 80 和 8080 上的流量,以便对群集中的服务进行非 SSL HTTP 访问。 注意:通过端口 80 和 8080 访问群集不安全。 流量也必须转发到管理节点上的 443、2181、5050 和 8181 端口。例如,负载均衡器上的 Mesos 端口 5050 应转发到管理节点的端口 5050 上。管理节点应通过循环调度转发任何新连接,并且应避免对 Mesos 端口 5050 的请求未做出响应的机器以确保管理节点保持运行。有关安全模式的更多信息,请查阅 安全模式文档。 注意:内部负载均衡器必须在 TCP 模式,不终止任何 TLS 的情况下工作。 -
num_masters
(必填) DC/OS 群集中的 Mesos 管理节点的数量。此后不能更改。负载均衡器后面的管理节点数量不得大于这个数字,但在发生故障时,该数量可能会减少。注意:- 如果将 master_discovery 设置为
master_http_loadbalancer
,那么 exhibitor_storage_backend 就无法设置为static
。 - 在 AWS 等动态分配内部 IP 的平台上,不应使用静态管理节点列表。管理节点实例因任何原因终止,都可能导致群集不稳定。建议为 Exhibitor 存储后端使用 aws_s3,因为我们可依赖 s3 在管理节点不可用时管理 Quorum 大小。
- 如果将 master_discovery 设置为
-
master_dns_bindall
指示管理节点 DNS 端口是否打开。打开的管理节点 DNS 端口会在管理节点上公开侦听。如果正在升级,请将此参数设置为 true
。
master_dns_bindall: 'true'
管理节点 DNS 端口已打开。这是默认值。master_dns_bindall: 'false'
管理节点 DNS 端口已关闭。
master_external_loadbalancer Enterprise
负载均衡器的 DNS 名称或 IP 地址。指定后,将被作为对象替代名称纳入管理节点上 Admin Router 的 DC/OS 证书 中。
mesos_agent_work_dir Open Source
代理和公共代理节点上的 Mesos 工作目录的位置。它定义了群集中 Mesos 代理的 work_dir
参数。默认为 /var/lib/mesos/slave
。如需更多信息,请参阅 Mesos 文档。
mesos_container_log_sink
DC/OS 可以将任务日志的副本发送到主机的 journald,但是,由于 systemd 中的已知性能问题,默认已禁用此功能。该问题已于 2017 年 7 月 31 日 修复,并包含在 systemd v235 中。但是,某些 Linux 分发版本不使用此版本的 systemd,例如,截至 2018 年 7 月,CentOS 7.4 使用 systemd v219。因此,默认情况下 DC/OS 没有启用 logrotate 和 journald。如果需要此功能,为了避免此 systemd 性能问题,应确保使用的是新版 systemd。
容器(任务)的日志管理器。选项包括:
'journald'
- 仅将任务日志发送到 journald'logrotate'
- 仅将任务日志发送到文件系统(即 stdout/err 文件)'journald+logrotate'
- 将日志发送到 journald 和文件系统
logrotate
。由于性能问题, 不推荐 journald
。如需更多信息,请参阅 记录参考。
### mesos_dns_set_truncate_bit
指示在响应过大而无法放入一个数据包时,Mesos-DNS 是否设置截断数位。
mesos_dns_set_truncate_bit: 'true'
如果响应太大而无法放入一个数据包并且被截断,Mesos-DNS 会设置截断位。这是默认行为,符合 RFC7766。mesos_dns_set_truncate_bit: 'false'
如果响应太大而无法放入单个数据包,Mesos-DNS 不会设置截断数位。如果您知道应用程序在 TCP 上解析截断的 DNS 响应时会崩溃,或出于性能原因您想避免收到 DNS 请求响应的完整 DNS 记录,您应将此选项设置为false
,并需注意,您从 Mesos-DNS 收到的 DNS 响应可能丢失了被安静丢弃的条目。这意味着截断的 DNS 响应将显示为完整(即使并不完整),因此不会触发 TCP 重试。此行为不符合 RFC7766。
work_dir
参数。默认为 /var/lib/dcos/mesos/master
。如需更多信息,请参阅 Mesos 文档。
### mesos_max_completed_tasks_per_framework
Mesos 管理节点在内存中保留的每个框架的完成任务数。在具有大量长时间运行框架的群集中,保留过多已完成的任务可能导致管理节点出现内存问题。如果未指定此参数,请使用 1000 作为 Mesos 默认值 。
### mesos_seccomp_enabled
指出是否对 UCR 容器启用 Seccomp 支持。
mesos_seccomp_enabled: 'true'
在 Mesos 代理节点上启用 Seccomp 隔离器。Seccomp 隔离器用于为 UCR 容器设置 Seccomp 配置文件。mesos_seccomp_enabled: 'false'
Seccomp 不可用于群集。这是默认值。
mesos_seccomp_profile_name
选项为 UCR 容器启用。
### mesos_seccomp_profile_name
指定默认的 Seccomp 配置文件的名称,该配置文件在 UCR 容器的群集范围内应用。如果未设置,则默认不应用 Seccomp 配置文件。如果将此配置选项设置为 default.json
,Mesos 代理节点将使用内置的 Seccomp 配置文件。此配置文件是 Docker 置默认配置文件的细微修改版。它可以在 /opt/mesosphere/etc/dcos/mesos/seccomp
找到。强烈建议使用内置的默认 Seccomp 配置文件。
注意:此选项需要开启 mesos_seccomp_enable
选项。
### network_cni_root_dir_persist
指定在主机重启期间是否使 CNI 根目录持久化。默认值为 false
。如果将此配置选项设置为 true
,CNI 根目录创建于 work dir
。将此选项设置为 true
,以允许 CNI 隔离器在重启主机节点之后进行正确的清理。
注意:该标记必须重启主机才能生效。
### oauth_enabled Open Source
指出是否为群集启用身份认证。
oauth_enabled: true
请启用群集身份认证。这是默认值。oauth_enabled: false
请禁用群集身份认证。
aws
、azure
、oneview
、openstack
、vsphere
、vagrant-virtualbox
、onprem
(默认)。
### process_timeout
在进程分叉之后等待开始操作所允许的时间(以秒为单位)。这个参数不是完整的进程时间。默认值为 120 秒。在较慢的网络上,考虑增加至 process_timeout: 600
。
### public_agent_list
公共代理 -
主机名的 IPv4 地址的 YAML 嵌套列表。
### resolvers
DC/OS 群集节点 DNS 解析器的 YAML 嵌套列表(-
)。最多可指定 3 个解析器。将此参数设置为您拥有的最权威的域名服务器。
- 如需解析内部主机名,请将其设置为可解析它们的域名服务器。
-
如果没有要解析的内部主机名,您可以将其设置为 Google 或 AWS 等公共域名服务器。例如,可以指定 Google 公共 DNS IP 地址 (Ipv4):
resolvers:
- 8.8.4.4
- 8.8.8.8
-
如果没有 DNS 基础架构且没有权限访问互联网 DNS 服务器,您可以指定
resolvers: []
。指定该设置后,发送到非.mesos
的所有请求都将回复一个错误。如需更多信息,请参阅 Mesos-DNS 文档。
解析器
参数不正确,您将永久损坏配置,必须重新安装 DC/OS。
### rexray_config
REX-Ray 配置,用于在 Marathon 中启用外部持久卷。REX-Ray 是一个存储编排引擎。以下为示例配置。
请查看外部持久卷 文档,了解有关如何创建配置的信息。 如果提供了
rexray_config:
rexray:
loglevel: info
service: ebs
libstorage:
integration:
volume:
operations:
unmount:
ignoreusedcount: true
server:
tasks:
logTimeout: 5m
rexray_config
参数,则请逐字使用其内容进行 REX-Ray 配置。这样就可以完全自定义与各种 外部存储提供商 集成的 REX-Ray 配置 。然而,如果将群集升级到包含更新版的 REX-Ray 的版本,就必须确保 rexray_config
参数与较新版本的 REX-Ray 兼容。
### rexray_config_preset
如果您正在 AWS 上运行群集,并希望 DC/OS 与弹性块存储器 (EBS) 集成,无需关注特定的 REX-Ray 配置,并将 rexray_config_preset
参数设置为 aws
。这样就会将 rexray_config
参数设置为与 DC/OS 捆绑的默认 REX-Ray 配置。这一选项的另一优势在于,在您升级到包含更新 REX-Ray 版本的 DC/OS 版本后,它能自动升级您群集的 REX-Ray 配置。
### security Enterprise
指定 security: permissive
(默认)以外的安全模式。模式后面是潜在的值。
security: permissive
security: strict
/genconf/ssh_key
。该参数不能更改,因为 /genconf
是容器运行安装工具的本地路径,还是一个挂载卷。
### ssh_port
SSH 端口,例如 22
。
### ssh_user
SSH 用户名,例如 centos
。
### superuser_password_hash Enterprise
(必填)带井号的超级用户密码。superuser_password_hash
通过使用安装工具 —hash-password
标记生成。第一个超级用户帐户用于提供登录 DC/OS 的方法,其中可添加其他管理帐户。如需更多信息,请参阅 安全文档。
### superuser_service_account_uid
该服务账户使用 superuser_service_account_public_key
配置参数指定的公钥进行身份验证。
### superuser_service_account_public_key
超级用户服务账户公钥。此额外超级用户账户提供了使用超级用户特权对 DC/OS 群集进行任务自动化的方法。操作者可以创建 RSA 密钥对,并以 X.509 PEM 公钥格式提供生成的公钥。
### superuser_username (必填) Enterprise
超级用户的用户名。此帐户使用 superuser_password_hash
。如需更多信息,请参阅 安全文档。
### telemetry_enabled
指出是否为群集启用匿名数据共享。
telemetry_enabled: 'true'
请启用匿名数据共享。这是默认值。telemetry_enabled: 'false'
请禁用匿名数据共享。
-
use_proxy: 'false'
请勿配置 DC/OS 组件 以使用自定义代理。这是默认值。 -
use_proxy: 'true'
请配置 DC/OS 组件 以使用自定义代理。如果指定了use_proxy: 'true'
,您还可以指定这些参数: 注意: 指定的代理必须在提供的 解析器 列表中解析。http_proxy: http://<user>:<pass>@<proxy_host>:<http_proxy_port>
HTTP 代理。https_proxy: https://<user>:<pass>@<proxy_host>:<https_proxy_port>
HTTPS 代理。no_proxy
:子域的 YAML 嵌套列表(-
),避免此类子域转发到https_proxy
。如果地址与其中一个字符串匹配,或主机位于其中一个字符串的域中,则不代理 http(s) 向该节点发送的请求。例如,no_proxy
列表可以是内部 IP 地址列表。
*
)。 如需更多信息,请参阅 示例。 注意:还应为 Docker 配置 HTTP 代理
zk_super_credentials Enterprise
在 DC/OS strict
和 permissive
模式群集上, 使用访问控制列表 (ACL) 保护 ZooKeeper 中存储的信息,从而使恶意用户无法连接到 ZooKeeper Quorum,从而不能直接修改服务元数据。ACL 指定与这些 ID 关联的资源 ID (RID) 和操作集合。ZooKeeper 支持可插拔的身份验证方案,并有一些内置方案:world
、auth
、digest
、host
和 ip
。
DC/OS Zookeeper 凭据 zk_super_credentials
、zk_master_credentials
和 zk_agent_credentials
使用 digest
身份认证,这需要 <uid>:<password>
字符串,然后在检查客户端是否可以访问特定资源时将其用作 ID。
zk_super_credentials
支持访问等同于 ZooKeeper 的 root
或 superuser
的帐户,该账户可以访问所有资源,不受现有 ACL 限制。此凭据支持算子访问 ZooKeeper Quorum 中存储的所有元数据,并由 DC/OS 引导脚本在初始化群集时使用。默认值:'super:secret'
。
要加固群集,Mesosphere 建议您将所有凭据的默认值更改为长而复杂的值。设置后,您可以使用在 DC/OS 管理节点上可用的 /opt/mesosphere/active/exhibitor/usr/zookeeper/bin/zkCli.sh
进行验证。zkCli
默认不作验证,所以 /dcos
树中的节点将无法访问。在 zkCli
中调用 addauth digest <zk_super_credentials>
后,ZooKeeper 中的所有节点都可以访问,利用 zk_master_credentials
和 zk_agent_credentials
可以访问它们的子集。例如:
[zk: localhost:2181(CONNECTED) 0] addauth digest super:secret
[zk: localhost:2181(CONNECTED) 1] ls /dcos
[backup, agent, RootCA, secrets, vault, CAChainInclRoot, CAChain, CACertKeyType, ca, master]
[zk: localhost:2181(CONNECTED) 2] ls /dcos/secrets
[core, init, system, bootstrap_user, keys]
zk_master_credentials Enterprise
Bootstrapping 进程使用的凭据,用于访问将在 DC/OS 管理节点上运行的服务的凭据。
zk_agent_credentials Enterprise
引导进程使用的凭据,用于访问将在 DC/OS 代理节点上运行的服务的凭据。