查看连接状态
# 查看正常状态
$ kubectl -n default get activeredisconnections
NAME INSTANCE STATUS MESSAGE AGE
c6-dest-conn c6-dest Healthy 35s
# 查看异常状态
$ kubectl -n default get activeredisconnections
NAME INSTANCE STATUS MESSAGE AGE
c6-dest-conn c6-dest Failed shard 0 status is Disconnected; shard 1 status is Disconnected; shard 2 status is Disconnected 86s
当 STATUS 为 Failed 时,表示实例 c6-dest 与上游的连接异常。可以查看 yaml 详情了解具体情况:
$ kubectl -n default get activeredisconnections c6-dest-conn -o yaml
apiVersion: redis.middleware.alauda.io/v1alpha1
kind: ActiveRedisConnection
metadata:
annotations:
cpaas.io/creator: admin
cpaas.io/updated-at: "2025-08-27T08:42:16Z"
creationTimestamp: "2025-08-27T08:42:16Z"
generation: 1
labels:
cpaas.io/activeredis: c6-dest-activeredis
cpaas.io/activeredis-instance: c6-dest
name: c6-dest-conn
namespace: default
ownerReferences:
- apiVersion: redis.middleware.alauda.io/v1alpha1
blockOwnerDeletion: true
controller: true
kind: ActiveRedis
name: c6-dest-activeredis
uid: ed1010f8-a70d-42ef-be19-0450478df137
resourceVersion: "19592690"
uid: 301f77be-ff52-4e50-98d0-d85a38e2415a
spec:
addresses:
- 192.168.1.11:30011
instance: c6-dest
pause: true
secretName: c6-dest-conn-password
status:
instance: c6-dest
message: shard 0 status is Disconnected; shard 1 status is Disconnected; shard 2
status is Disconnected
shards:
- index: 0
offset: "0"
opId: "0"
status: Disconnected
syncStatus: PartialSync
- index: 1
offset: "0"
opId: "0"
status: Disconnected
syncStatus: PartialSync
- index: 2
offset: "0"
opId: "0"
status: Disconnected
syncStatus: PartialSync
status: Failed
upstreamPeer:
service_id: 0
service_metadata:
instance: default/c6
与源断开连接
在人工确认源确实异常后,需要断开目标实例与源的灾备链路,防止脏数据引入。
$ kubectl -n default delete activeredisconnections c6-dest-conn
删除对应的 ActiveRedisConnection 资源后,Redis 实例已成为独立的源实例,客户端访问地址即可安全切换至该实例进行读写。
当目标与源的连接异常后,Redis 实例的灾备标签页显示 传输状态:异常,拓扑左上角出现 Failover 按钮。出现 Failover 按钮时,即可进行灾备集群切换。
- 在左侧导航栏进入 Redis。
- 选择包含实例的命名空间名称。
- 点击实例名称进入详情。
- 在
Disaster Recovery 标签页点击 Failover 按钮。
- 弹出窗口中再次点击 Failover 确认。
第二次点击 Failover 后,Redis 实例已成为独立的源实例,客户端访问地址即可安全切换至该实例进行读写。