Release Notes
v2.3.0 GA 릴리스
새로운 기능
- 클러스터별 Prometheus 에이전트 통합: 이전에는 각 클러스터 내의 각 프로젝트에 대해 모니터링을 위해 별도의 Prometheus 인스턴스가 생성되었습니다. 이제는 클러스터당 단일 Prometheus 인스턴스로 통합되었습니다. 그 결과, 데이터 플레인의 Prometheus 에이전트와 컨트롤 플레인의 Cortex에 대한 리소스 사용량이 줄어들었습니다.
- Loki 기반 통합 로깅 서비스로의 전환: 이전에 EFK 스택(Elasticsearch, Fluentbit, Kibana)을 통해 제공되던 로깅 서비스가 Loki 및 Promtail 기반 서비스로 변경되었습니다. Loki를 사용할 경우, 대부분의 경우 Elasticsearch에 비해 컨트롤 플레인에서 리소스 사용량을 절약할 수 있습니다. 로깅 서비스에 대한 로그 쿼리 및 시각화 서비스는 모니터링 서비스에 사용되는 동일한 Grafana와 통합되었으며, 일부 로그 관련 대시보드가 제공됩니다. 또한, 애플리케이션에 필요한 대시보드를 구성하고 로그를 볼 수 있습니다.
- Istio 및 관련 서비스(Kiali, Jaeger)에 대한 애드온 설치 및 통합: Istiod, Istio Ingress Gateway, Jaeger, Kiali 및 Prometheus에 대한 애드온 설치가 제공됩니다. 설치 중 각 서비스 간의 자동 구성 기능이 제공되며, Kiali의 경우 콘솔 사용자를 통해 인증/권한 부여 기능이 제공됩니다.
- 콘솔의 YAML 편집기 기능 개선: 콘솔에서 YAML 파일을 보기 또는 편집하기 위한 YAML 편집기 구성 요소가 변경되었습니다. 이제 편집기는 미니 맵 보기, 들여쓰기, 오타 및 구문 검사 등의 다양한 기능을 제공합니다.
- 컨테이너 이미지를 사용하여 애플리케이션 및 빌드 파이프라인 등록 기능 추가: 애플리케이션 빌드 파이프라인 없이도 컨테이너 이미지를 사용하여 애플리케이션 및 빌드 파이프라인을 등록하는 기능이 추가되었습니다.
- Deployment Groups에서 애플리케이션 구성 편집을 위한 편집기 모드 추가: 디플로이 그룹에서 애플리케이션 구성을 편집할 때 기존 UI 모드(미리 정의된 필드만 편집 가능) 외에 "편집기 모드"가 추가되었습니다. 편집기 모드에서는 YAML 편집기를 사용하여 애플리케이션 사양을 직접 편집할 수 있습니다.
- 콘솔의 Deployment Groups에 대한 입력 필드 개선:
- DeployGroup > Applications > Configuration에서 deployment 사양 입력에 대한 pod 주석 및 전략 필드가 추가되었습니다.
- DeployGroup > Applications > Configuration > Advanced > Health Check에서 startup probe 필드가 추가되었습니다.
- DeployGroup > Resources > PVC에서 storageClass 입력 필드가 텍스트 입력이 가능한 콤보 박스로 변경되었습니다.
- 콘솔에서 데이터 플레인 node 정보에 대한 taint 및 label 설정 기능 추가: System Management > Clusters > Node에서 node 정보를 편집하여 node taint 및 label을 설정하는 기능이 추가되었습니다.
- Alertmanager 설정 편집 기능 추가: System Management > Monitoring > Alertmanager에서 이전에 보기만 가능했던 Alertmanager 설정을 편집할 수 있는 기능이 추가되었습니다.
- Deployment Groups에서 GitOps를 위한 리포지토리 설정 기능 추가: Deployment Groups > Basic Info에서 GitOps를 위한 리포지토리를 설정하는 기능이 추가되었습니다.
- 콘솔에서 애플리케이션의 Git 대상 리포지토리 편집 기능 추가: Application Details > Basic Info에서 Git 대상 리포지토리를 편집할 수 있는 필드가 추가되었습니다.
개선 사항
-
로봇 계정 생성에 대한 추가 권한: 프로젝트가 생성될 때 생성된 로봇 계정은 이제 특정 리소스(아티팩트, 태그)를 나열할 수 있는 추가 권한을 갖습니다.
-
Deployment Groups에서 "Prevent Cascade Delete"가 설정된 경우 ArgoCD 앱 삭제 선택 옵션: DeployGroup에서 "Prevent Cascade Delete" 옵션이 설정된 경우, DeployGroup에 구성된 애플리케이션을 삭제할 때 ArgoCD 애플리케이션도 삭제할지 여부를 결정할 수 있는 프롬프트가 나타납니다. 이는 관련 워크로드가 클러스터에서 삭제된 후에도 ArgoCD 애플리케이션이 남아 계속 워크로드를 배포하는 문제를 해결합니다.
-
Deployment Groups에서 영역별 고유 Git 소스 보장 로직 추가: DeployGroups에 설정된 중복 Git 리포지토리로 인한 파일 덮어쓰기를 방지하기 위해 Git 리포지토리 주소가 전체 영역에서 고유한지 확인하는 로직이 추가되었습니다.
-
Deployment Groups 및 해당 애플리케이션 보기 시 DisplayName 표시: DeployGroups 또는 DeployGroup 내의 애플리케이션을 볼 때 이제 이름만 표시되는 대신 DisplayName과 Name이 모두 표시됩니다.
-
프로젝트 대시보드의 애플리케이션 섹션에서 애플리케이션 배포 상태 표시: 이전에 최신 빌드 상태를 표시하던 애플리케이션 섹션이 이제 최신 배포 상태를 표시합니다.
-
콘솔에서 K8s 리소스 보기 시 ManagedFields 제거: 콘솔에서 Kubernetes 리소스를 볼 때 더 이상 managedFields가 표시되지 않아 가독성이 향상되었습니다.
-
콘솔에서 pod 로그 보기 시 가독성 개선: In Console > Workload > Pods > Logs에서 수평 스크롤이 없고 어색한 줄 바꿈 문제를 수정하였으며, 로그 가독성을 높이기 위해 "줄 감싸기" 기능이 제공됩니다.
-
프로젝트 관리 클러스터에서 불필요한 필드 제거: 불필요한 Group 필드가 Project Management > Clusters 목록 보기에서 제거되었습니다.
-
스토리지에서 의도하지 않은 오류 처리 개선: 클러스터를 선택하지 않고 시스템/프로젝트의 스토리지 화면에서 리소스를 선택할 경우 잘못된 API 요청으로 인해 오류가 발생하는 문제를 수정했습니다.
-
애플리케이션 및 DeployGroup 목록 화면에서 표시되는 필드 조정: 애플리케이션 및 Deployment Groups 목록 화면에서 "설명" 필드가 제거되었으며, 이제 DisplayName(이름)만 표시됩니다.
-
프로젝트 관리에서 프로젝트 선택 화면에 스크롤바 추가: 사용자가 많은 프로젝트에 속하는 경우를 지원하기 위해 프로젝트 관리의 프로젝트 선택 화면에 스크롤바가 추가되었습니다.
-
DeployGroup에서 애플리케이션 배포 이력 조회 시 애플리케이션 제목 지정: Project Management > Deployment Groups > Applications에서 애플리케이션의 이력을 볼 때 현재 보고 있는 애플리케이션이 이력 제목으로 설정되어 쉽게 식별할 수 있습니다.
-
애플리케이션 및 DeployGroup 목록 보기에서 DisplayName 정렬 옵션 추가: DisplayName으로 정렬할 수 있는 옵션이 추가되어 애플리케이션과 DeployGroups를 목록 보기에서 DisplayName으로 정렬할 수 있습니다.
버그 수정
- 콘솔의 시스템 대시보드에서 숫자 형식 예외 문제 해결: System Admin > Dashboard 화면의 지속적인 볼륨 차트에서 숫자 형식 예외가 발생한 경우를 수정했습니다.
- 콘솔에서 빌드 파이프라인 이름을 변경할 때 빌드 이력이 사라지는 문제 수정: 기존 빌드 파이프라인의 이름을 변경할 때 빌드 이력이 사라지는 문제를 해결했습니다.
- 콘솔에서 디플로이 그룹 애플리케이션 헬스 체크 편집 시 저장 버튼이 비활성화되는 문제 수정: DeployGroup > Applications > Configuration > Advanced > Health Check 필드를 편집할 때 선택한 방법에 따라 저장 버튼이 비활성화되는 문제를 수정했습니다.
- 애플리케이션 파이프라인에서 Docker 빌드 중 간헐적인 빌드 실패 문제 해결: 5분 이상 소요되는 Docker 빌드가 재연결 오류로 인해 실패하여 권한 오류가 발생하는 문제를 수정했습니다.
- 프로젝트 생성 시 Harbor 로봇이 생성되지 않는 문제 수정: ArgoCD를 통해 배포된 Harbor 로봇이 프로젝트 생성 중에 생성되지 않는 문제를 해결했습니다.
- 실패한 배포가 Deployment Group 기록에서 성공으로 표시되는 문제 수정: 리소스 사양 불일치로 인한 배포 실패가 배포 기록에서 여전히 성공으로 표시되는 문제를 수정했습니다.
- UI에서 유효하지 않은 이름으로 파이프라인 생성 허용 문제 수정: 백엔드 로직에 따라 공백이나 밑줄이 포함된 파이프라인 생성을 방지하도록 UI와 CICD를 조정했습니다.
- 승인된 Git Secret에 대한 업데이트가 적용되지 않는 문제 수정: Console의 Application/DeployGroup에서 Secret을 승인된 계정으로 변경한 후에도 Secret이 적용되지 않아 파이프라인 빌드 또는 애플리케이션 배포가 실패하는 문제를 해결했습니다.
- 이전 배포가 배포 기록에서 실행 중 상태로 남아 있는 문제 수정: Console의 DeployGroup 섹션에서 기록을 볼 때 완료된 배포가 계속 실행 중으로 표시되는 문제를 해결했습니다.
- GitOps 리포 연결 테스트 중 필수 쓰기 권한 확인 누락 문제 수정: GitOps 리포 또는 Secret을 등록한 후 연결 테스트를 수행할 때 필수 쓰기 권한이 확인되지 않는 문제를 해결했습니다.
- Deployment Groups 삭제 시 사용자 RBAC가 삭제되지 않는 문제 수정: DeployGroup 생성 중 프로젝트 구성원에게 할당된 Kubernetes 권한이 DeployGroup 삭제 시 제거되지 않는 문제를 해결했습니다.
- Console의 웹 셸 사용 시 사용자 설정이 초기화되는 문제 수정: 웹 셸에 재연결할 때 .bashrc 및 .bash_profile과 같은 파일이 초기화되는 문제를 수정했습니다.
- Console 웹 셸에서 터미널 크기를 조정할 수 없는 문제 수정: 웹 셸을 사용할 때 터미널 창과 내부 콘텐츠 크기를 자연스럽게 조정할 수 있도록 동작을 개선했습니다.
- 로그인 시 너무 많은 리디렉션으로 Kibana에 접근할 수 없는 문제 수정: 사용자가 콘솔에서 너무 많은 역할을 할당받았을 때 "너무 많은 리디렉션" 오류로 Kibana에 접근할 수 없는 문제를 해결했습니다.
- 애플리케이션 복사 생성 시 레이아웃 문제 수정: 애플리케이션 복사 중 이미지 레지스트리 유효성 검사로 인해 발생한 레이아웃 불일치 문제를 해결했습니다.
- Cluster Nodes에서 Node Labels를 편집할 수 없던 문제 수정: System Management > Clusters > Worker Node에서 labels를 설정할 때 발생하던 404 오류를 해결했습니다.
- Deployment Groups에서 애플리케이션 배포 중 배포 버튼이 간헐적으로 비활성화되는 문제 수정: 배포를 실행하거나 취소한 후 다른 애플리케이션을 배포하려고 할 때 배포 버튼이 간헐적으로 비활성화되는 문제를 해결했습니다.
- 그룹에서 사용자를 볼 때 사용자 정보가 표시되지 않는 문제 수정: Project Management > Administrator > Groups > Users에서 사용자를 볼 때 역할, 그룹 및 생성된 필드가 표시되지 않는 문제를 해결했습니다.
- Console에서 Pod 상태가 실제 배포된 Pod 상태와 일치하지 않는 문제 수정: Project Management > Dashboard의 Pod 상태와 데이터 플레인에 배포된 Pod의 실제 상태 간의 불일치를 해결했습니다.
- Workloads/Networking/Storages 메뉴에서 프로젝트 전환 시 사용자 설정이 유지되는 문제 수정: Workloads/Networking/Storages 메뉴에서 프로젝트를 전환한 후에도 클러스터, 네임스페이스 및 필터 선택이 변경되지 않는 문제를 해결했습니다.
- 프로젝트의 스토리지 메뉴에서 StorageClass 리소스가 노출되는 문제 수정: 프로젝트 관리의 스토리지 메뉴에서 글로벌 리소스 StorageClass가 보이는 문제를 해결했습니다.
- K8s 리소스를 생성하거나 편집할 때 Marshal 관련 오류 수정: Workloads/Networking/Storages에서 YAML로 리소스를 생성하거나 편집할 때 발생한 400 JSON 오류를 해결했습니다.
- Workloads에서 삭제 성공 후에도 실패 메시지가 표시되고 목록이 새로 고쳐지지 않는 문제 수정: 리소스의 성공적인 삭제 후에도 "실패" 메시지가 나타나고 Workloads에서 추가 후 리소스 목록이 자동으로 새로 고쳐지지 않는 문제를 해결했습니다.
- Deployment Groups에서 Ingress URL 링크가 비정상적으로 표시되는 문제 수정: Ingress 탭에서 생성된 ingress 리소스의 도메인 및 경로에 여러 항목이 있을 때 대시보드의 Ingress URL이 올바르게 표시되지 않는 문제를 해결했습니다.
- Application 및 Deployment Group 이름이 동일할 때 빌드 및 배포 문제 수정: 애플리케이션과 디플로이 그룹의 이름이 동일할 때 Git 리포 Secret이 덮어써져 빌드 및 배포가 실패하는 문제를 해결했습니다.
- 파이프라인 빌드 중 긴 Git-Clone 단계에서 로그가 표시되지 않는 문제 수정: 애플리케이션 파이프라인 빌드 중 git-clone 단계가 오랜 시간이 걸릴 때 로그가 표시되지 않는 문제를 해결했습니다.
- 캐시 크기를 설정할 수 없는 문제 수정: Applications > Pipeline에서 캐시를 활성화할 수 있지만 크기를 설정할 수 없는 문제를 해결했습니다.
- Ingress 배포 시 TLS Secret 할당 실패 문제 수정: Deployment Groups > Ingress 배포 사양에서 TLS Secret을 지정할 때 Secret 없이 매니페스트가 생성되는 문제를 해결했습니다.
- 여러 프로젝트에 동일한 이름의 애플리케이션이 존재할 때 비정상적인 삭제 동작 수정: Deployment Groups에서 애플리케이션을 삭제할 때 동일한 이름의 다른 프로젝트의 애플리케이션도 삭제되는 문제를 해결했습니다.
- 사용자 이름에 점이 포함되거나 0으로 시작할 경우 웹 셸이 실행되지 않는 문제 수정: 사용자 이름에 점(.)이 포함되거나 0(0)으로 시작할 경우 웹 셸이 실행되지 않는 문제를 해결했습니다.
- Console 로그인 페이지에서 비활성 상태 후 404 오류 페이지가 발생하는 문제 수정: 30분 이상 로그인하지 않고 콘솔 페이지를 비활성 상태로 두고 로그인 버튼을 클릭할 경우 404 페이지로 리디렉션되는 문제를 해결했습니다.
- 파이프라인 생성 후 파이프라인 이름을 변경할 수 없는 문제 수정: 이제 파이프라인이 생성된 후에도 파이프라인 이름을 편집할 수 있도록 문제를 해결했습니다.