The target-side replication service is responsible for executing asynchronous replication and fault handling jobs, managing associated asynchronous replication plans, replication objects, and other resources, and interacting with AOC, ABS, and the source-side replication service to query, read, and write data.
Three core service modules run as containers in the target-side replication service virtual machine: kube-apiserver, etcd, and controller-manager.
kube-apiserver is the data bus and data hub of the target-side replication service, and serves as the hub for data interaction and communication between the target-side replication service and other components. kube-apiserver provides HTTP REST APIs for managing metadata.
When operations such as creating asynchronous replication plans and executing asynchronous replication and fault handling jobs are performed, AOC Server and controller-manager query, create, modify, or delete resource objects through kube-apiserver. kube-apiserver persistently stores all metadata of the target-side replication service that it obtains in etcd.
etcd is a distributed key-value store and is also the default data storage engine of Kubernetes. etcd persistently stores all metadata of the target-side replication service obtained by kube-apiserver, such as replication plans, replication jobs, and restore points.
controller-manager is the module in the target-side replication service that is responsible for scheduling asynchronous replication plans and executing asynchronous replication and fault handling logic.
controller-manager includes multiple controllers. Each controller is responsible for scheduling, managing, and executing jobs for a corresponding type of resource. The controllers perform the following tasks:
When executing replication and fault handling jobs, controller-manager interacts with other components, including: