보이지 않는 재작성: 쿠버네티스 이미지 프로모터 현대화 노트

보이지 않는 재작성: 쿠버네티스 이미지 프로모터 현대화

Kubernetes 이미지 프로모터인 kpromo가 성능과 유지보수성을 향상시키기 위해 완전히 재작성되었습니다. 핵심 기능은 컨테이너 이미지를 스테이징 레지스트리에서 프로덕션 레지스트리로 복사하고, 서명하며, 서명을 복제하고, Kubernetes 릴리스에 필수적인 증명을 생성하는 것입니다. 재작성은 기존 코드베이스의 복잡성, 느린 성능, 잦은 속도 제한 오류로 인해 시작되었습니다. 프로젝트는 속도 제한, 인터페이스, 파이프라인 엔진 및 보안 기능을 해결하는 단계적 접근 방식을 따랐습니다. 주요 개선 사항으로는 파이프라인 엔진 간소화, 레지스트리 읽기 병렬화, 타임아웃 및 연결 재사용 구현 등이 있습니다. 재작성 결과 코드베이스가 20% 작아졌으며 성능, 견고성, 그리고 프로비넌스와 같은 새로운 기능이 향상되었습니다. 광범위한 변경에도 불구하고 재작성 팀은 사용자 워크플로우를 깨뜨리지 않기 위해 노력했습니다. 팀은 단계적 릴리스 동안 사소한 회귀를 식별하고 빠르게 수정했습니다. 향후 계획에는 서명 복제를 제거하여 더욱 간소화하고, 라우팅을 위해 archeio를 사용하거나 서명을 레지스트리 인프라에 더 가깝게 통합하는 것이 포함됩니다. 이 프로젝트는 오랜 커뮤니티 노력의 결과였습니다.