오퍼레이터
-
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를 할 수있게 만든 것이..
-
Operator-sdk 사용시 multiple controller 구조로 변경K8S 2022. 12. 5. 19:10
operator를 개발하다보면, 여러 개의 crd가 필요한 경우가 있다. 이 때는 워크로드에 따라 다르겠지만 가능하다면 하나의 operator안에 여러 개의 controller를 두어 crd를 관리하는 방법을 사용하는 것이 좋아보인다. 다음은 multi group과 관련된 참고용 URL이다. https://docs.okd.io/4.11/operators/operator_sdk/golang/osdk-golang-tutorial.html#osdk-golang-multi-group-apis_osdk-golang-tutorial Tutorial | Operators | OKD 4.11 Operator authors can develop Operators that support network proxies. Cl..