RedisEnterpriseDatabase API 参考
apiVersion:
app.redislabs.com/v1alpha1
RedisEnterpriseDatabase 是 redisenterprisedatabases API 的架构
名称 |
类型 |
描述 |
是否必需 |
apiVersion |
string |
app.redislabs.com/v1alpha1 |
true |
类型 |
字符串 |
RedisEnterpriseDatabase |
true |
metadata |
object |
请参考Kubernetes API文档以了解`metadata`字段的详细信息。 |
true |
spec |
object |
RedisEnterpriseDatabaseSpec 定义了 RedisEnterpriseDatabase 的期望状态
|
false |
status |
object |
RedisEnterpriseDatabaseStatus 定义了 RedisEnterpriseDatabase 的观察状态
|
false |
规格
↩ 父级
RedisEnterpriseDatabaseSpec 定义了 RedisEnterpriseDatabase 的期望状态
名称 |
类型 |
描述 |
是否必需 |
activeActive |
object |
连接到Active-Active数据库的关联。
|
false |
alertSettings |
object |
数据库警报的设置
|
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 |
是否允许使用默认用户连接?
|
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设置。注意 - 如果您不想升级到最新版本,必须将upgradeSpec -> upgradeModulesToLatest设置为false。如果您指定了版本但未设置upgradeModulesToLatest,可能会导致操作员出现错误。此外,指定特定版本的选项已被弃用,并将在未来的版本中删除。
|
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 |
redisVersion |
string |
Redis OSS 版本。版本可以通过 前缀指定,或者通过渠道指定 - 对于现有数据库 - 升级 Redis OSS 版本。对于新数据库 - 数据库将创建的版本。如果设置为 'major' - 将始终升级到最新的主要 Redis 版本。如果设置为 'latest' - 将始终升级到最新的 Redis 版本。取决于 'redisUpgradePolicy' - 如果你想为某些数据库将此值设置为 'latest',你必须先在集群上设置 redisUpgradePolicy。可能的值是 'major' 或 'latest' 使用升级时 - 请确保在升级前备份数据库。此值仅用于数据库类型 '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 |
enum |
控制分片的密度 - 它们应该尽可能少或尽可能多地驻留在节点上。可用的选项是 "dense" 或 "sparse"。如果未设置,默认为 "dense"。
枚举: dense, sparse
|
false |
tlsMode |
enum |
要求对数据库的连接进行SSL认证和加密。enabled - 所有对数据库的传入连接必须使用SSL。disabled - 对数据库的传入连接不应使用SSL。replica_ssl - 从此数据库复制的数据库需要使用SSL。
枚举: disabled, enabled, replica_ssl
|
false |
type |
enum |
数据库的类型(redis 或 memcached)。默认为 "redis"。
枚举: redis, memcached
|
false |
upgradeSpec |
object |
数据库升级的规格。
|
false |
spec.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.alertSettings
↩ 父级
数据库警报设置
spec.alertSettings.bdb_backup_delayed
↩ 父级
定期备份的延迟时间已超过指定的阈值[分钟]。-注意阈值已被注释(允许字符串/整数/浮点数并支持向后兼容),但这是必需的
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.alertSettings.bdb_crdt_src_high_syncer_lag
↩ 父级
主动-主动源 - 同步延迟高于指定的阈值 [秒] - 注意阈值被注释(允许字符串/整数/浮点数并支持向后兼容),但这是必需的
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.alertSettings.bdb_crdt_src_syncer_connection_error
↩ 父级
主动-主动源 - 同步在尝试连接副本源时出现连接错误 - 注意阈值已被注释(允许字符串/整数/浮点数并支持向后兼容),但这是必需的
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.alertSettings.bdb_crdt_src_syncer_general_error
↩ 父级
主动-主动源 - 同步遇到一般错误 - 注意阈值被注释(允许字符串/整数/浮点数并支持向后兼容)但是必需的
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.alertSettings.bdb_高延迟
↩ 父级
延迟高于指定的阈值 [微秒] -注意阈值被注释(允许字符串/整数/浮点数并支持向后兼容)但是是必需的
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.alertSettings.bdb_高吞吐量
↩ 父级
吞吐量高于指定的阈值 [请求/秒] - 注意阈值被注释(允许字符串/整数/浮点数并支持向后兼容),但这是必需的
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.alertSettings.bdb_long_running_action
↩ 父级
对于运行时间过长的状态机的警报 - 注意阈值已被注释(允许字符串/整数/浮点数并支持向后兼容),但这是必需的
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.alertSettings.bdb_low_throughput
↩ 父级
吞吐量低于指定的阈值 [请求/秒] - 注意阈值被注释(允许字符串/整数/浮点数并支持向后兼容),但这是必需的
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.alertSettings.bdb_ram_dataset_overhead
↩ 父级
分片的数据集RAM开销已达到阈值[其RAM限制的百分比] -注意阈值被注释(允许字符串/整数/浮点数并支持向后兼容)但是必需的
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.alertSettings.bdb_ram_values
↩ 父级
分片中保留在RAM中的值的百分比低于[其键数的百分比] - 注意阈值已被注释(允许字符串/整数/浮点数并支持向后兼容),但这是必需的
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.alertSettings.bdb_replica_src_high_syncer_lag
↩ 父级
Replica-of source - 同步延迟高于指定的阈值 [秒] - 注意阈值被注释(允许字符串/整数/浮点数并支持向后兼容)但为必需
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.alertSettings.bdb_replica_src_syncer_connection_error
↩ 父级
副本源 - 同步在尝试连接副本源时出现连接错误 - 注意阈值已被注释(允许字符串/整数/浮点数并支持向后兼容),但这是必需的
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.alertSettings.bdb_shard_num_ram_values
↩ 父级
保存在分片RAM中的值的数量低于[values] -注意阈值已被注释(允许字符串/整数/浮点数并支持向后兼容),但这是必需的
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.alertSettings.bdb_size
↩ 父级
数据集大小已达到阈值[内存限制的百分比] 预期字段:-注意阈值被注释(允许字符串/整数/浮点数并支持向后兼容)但是必需的
名称 |
类型 |
描述 |
是否必需 |
enabled |
boolean |
警报启用或禁用
|
false |
spec.backup
↩ 父级
自动数据库备份的目标。
名称 |
类型 |
描述 |
是否必需 |
abs |
object |
|
false |
ftp |
对象 |
|
false |
gcs |
object |
GoogleStorage
|
false |
interval |
integer |
备份间隔时间,单位为秒
|
false |
mount |
object |
挂载点存储
|
false |
s3 |
对象 |
|
false |
sftp |
object |
|
false |
swift |
对象 |
|
false |
spec.backup.abs
↩ 父级
名称 |
类型 |
描述 |
是否必需 |
absSecretName |
string |
保存ABS凭证的K8s密钥的名称。密钥必须包含"AccountName"和"AccountKey"键,并且这些键必须保存相应的凭证
|
true |
container |
string |
Azure Blob 存储容器名称。
|
true |
subdir |
string |
可选的。Azure Blob Storage 容器下的子目录。
|
false |
spec.backup.ftp
↩ 父级
名称 |
类型 |
描述 |
是否必需 |
url |
string |
ftps://[USER[:PASSWORD]@]HOST[:PORT]/PATH[/] 的 URI
|
true |
spec.backup.gcs
↩ 父级
Google存储
名称 |
类型 |
描述 |
是否必需 |
bucketName |
string |
Google Storage 存储桶名称。
|
true |
gcsSecretName |
string |
保存Google Cloud Storage凭据的K8s密钥的名称。密钥必须包含“CLIENT_ID”、“PRIVATE_KEY”、“PRIVATE_KEY_ID”、“CLIENT_EMAIL”这些键,并且这些键必须保存相应的凭据。这些键应与密钥JSON中的值对应。
|
true |
subdir |
string |
可选的。Google Storage 存储桶下的子目录。
|
false |
spec.backup.mount
↩ 父级
挂载点存储
名称 |
类型 |
描述 |
是否必需 |
path |
string |
本地挂载点的路径。您必须在所有节点上创建挂载点,并且redislabs:redislabs用户必须对本地挂载点具有读写权限。
|
true |
spec.backup.s3
↩ 父级
名称 |
类型 |
描述 |
是否必需 |
awsSecretName |
string |
保存AWS凭证的K8s密钥的名称。该密钥必须包含键“AWS_ACCESS_KEY_ID”和“AWS_SECRET_ACCESS_KEY”,并且这些键必须保存相应的凭证。
|
true |
bucketName |
string |
Amazon S3 存储桶名称。
|
true |
subdir |
string |
可选的。Amazon S3 存储桶下的子目录。
|
false |
spec.backup.sftp
↩ 父级
名称 |
类型 |
描述 |
是否必需 |
sftpSecretName |
string |
保存SFTP凭据的K8s密钥的名称。该密钥必须包含“Key”键,这是用于连接到sftp服务器的SSH私钥。
|
true |
sftp_url |
string |
SFTP 网址
|
true |
spec.backup.swift
↩ 父级
名称 |
类型 |
描述 |
是否必需 |
auth_url |
string |
Swift服务认证URL。
|
true |
container |
string |
用于存储备份文件的Swift对象存储容器。
|
true |
swiftSecretName |
string |
保存Swift凭证的K8s密钥的名称。密钥必须包含"Key"和"User"键,并且这些键必须保存相应的凭证:服务访问密钥和服务用户名(后者的模式不允许特殊字符&,<,>,")
|
true |
prefix |
string |
可选的。Swift容器中备份文件的前缀(路径)。
|
false |
spec.modulesList[]
↩ 父级
Redis 企业模块: https://redislabs.com/redis-enterprise/modules/
名称 |
类型 |
描述 |
是否必需 |
name |
string |
模块的名称,例如redissearch的"ft"
|
true |
config |
string |
模块命令行参数,例如 VKEY_MAX_ENTITY_COUNT 30
|
false |
version |
string |
已弃用 - 模块的语义版本,例如 "1.6.12" - 仅在 REDB 中可选,在 REAADB 中必须设置
|
false |
spec.redisEnterpriseCluster
↩ 父级
连接到Redis企业集群
名称 |
类型 |
描述 |
是否必需 |
name |
string |
数据库应存储的Redis企业集群的名称。
|
true |
spec.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.rolesPermissions[]
↩ 父级
Redis 企业角色和 ACL 绑定
名称 |
类型 |
描述 |
是否必需 |
acl |
string |
角色权限类型的Acl名称
|
true |
role |
string |
角色权限类型的角色名称
|
true |
type |
string |
Redis企业数据库角色权限的类型
|
true |
spec.upgradeSpec
↩ 父级
数据库升级的规范。
名称 |
类型 |
描述 |
是否必需 |
upgradeModulesToLatest |
boolean |
已弃用 在数据库升级操作期间,将模块升级到支持数据库版本的最新版本,要升级数据库版本,请查看 'redisVersion' 字段。注意 - 所有模块必须不指定版本。此外,此字段目前不支持 Active-Active 数据库。默认值为 true
|
true |
状态
↩ 父级
RedisEnterpriseDatabaseStatus 定义了 RedisEnterpriseDatabase 的观察状态
名称 |
类型 |
描述 |
是否必需 |
activeActive |
object |
连接到Active-Active数据库的关联。
|
false |
backupInfo |
object |
数据库定期备份的信息
|
false |
createdTime |
string |
数据库创建的时间
|
false |
databaseUID |
string |
由Redis企业提供的数据库UID
|
false |
internalEndpoints |
[]object |
由Redis企业集群内部列出的端点。可用于关联ReplicaSourceStatus条目。
|
false |
lastActionStatus |
string |
操作员在此数据库上执行的最后操作的状态
|
false |
lastActionUid |
string |
操作员在此数据库上执行的最后一个操作的UID
|
false |
lastUpdated |
string |
数据库上次更新的时间
|
false |
observedGeneration |
integer |
完全作用于REDB资源的生成(K8s内置的更新计数器),意味着所有更改都已处理并作为API调用发送到Redis Enterprise Cluster(REC)。当资源更改被处理时,此字段值应等于当前生成。注意:lastActionStatus字段跟踪由Redis Enterprise Cluster异步处理的操作。
格式: int64
|
false |
redisEnterpriseCluster |
string |
此资源关联的Redis企业集群对象
|
false |
replicaSourceStatuses |
[]object |
副本源状态
|
false |
shardStatuses |
map[string]integer |
分片的聚合状态
|
false |
specStatus |
string |
所需规格是否有效
|
false |
status |
string |
数据库的状态
|
false |
version |
string |
数据库兼容版本
|
false |
状态.活跃活动
↩ 父级
与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 |
状态.备份信息
↩ 父级
关于数据库定期备份的信息
名称 |
类型 |
描述 |
是否必需 |
backupFailureReason |
string |
上次备份失败的原因
|
false |
backupHistory |
integer |
备份历史保留策略(天数,0表示永久保留)
|
false |
backupInterval |
integer |
自动备份启动的时间间隔,单位为秒
|
false |
backupIntervalOffset |
integer |
从备份间隔的整数倍开始自动备份的偏移量(以秒为单位)(应小于backup_interval)
|
false |
backupProgressPercentage |
integer |
数据库定期备份进度(百分比)
|
false |
backupStatus |
string |
计划定期备份过程的状态
|
false |
lastBackupTime |
string |
上次成功备份的时间
|
false |
status.internalEndpoints[]
↩ 父级
名称 |
类型 |
描述 |
是否必需 |
host |
string |
分配给数据库的主机名
|
false |
port |
integer |
数据库端口名称
|
false |
status.replicaSourceStatuses[]
↩ 父级
名称 |
类型 |
描述 |
是否必需 |
endpointHost |
string |
副本源数据库的内部主机名。可以用作标识符。请参阅REDB状态上的internalEndpoints列表。
|
true |
lag |
integer |
源和目标之间的延迟(毫秒)(同步时)。
|
false |
lastError |
string |
从源同步时遇到的最后一个错误。
|
false |
lastUpdate |
string |
我们最后一次从源接收到更新的时间。
|
false |
rdbSize |
integer |
同步阶段需要传输的源RDB大小。
|
false |
rdbTransferred |
integer |
在同步阶段从源的RDB传输的字节数。
|
false |
status |
string |
此源的同步状态
|
false |