반응형
shared informer
-
K8S Operator indexer 사용해서 성능 높이기K8S 2022. 12. 19. 18:00
operator를 만들 때, 만약 controller가 어떤 오브젝트의 특정 필드를 자주 찾아야 한다면 go client의 인덱싱을 이용하여 성능을 높일 수 있다. go client는 제일 처음 object를 List를 한번 해오고 이후부터는 watch를 통해서 변화를 감지한다. 이후 shared index informer에서 watch해서 변화된 내용을 work queue에 담아 controller로 보낸 후, controller의 reconcile loop에서 비즈니스 로직이 수행된다. shared index informer에는 캐시를 저장하는데 이는 reconcile 루프에서 indexer를 통해서 접근할 수 있다. 여기서 indexer는 특정 키를 기준으로 캐시에 index를 할 수있게 만든 것이..