couchbaselabs.couchbase_server

Couchbase Server Ansible 角色

                              #####################
                           ###########################
                         ###############################
                       ###################################
                      #####################################
                     ######       #############       ######
                     ######       #############       ######
                     ######                           ######
                     ######                           ######
                     ######\                         /######
                      #####################################
                       ###################################
                         ###############################
                           ###########################
                               ###################

与 Ansible Galaxy 兼容

您可以使用 ansible-galaxy 命令安装此角色,并可以直接从 git 仓库运行它。

您应该这样安装它:

ansible-galaxy install couchbaselabs.couchbase_server

确保您对 /etc/ansible/roles/ 具有写访问权限,因为这是默认的 Ansible 角色安装路径,或者通过创建一个包含以下内容的 $HOME/.ansible.cfg 文件来定义自己的 Ansible 角色路径:

[defaults]
roles_path = <path_to_your_preferred_role_location>

<path_to_your_preferred_role_location> 更改为您有写权限的目录。

有关更多详细信息,请参见 ansible-galaxy 文档。

角色变量

在需要用于开发或其他非生产用途的简单集群的情况下,Couchbase Server 角色的默认变量值可以保持不变。唯一的必需变量是 couchbase_nodes:

如果您需要特定的性能,或者希望为特定目的调整它们,本节将详细描述所有角色变量,包括它们的默认值。

couchbase_server_edition

Couchbase Server 的版本,可以是 enterprisecommunity。默认值为 enterprise

couchbase_server_version

您要安装的版本和构建,默认值为 latest。如果您想使用特定版本,可以指定 6.6.0-7909。要查找可用版本,请运行以下命令:

yum list --showduplicates couchbase-server

couchbase_server_download_url

要从中安装 Couchbase Server 的 *.rpm*.deb 文件的完整 URL。

couchbase_os

couchbase_os 变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。

变量 默认 说明
firewalld false 是否安装 firewalld 并将 Couchbase 端口添加到公共区域
disable_thp true 是否安装 disable-thp 脚本。这将创建一个位于 /etc/init.d/disable-thp 的新启动脚本
common_tools false 是否安装常用工具,包括:epel-release、git、jq、ntp、nmap、lshw、sysstat、lvm2、htop、iotop、wireshark、dstat、nmon
kernel_tunings true 是否应用 sysctl.conf 调整,例如 vm.swappiness = 1。这将在 /etc/sysctl.d/couchbase-server.conf 中创建一个新文件
user_limits true 是否为 couchbase 用户设置用户限制。这将在 /etc/security/limits.d/couchbase-server.conf 中创建一个新文件
示例
couchbase_os:
  firewalld: true
  disable_thp: true
  common_tools: true
  kernel_tunings: true
  user_limits: true

couchbase_nodes

couchbase_nodes 变量中的所有属性都是可选的,除了必需的 hostname 属性。如果未指定 services: 属性,将使用 couchbase_server.default_services 中的值(如果已定义),如果未定义,则默认值为 data,index,query附加文档

变量 默认 说明
*hostname null 要添加的节点的主机名。此属性在任何安装/配置中都是必需的
group null 分配给节点的组名,如果未指定,节点将添加到默认组。
services - data
- index
- query
节点上要运行的服务,有效值包括:
- data
- index
- query
- fts
- eventing
- analytics
示例
couchbase_nodes:
  - hostname: host1.couchbase.example.com
    group: AZA
    services:
      - data
  - hostname: host2.couchbase.example.com
    group: AZA
    services:
      - data
  - hostname: host3.couchbase.example.com
    group: AZB
    services:
      - data
  - hostname: host4.couchbase.example.com
    group: AZB
    services:
      - data
  - hostname: host5.couchbase.example.com
    group: AZA
    services:
      - index
      - query
  - hostname: host6.couchbase.example.com
    group: AZB
    services:
      - index
      - query

couchbase_cluster

couchbase_cluster 变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档

变量 默认 说明
name My Cluster Couchbase 集群的名称
rest_protocol http 使用的 REST 协议
port 8091 集群使用的默认端口
notifications true 是否启用控制台通知
index_storage default 指定索引服务的索引存储模式。接受的存储模式为 "default"(标准索引后端)或 "memopt"(内存优化索引)。
default_services - data
- index
- query
初始化集群或将新节点添加到集群时使用的默认服务
示例
couchbase_cluster:
  name: Demo
  rest_protocol: http
  port: 8091
  notifications: true
  index_storage: default
  default_services:
    - data
    - index
    - query

couchbase_memory_quotas

couchbase_memory_quotas 变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档

变量 默认 说明
analytics 1024 设置分析服务的内存配额(以MB为单位)。此配额将分配给以分析服务添加到集群的所有未来节点。
data 4098 指定数据服务的内存配额(以MB为单位)。此配额将分配给以数据服务添加到集群的所有未来节点。
eventing 256 设置事件服务的内存配额(以MB为单位)。此配额将分配给以事件服务添加到集群的所有未来节点。
fts 512 设置全文搜索服务的内存配额(以MB为单位)。此配额将分配给以全文搜索服务添加到集群的所有未来节点。
index 512 设置索引服务的内存配额(以MB为单位)。此配额将分配给以索引服务添加到集群的所有未来节点。
示例
couchbase_memory_quotas:
  analytics: 1024
  data: 16000
  eventing: 256
  fts: 512
  index: 512

couchbase_security

couchbase_security 变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档

变量 默认 说明
admin_user Administrator 集群管理员的用户名
admin_password password 集群管理员的密码
disable_http_ui false 指定 Couchbase Web 控制台是否可以通过 HTTP 访问。
disable_www_authenticate false 指定 Couchbase Server 是否会对未经身份验证的请求响应 WWW-Authenticate。
cluster_encryption_level control 指定集群的加密级别。该级别在启用集群加密时使用。如果级别为 "all",则集群节点之间的数据和控制消息将通过加密的连接发送。如果级别为 "control",则仅控制消息将被加密发送。
tls_min_version tlsv1 指定所有 Couchbase 服务使用的最小 TLS 协议版本。
tls_honor_cipher_order true 指定所有服务是否必须遵循密码顺序。当设置为 true 时,这允许较弱的密码包含在密码列表中以便与较旧的客户端/浏览器向后兼容,同时仍然强制较新的客户端使用更强的密码。
示例
couchbase_security:
  admin_user: Administrator
  admin_password: password
  disable_http_ui: false
  disable_www_authenticate: false
  cluster_encryption_level: control
  tls_min_version: tlsv1
  tls_honor_cipher_order: true

couchbase_paths

couchbase_paths 变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档

变量 默认 说明
data /opt/couchbase/var/lib/couchbase/data 存储 Couchbase 数据服务创建的数据文件的路径。请注意,此路径也是视图索引在本服务器上写入的地方。
index /opt/couchbase/var/lib/couchbase/data 存储 Couchbase 索引服务创建的文件的路径。
analytics /opt/couchbase/var/lib/couchbase/data 存储 Couchbase 分析服务创建的文件的路径。
eventing /opt/couchbase/var/lib/couchbase/data 存储 Couchbase 事件服务创建的文件的路径。
示例
couchbase_paths:
  data: /opt/couchbase/var/lib/couchbase/data
  index: /opt/couchbase/var/lib/couchbase/index
  analytics: /opt/couchbase/var/lib/couchbase/analytics
  eventing: /opt/couchbase/var/lib/couchbase/eventing

couchbase_rebalance_settings

couchbase_rebalance_settings 变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档

变量 默认 说明
rebalance_retry false 启用或禁用自动重平衡重试
wait_for 300 指定在失败的重平衡后重试前要等待的时间。时间必须是 5 到 3600 秒之间的值
max_attempts 1 指定将失败重平衡重试的次数。提供的值必须在 1 到 3 之间。
moves_per_node 4 在重平衡期间每个节点要移动的并发 vBucket 数。提供的值必须在 1 到 64 之间。配置较高的设置可能会提高重平衡性能,但会消耗更多资源;而较低的设置可能会降低重平衡性能。请注意,重平衡性能可能会受到许多其他因素的影响,因此更改此参数可能不会总是产生预期的效果。
示例
couchbase_rebalance_settings:
  rebalance_retry: false
  wait_for: 300
  max_attempts: 1
  moves_per_node: 4

couchbase_audit

couchbase_audit 变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档

变量 默认 说明
enabled true 指定是否启用审计。
log_path /opt/couchbase/var/lib/couchbase/logs 指定审计日志路径。此路径应是保留审计日志的文件夹的路径。该文件夹必须存在于集群中的所有服务器上。
log_rotate_interval 86400 指定审计日志轮换间隔。这是当前审计日志将被替换为新的空审计日志文件的间隔。日志文件在审计日志不占用太多磁盘空间的情况下进行轮换。最小审计日志轮换间隔为 15 分钟(900 秒)。
log_rotate_size 20971520 指定审计日志轮换大小。当前审计日志将在达到此大小时被替换为新的空审计日志文件。
示例
couchbase_audit:
  enabled: true
  log_path: /opt/couchbase/var/lib/couchbase/logs
  log_rotate_interval: 86400
  log_rotate_size: 20971520

couchbase_password_policy

couchbase_password_policy 变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档

变量 默认 说明
min_length 6 指定新密码的最小长度。
uppercase false 指定新密码必须包含至少一个大写字母。
lowercase false 指定新密码必须包含至少一个小写字母。
digit false 指定新密码必须包含至少一个数字。
special_char false 指定新密码必须包含至少一个特殊字符。
示例
couchbase_password_policy:
  min_length: 6
  uppercase: false
  lowercase: false
  digit: false
  special_char: false

couchbase_query_settings

couchbase_query_settings 变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档

变量 默认 说明
pipeline_batch 16 执行操作符可以批处理的项数
pipeline_cap 512 每个执行操作符可以缓存的最大项数
scan_cap 512 索引扫描的最大缓存大小;使用零或负值来禁用
timeout 0 服务器执行超时;使用零或负值来禁用
prepared_limit 16384 最大准备语句数
completed_limit 4000 最大已完成请求数
completed_threshold 1000 缓存持续时间超过此阈值(以毫秒为单位)的已完成查询
log_level info 设置查询服务的日志级别。有效的日志级别包括 "trace"、"debug"、"info"、"warn"、"error"、"server" 和 "none"
max_parallelism 1 每个查询的最大并行性;使用零或负值来禁用
示例
couchbase_query_settings:
  pipeline_batch: 16
  pipeline_cap: 512
  scan_cap: 512
  timeout: 0
  prepared_limit: 16384
  completed_limit: 4000
  completed_threshold: 1000
  log_level: info
  max_parallelism: 1

couchbase_index_settings

couchbase_index_settings 变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档

变量 默认 说明
max_rollback_points 2 最大回滚点数。此选项的值必须大于或等于 1。
stable_snapshot_interval 5000 指定恢复的持久化快照的频率(以秒为单位)。
memory_snapshot_interval 200 指定内存快照的频率(以毫秒为单位)。
threads 0 设置索引器可使用的 CPU 数。此选项的值必须在 0 到 1024 之间。
log_level info 设置索引服务的日志级别。有效的日志级别包括 "debug"、"silent"、"fatal"、"error"、"warn"、"info"、"verbose"、"timing" 和 "trace"。
示例
couchbase_index_settings:
  max_rollback_points: 2
  stable_snapshot_interval: 5000
  memory_snapshot_interval: 200
  threads: 0
  log_level: info

couchbase_autofailover

couchbase_autofailover 变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档

变量 默认 说明
enabled true 启用或禁用自动故障切换
failover_timeout 120 指定自动故障切换超时。
max_failovers 1 指定将处理的自动故障切换事件数量。
failover_of_server_groups false 指定是否可以对整个服务器组进行自动故障切换。
failover_on_data_disk_issues true 指定是否启用数据服务磁盘问题的自动故障切换。
failover_data_disk_period 120 指定故障切换数据磁盘周期。
can_abort_rebalance true 使自动故障切换能够中止重平衡。
示例
couchbase_autofailover:
  enabled: true
  failover_timeout: 120
  max_failovers: 1
  failover_of_server_groups: false
  failover_on_data_disk_issues: true
  failover_data_disk_period: 120
  can_abort_rebalance: true

couchbase_email_alerts

couchbase_email_alerts 变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档

变量 默认 说明
enabled false 启用此集群的电子邮件警报。
username null 发送者电子邮件地址的电子邮件服务器用户名。
password null 发送者电子邮件地址的电子邮件服务器密码。
host localhost 托管发送者指定的电子邮件地址的电子邮件服务器主机名
port 25 托管发送者指定的电子邮件地址的电子邮件服务器端口号
encrypt false 在连接到电子邮件服务器时启用 SSL 加密。
sender couchbase@localhost 如果启用电子邮件警报,则此选项将设置发送者电子邮件地址。
recipients [] 在服务器中引发警报时发送电子邮件的用户列表。
alerts - alert-auto-failover-node
- alert-auto-failover-max-reached
- alert-auto-failover-node-down
- alert-auto-failover-cluster-small
- alert-auto-failover-disable
- alert-ip-changed
- alert-disk-space
- alert-meta-overhead
- alert-meta-oom
- alert-write-failed
- alert-audit-msg-dropped
- alert-indexer-max-ram
- alert-timestamp-drift-exceeded
- alert-communication-issue
各种警报类型
示例
couchbase_email_alerts:
  enabled: true
  host: localhost
  port: 25
  encrypt: false
  sender: couchbase@localhost
  recipients:
    - [email protected]
  alerts:
    - alert-auto-failover-node
    - alert-auto-failover-max-reached
    - alert-auto-failover-node-down
    - alert-auto-failover-cluster-small
    - alert-auto-failover-disable
    - alert-ip-changed
    - alert-disk-space
    - alert-meta-overhead
    - alert-meta-oom
    - alert-write-failed
    - alert-audit-msg-dropped
    - alert-indexer-max-ram
    - alert-timestamp-drift-exceeded
    - alert-communication-issue

couchbase_buckets[]

couchbase_buckets 变量默认是一个空列表。当指定时每个元素可用的属性如下,name 属性是必需的,所有其他属性都是可选的,如果未指定,将分配默认值。 附加文档

变量 默认 说明
*name null 要创建的桶的名称。
type couchbase 要创建的桶类型。
storage_backend couchstore 与桶一起使用的存储类型。
ram_size 100 分配给此桶缓存的内存量(以 MB 为单位)。
replicas 1 数据被复制的服务器数量。
priority low 指定此桶的后台任务优先级。
eviction_policy valueOnly 此桶的内存缓存驱逐策略。
conflict_resolution sequence 指定此桶的冲突解决机制。
flush false 指定此桶是否允许执行清空操作。
durability_min_level none 为桶指定的最小持久性级别。
compression_mode passive 指定桶的压缩模式。
max_ttl 0 指定桶中所有文档的最大 TTL(生存时间)。
enable_index_replica false 为当前桶启用视图索引复制。
示例
couchbase_buckets:
  - name: baseball
    type: couchbase
    ram_size: 400
    replicas: 1
    compression_mode: active
  - name: ecommerce
    type: couchbase
    ram_size: 700
    replicas: 1
    compression_mode: active
  - name: movies
    type: couchbase
    ram_size: 450
    replicas: 1
    compression_mode: active

couchbase_sample_buckets[]

couchbase_sample_buckets 变量默认是一个空列表。仅支持以下值:"travel-sample"、"beer-sample" 或 "gamesim-sample"。

示例
couchbase_sample_buckets:
  - travel-sample

couchbase_xdcr_remotes[]

couchbase_xdcr_remotes 变量默认是一个空列表。当指定时每个元素可用的属性如下,每四个属性在指定 XDCR 远程时都是必需的。附加文档

变量 默认 说明
*name null 远程集群引用的名称。
*hostname null 远程集群引用的主机名。
*username null 远程集群引用的用户名。
*password null 远程集群引用的密码。
示例
couchbase_xdcr_remotes:
  - name: My Cluster
    hostname: remotehost.couchbase.example.com
    username: Administrator
    password: password

couchbase_xdcr_replications[]

couchbase_xdcr_replications 变量默认是一个空列表。当指定时每个元素可用的属性如下,from_bucketto_bucketcluster_name 属性是必需的,所有其他属性都是可选的,如果未指定,将分配默认值。附加文档

变量 默认 说明
*from_bucket null 要复制数据的桶的名称。
*to_bucket null 要复制数据到的桶的名称。
*cluster_name null 要复制到的集群引用的名称。
filter_expression null 用于过滤复制流的正则表达式。
checkpoint_interval 600 检查点之间的间隔(以秒为单位)。
worker_batch_size 500 工作者批处理大小。
doc_batch_size 2048 文档批处理大小(以千字节为单位)。
failure_restart_interval 10 在发生 XDCR 连接故障时的重启间隔(以秒为单位)。
optimistic_replication_threshold 256 用于触发乐观复制的文档主体大小阈值(以字节为单位)。
source_nozzle_per_node 2 每个目标集群节点的源喷嘴数量。
target_nozzle_per_node 2 每个目标集群节点的输出喷嘴数量。
bandwidth_usage_limit 0 此复制的带宽限制(以 MB 为单位)。
enable_compression true 指定是否启用 XDCR 压缩。
log_level Info XDCR 日志级别。
stats_interval 1000 统计更新的间隔(以毫秒为单位)。
priority High 指定复制的优先级。
reset_expiry false 当设置为 true 时,发送到目标集群的所有变更将具有过期时间设置为零。
filter_deletion false 当设置为 true 时,将不会将删除变更发送到目标集群。
filter_expiration false 当设置为 true 时,将不会将过期变更发送到目标集群。
示例
couchbase_xdcr_replications:
  - from_bucket: beer
    to_bucket: demo
    cluster_name: My Cluster

couchbase_ldap

couchbase_ldap 变量中的所有属性都是可选的,如果不指定,将分配默认值列表中的值。附加文档

变量 默认 说明
hosts [] LDAP 主机的列表。如果为空,则未配置 LDAP
port 389 LDAP 端口。
encryption none 与 LDAP 服务器通信时使用的安全性。支持的选项有:tls、startTLS、none。
cacert cacert 用于服务器证书验证的 CA 证书路径。如果未禁用证书验证,则这是必需的。
server_cert_validation false 在连接到 LDAP 服务器时启用或禁用证书验证。
bind_dn null 以某个用户身份进行身份验证的用户 DN。
bind_password null 绑定用户的密码。
client_cert null 用于绑定到 LDAP 服务器的客户端 TLS 证书。
client_key null 客户端 TLS 密钥。
authentication_enabled false 启用使用 LDAP 验证用户
user_dn_query null 获取用户 DN 的 LDAP 查询。
authorization_enabled false 启用使用 LDAP 进行用户授权
group_query null LDAP 查询,用于按用户名获取用户组。
max_parallel_connections 100 可以与 LDAP 服务器建立的最大并行连接数。
max_cache_size 10000 可以缓存的最大请求数,默认为 10000。
cache_value_lifetime 300000 缓存中值的生存时间(毫秒)。默认为 300000 ms。
enable_nested_groups false 如果启用,Couchbase 服务器将尝试递归搜索每个发现的 LDAP 组。
nested_groups_max_depth 10 允许执行的递归组请求的最大深度。
request_timeout 1000 LDAP 请求的超时(毫秒)。
示例
couchbase_ldap:
  hosts:
    - ldap.example.com
  port: 389
  encryption: none
  server_cert_validation: false
  bind_dn: uid=aaronb,ou=People,dc=example,dc=com
  bind_password: password
  authentication_enabled: true
  user_dn_query: ou=People,dc=example,dc=com??one?(uid=%u)
  authorization_enabled: true
  group_query: ou=People,dc=example,dc=com?(gidNumber=5000)?one
  max_parallel_connections: 100
  max_cache_size: 10000
  cache_value_lifetime: 300000
  enable_nested_groups: true
  nested_groups_max_depth: 10

couchbase_user_groups[]

couchbase_user_groups 变量默认是一个空列表。当指定时每个元素可用的属性如下,name 属性是必需的,所有其他属性是可选的,如果未指定,将分配默认值。附加文档

变量 默认 说明
*name null 指定组操作的目标组
description null 指定组描述
ldap_ref null 指定 LDAP 组的可分辨名称,以将 Couchbase 组与 LDAP 组链接。
roles [] 指定要分配给 RBAC 用户配置文件的角色。
示例
couchbase_user_groups:
  - name: Demo
    description: test
    roles:
      - cluster_admin
      - replication_admin
  - name: Test
    description: test
    roles:
      - cluster_admin
      - replication_admin
  - name: admins
    description: test
    roles:
      - cluster_admin
      - replication_admin

couchbase_users[]

couchbase_users 变量默认是一个空列表。当指定时每个元素可用的属性如下,name 属性是必需的,所有其他属性是可选的,如果未指定,将分配默认值。附加文档

变量 默认 说明
username null 要修改的 RBAC 用户的用户名。
password null 要用于 RBAC 用户配置文件的密码。
name null 要用于 RBAC 用户配置文件的名称,建议设定为用户的全名。
roles [] 指定要分配给 RBAC 用户配置文件的角色。
groups null 指定要添加用户的组。
domain local 指定用于 RBAC 用户配置文件的 auth_domain,可以设置为 local 或 external。
示例
couchbase_users:
  - username: aaronb
    name: Aaron B
    roles:
      - admin
      - cluster_admin
    groups:
      - Demo
    auth_domain: external
  - username: jadt
    password: password
    name: Jad Talbert
    roles:
      - admin
      - cluster_admin
    groups:
      - Demo
      - Test
    auth_domain: local

couchbase_indexes[]

couchbase_indexes 变量默认是一个空列表。当指定时每个元素可用的属性如下,bucketdefinition 属性是必需的,所有其他属性是可选的,如果未指定,将分配默认值。

变量 默认 说明
*bucket null 要在其上创建索引的桶的名称
*definition null 要创建的索引定义。
num_replicas null 要创建的副本数量
num_partitions null 使用 PARTITION BY 时要创建的索引分区数量
nodes [] 要将索引部署到的节点列表
sec_key_size null 组合索引键值的平均长度
doc_key_size null 文档键的平均长度
arr_size null 数组字段的平均长度。非数组字段将被忽略。
num_doc null 预计索引中将包含的文档数量
resident_ratio null 索引的估计常驻比
示例
couchbase_indexes:
  - bucket: demo
    definition: CREATE INDEX idx_test ON demo (username)
    replicas: 1
  - bucket: demo
    definition: CREATE INDEX idx_test2 ON demo (email)
    replicas: 1
  - bucket: ecommerce
    definition: CREATE INDEX idx_test3 ON demo (username)
    replicas: 1
关于项目

Installs, initializes and configures Couchbase Server clusters

安装
ansible-galaxy install couchbaselabs.couchbase_server
许可证
apache-2.0
下载
9.2k
拥有者