반응형
개요
쿠버네티스 API를 이용하여 pod를 조회하는 로직이 있는데, 예외 라벨규칙이 계속 추가되면서 if~else가 많아졌습니다. if~else를 어떻게 하면 덜 사용할 수 있을까를 고민하다가 클래스 상속을 사용해보기로 했습니다.
개선 방법
pod조회시 사용하는 라벨을 오버라이딩 하는 방법을 선택했습니다. 기본 클래스는 pod조회할 때 사용할 라벨을 함수를 사용하여 생성합니다. 예외 규칙이 필요한 pod는 클래스를 상속하여 라벨생성 함수만 오버라이딩하여 if~else를 제거 했습니다.
class Parent:
def serach_pods(self):
labels = self.generate_labels()
pod 조회(labels)
def generate_labels(self):
return "a=b"
class 예외규칙1(Parent):
def generate_labels(self):
return "hello=world"
class 예외규칙2(Parent):
def generate_labels(self):
return "this=that"
반응형
'회고모음' 카테고리의 다른 글
엘라스틱서치 allocation장애 해결 (0) | 2023.03.20 |
---|---|
부분 폐쇄망에서 누군가 chatgpt API쓰다가 ... (0) | 2023.03.10 |
주말에 오픈소스 업그레이드 지원을 가면서 ... (1) | 2023.02.12 |
토요일에 일하면서 알게된것 (0) | 2023.02.05 |
kubernetes feature gates (0) | 2023.01.27 |