RedisEnterpriseActiveActiveDatabase API 参考
apiVersion:
app.redislabs.com/v1alpha1
RedisEnterpriseActiveActiveDatabase 是 redisenterpriseactiveactivedatabase API 的架构
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
apiVersion | string | app.redislabs.com/v1alpha1 | true |
类型 | 字符串 | RedisEnterpriseActiveActiveDatabase | true |
metadata | object | 请参考Kubernetes API文档以了解`metadata`字段的详细信息。 | true |
spec | object |
RedisEnterpriseActiveActiveDatabaseSpec 定义了 RedisEnterpriseActiveActiveDatabase 的期望状态 |
false |
status | object |
RedisEnterpriseActiveActiveDatabaseStatus 定义了 RedisEnterpriseActiveActiveDatabase 的观察状态 |
false |
规格
RedisEnterpriseActiveActiveDatabaseSpec 定义了 RedisEnterpriseActiveActiveDatabase 的期望状态
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
participatingClusters | []object |
实例/集群的规范和配置列表。 |
true |
globalConfigurations | object |
Active-Active数据库的全局配置,包含Active-Active数据库中每个参与集群/实例数据库的全局属性。 |
false |
redisEnterpriseCluster | object |
连接到 Redis 企业集群 |
false |
spec.participatingClusters[]
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
name | string |
要链接的远程集群CR的名称。 |
true |
spec.globalConfigurations
Active-Active数据库的全局配置,包含Active-Active数据库中每个参与集群/实例数据库的全局属性。
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
activeActive | object |
连接到Active-Active数据库的关联。 |
false |
backup | object |
自动数据库备份的目标。 |
false |
clientAuthenticationCertificates | []string |
包含用于身份验证的TLS客户端证书的Secrets |
false |
dataInternodeEncryption | boolean |
节点间加密(INE)设置。一个可选的布尔设置,覆盖类似的集群范围策略。如果设置为False,则保证为此数据库关闭INE(无论集群范围策略如何)。如果设置为True,则INE将开启,除非数据库不支持该功能(在这种情况下,我们将收到错误并且数据库创建将失败)。如果未指定,则在数据库不支持节点间加密时将禁用(无论集群默认设置如何)。在显式设置其值后删除此属性将不会产生任何影响。 |
false |
databasePort | integer |
数据库端口号。数据库可用的TCP端口。如果省略,将自动生成。创建后无法更改 |
false |
databaseSecretName | string |
保存数据库密码的密钥名称(仅适用于redis数据库)。如果密钥不存在,将会创建。要定义密码,创建一个不透明的密钥并在spec中设置名称。密码将从'password'键的值中获取。在密钥中使用空字符串作为值以禁用数据库的身份验证。注意 - 对于Active-Active数据库,此密钥不会自动创建,此外,memcached数据库不得设置值,并且不会为它们自动创建密钥/密码。使用memcachedSaslSecretName字段为memcached数据库设置身份验证参数。 |
false |
defaultUser | boolean |
是否允许使用默认用户连接?如果禁用,将不会创建或更新DatabaseSecret |
false |
evictionPolicy | string |
数据库驱逐策略。查看更多 https://docs.redislabs.com/latest/rs/administering/database-operations/eviction-policy/ |
false |
isRof | boolean |
是否为RoF数据库。仅适用于类型为"REDIS"的数据库。如果留空,则假定为false。 |
false |
memcachedSaslSecretName | string |
用于memcached数据库中二进制身份验证的凭据。这些凭据应保存为不透明的秘密,并且应使用此字段配置该秘密的名称。对于用户名,使用'username'作为键,实际用户名作为值。对于密码,使用'password'作为键,实际密码作为值。请注意,连接未加密。 |
false |
memorySize | string |
数据库的内存大小。使用格式如100MB, 0.1GB。最小值为100MB。当启用Redis on Flash (RoF)时,此值指的是RAM+Flash内存,且不得低于1GB。 |
false |
modulesList | []object |
与数据库关联的模块列表。注意 - 对于Active-Active数据库,此功能目前处于预览阶段。要使此功能对Active-Active数据库生效,请将名为“ENABLE_ALPHA_FEATURES”的布尔环境变量设置为True。此变量可以通过redis-enterprise-operator pod规范或通过operator-environment-config Config Map设置。 |
false |
ossCluster | boolean |
OSS集群模式选项。请注意,并非所有客户端库都支持OSS集群模式。 |
false |
persistence | enum |
数据库磁盘持久化策略 枚举: 禁用, 每秒AOF, 总是AOF, 每小时快照, 每6小时快照, 每12小时快照 |
false |
proxyPolicy | string |
用于代理绑定到端点的策略。支持的代理策略有:single/all-master-shards/all-nodes 当留空时,将根据ossCluster的值选择默认值 - 如果禁用则为single,启用时为all-master-shards |
false |
rackAware | boolean |
数据库是否应该具备机架感知能力。这提高了可用性 - 更多信息:https://docs.redislabs.com/latest/rs/concepts/high-availability/rack-zone-awareness/ |
false |
redisEnterpriseCluster | object |
连接到 Redis 企业集群 |
false |
replicaSources | []object |
从哪些数据库复制 |
false |
replication | boolean |
内存数据库复制。启用后,数据库将为每个主分片创建一个副本分片,从而提高可用性。默认为 false。 |
false |
resp3 | boolean |
此数据库是否支持RESP3协议。注意 - 在明确设置其值后删除此属性将不会产生任何效果。请查看RS文档中的相应字段以获取更多信息。 |
false |
rofRamSize | string |
RoF数据库的RAM部分的大小。类似于"memorySize",使用格式如100MB, 0.1GB。它必须至少是"memorySize"指定的总内存大小(RAM+Flash)的10%。 |
false |
rolesPermissions | []object |
Redis企业版ACL和角色绑定列表 |
false |
shardCount | integer |
数据库服务器端分片数量 |
false |
shardingEnabled | boolean |
切换REAADBs(Active Active数据库)的数据库分片功能,默认启用。此字段对REDB(非Active Active数据库)被阻止,分片功能通过shardCount字段切换 - 当shardCount为1时禁用,否则启用。 |
false |
shardsPlacement | string |
控制分片的密度 - 它们应该尽可能少或尽可能多地驻留在节点上。可用的选项是"dense"或"sparse"。如果未设置,默认为"dense"。 |
false |
tlsMode | enum |
要求对数据库的连接进行SSL认证和加密。enabled - 所有对数据库的传入连接必须使用SSL。disabled - 对数据库的传入连接不应使用SSL。replica_ssl - 从此数据库复制的数据库需要使用SSL。 枚举: disabled, enabled, replica_ssl |
false |
type | enum |
数据库的类型。 枚举: redis, memcached |
false |
upgradeSpec | object |
数据库升级的规格。 |
false |
spec.globalConfigurations.activeActive
与Active-Active数据库的连接/关联。
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
name | string |
对应的Active-Active数据库名称,Redis Enterprise Active Active Database自定义资源名称,此资源与之关联。如果此资源是在创建Active-Active数据库时手动创建的,则必须由用户填写此字段,否则,操作员将自动分配此字段。注意:此功能目前不受支持。 |
true |
participatingClusterName | string |
对应的参与集群名称,Redis Enterprise Remote Cluster自定义资源名称,在Active-Active数据库中,如果在创建Active-Active数据库时手动创建此资源,则必须由用户填写此字段,否则,操作员将自动分配此字段。注意:此功能目前不受支持。 |
true |
spec.globalConfigurations.backup
自动数据库备份的目标。
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
abs | object |
|
false |
ftp | 对象 |
|
false |
gcs | object |
GoogleStorage |
false |
interval | integer |
备份间隔时间,单位为秒 |
false |
mount | object |
挂载点存储 |
false |
s3 | 对象 |
|
false |
sftp | object |
|
false |
swift | 对象 |
|
false |
spec.globalConfigurations.backup.abs
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
absSecretName | string |
保存ABS凭证的密钥名称。密钥必须包含"AccountName"和"AccountKey"键,并且这些键必须保存相应的凭证 |
true |
container | string |
Azure Blob 存储容器名称。 |
true |
subdir | string |
可选的。Azure Blob Storage 容器下的子目录。 |
false |
spec.globalConfigurations.backup.ftp
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
url | string |
一个格式为 "ftps://[USER[:PASSWORD]@]HOST[:PORT]/PATH[/]" 的URI |
true |
spec.globalConfigurations.backup.gcs
Google存储
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
bucketName | string |
Google Storage 存储桶名称。 |
true |
gcsSecretName | string |
保存Google Cloud Storage凭据的密钥名称。密钥必须包含"CLIENT_ID"、"PRIVATE_KEY"、"PRIVATE_KEY_ID"、"CLIENT_EMAIL"这些键,并且这些键必须保存相应的凭据。这些键应与密钥JSON中的值对应。 |
true |
subdir | string |
可选的。Google Storage 存储桶下的子目录。 |
false |
spec.globalConfigurations.backup.mount
挂载点存储
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
path | string |
本地挂载点的路径。您必须在所有节点上创建挂载点,并且redislabs:redislabs用户必须对本地挂载点具有读写权限。 |
true |
spec.globalConfigurations.backup.s3
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
awsSecretName | string |
保存AWS凭证的密钥名称。密钥必须包含“AWS_ACCESS_KEY_ID”和“AWS_SECRET_ACCESS_KEY”这两个键,并且这些键必须保存相应的凭证。 |
true |
bucketName | string |
Amazon S3 存储桶名称。 |
true |
subdir | string |
可选的。Amazon S3 存储桶下的子目录。 |
false |
spec.globalConfigurations.backup.sftp
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
sftpSecretName | string |
保存SFTP凭据的密钥名称。密钥必须包含"Key"键,这是用于连接到SFTP服务器的SSH私钥。 |
true |
sftp_url | string |
SFTP 网址 |
true |
spec.globalConfigurations.backup.swift
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
auth_url | string |
Swift服务认证URL。 |
true |
container | string |
用于存储备份文件的Swift对象存储容器。 |
true |
swiftSecretName | string |
保存Swift凭证的密钥名称。密钥必须包含"Key"和"User"键,并且这些键必须保存相应的凭证:服务访问密钥和服务用户名(后者的模式不允许特殊字符&,<,>,") |
true |
prefix | string |
可选的。Swift容器中备份文件的前缀(路径)。 |
false |
spec.globalConfigurations.modulesList[]
Redis 企业模块: https://redislabs.com/redis-enterprise/modules/
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
name | string |
模块的名称,例如redissearch的"ft" |
true |
config | string |
模块命令行参数,例如 VKEY_MAX_ENTITY_COUNT 30 |
false |
uid | string |
模块的uid - 不要设置,仅供系统使用 nolint:staticcheck // 自定义的json标签,linter无法识别 |
false |
version | string |
模块的语义版本,例如 "1.6.12" - 仅在REDB中可选,在REAADB中必须设置 |
false |
spec.globalConfigurations.redisEnterpriseCluster
连接到Redis企业集群
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
name | string |
数据库应存储的Redis企业集群的名称。 |
true |
spec.globalConfigurations.replicaSources[]
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
replicaSourceName | string |
从中派生源数据库URI的资源名称。资源的类型必须与ReplicaSourceType字段中指定的类型匹配。 |
true |
replicaSourceType | string |
源数据库URI的资源类型。如果设置为'SECRET',源数据库URI将从ReplicaSourceName字段中命名的密钥派生。密钥必须有一个名为'uri'的键,该键定义了源数据库的URI,形式为'redis://...'。密钥的类型(kubernetes、vault等)由底层REC对象使用的密钥机制决定。如果设置为'REDB',源数据库URI将从ReplicaSourceName字段中命名的RedisEnterpriseDatabase资源派生。 |
true |
clientKeySecret | string |
定义同步器在目标数据库集群中使用的客户端证书和密钥的密钥。该密钥必须在其映射中有2个键:"cert"是PEM编码的证书,"key"是PEM编码的私钥。 |
false |
compression | integer |
用于复制的GZIP压缩级别(0-6)。 |
false |
serverCertSecret | string |
定义源数据库集群中代理使用的服务器证书的Secret。该secret必须在其映射中有一个键:"cert",即PEM编码的证书。 |
false |
tlsSniName | string |
用于复制链接的TLS SNI名称。 |
false |
spec.globalConfigurations.rolesPermissions[]
Redis 企业角色和 ACL 绑定
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
acl | string |
RolePermissionType 的 Acl 名称(注意:使用 Redis Enterprise ACL 列表中的确切 ACL 名称,区分大小写) |
true |
role | string |
角色权限类型的角色名称(注意:使用Redis Enterprise角色列表中的确切角色名称,区分大小写) |
true |
type | string |
Redis企业数据库角色权限的类型 |
true |
spec.globalConfigurations.upgradeSpec
数据库升级的规范。
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
upgradeModulesToLatest | boolean |
在数据库升级操作期间,将模块升级到支持数据库版本的最新版本,要升级数据库版本,请查看 'redisVersion' 字段。注意 - 此字段目前不支持 Active-Active 数据库。 |
true |
spec.redisEnterpriseCluster
连接到Redis企业集群
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
name | string |
数据库应存储的Redis企业集群的名称。 |
true |
状态
RedisEnterpriseActiveActiveDatabaseStatus 定义了 RedisEnterpriseActiveActiveDatabase 的观察状态
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
clusterCertificatesGeneration | integer |
集群的Proxy和Syncer证书的版本。在Active-Active数据库中,这些用于检测证书的更新,并触发参与集群之间的同步。 格式: int64 |
false |
guid | string |
对应的双活数据库的GUID。 |
false |
lastTaskUid | string |
最后一个活动的数据库任务UID。 |
false |
linkedRedbs | []string |
关联的REDBs。 |
false |
participatingClusters | []object |
实例/集群状态的列表。 |
false |
redisEnterpriseCluster | string |
此资源关联的Redis企业集群对象 |
false |
replicationStatus | enum |
整体复制状态 枚举: up, down |
false |
secretsStatus | []object |
密钥的状态 |
false |
specStatus | string |
所需规格是否有效 |
false |
status | string |
活动数据库的状态。 |
false |
status.participatingClusters[]
参与集群的状态。
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
name | string |
链接的远程集群CR的名称。 |
true |
id | integer |
在主动-主动数据库中实例的对应ID。 格式: int64 |
false |
replicationStatus | enum |
参与集群的复制状态 枚举: up, down |
false |
status.secretsStatus[]
密钥的状态。
名称 | 类型 | 描述 | 是否必需 |
---|---|---|---|
name | string |
密钥的名称。 |
true |
status | enum |
密钥的状态。 枚举: 有效, 无效 |
false |