Resourse change

hi,
i like to understand how controllers are notified when object changes(pod is deleted or actuated).

Controllers have two main components: the Informer/SharedInformer and the Workqueue. Through these components, controllers regulate and maintain the cluster state.

When an object or resource is changed, the Resource Event Handler puts a key into the Workqueue.
Is this Workqueue running on worker?In this case,this workqueue call api server to notify informer(controller) that a resource has changed.
Correct?

We have an explicit watch operation, which is modelled as a long GET to the API server. During that time we send change events like “created” and “updated”, along with the body of the resources themselves.

You can kind of see it in action with:

kubectl get -w -o json svc hostnames \

jq -c --unbuffered .
bash -c ’
PREV=“{}”;
while read -r NEXT; do
diff -u <(echo -E “$PREV” | jq .) <(echo -E “$NEXT” | jq .);
PREV=$NEXT;
echo; done’ \

From what i seen,the client send watch request to api server,and this will return the result.
Ex.deployment controller will send watch request?

That is correct.