skip to Main Content
아코디언 2.5 릴리스

아코디언 2.5 릴리스

  • NEWS

아코디언팀에서는 최신 기술과 안전성을 유지하기 위해 지속적으로 소프트웨어를 개발 하며 업데이트하고 있습니다.

이에 맞춰 아코디언 또한 소프트웨어 품질을 높이기 위해 최선을 다하고 있습니다.

이번 아코디언 2.5 의 주요 내용은 쿠버네티스 1.25 지원과 CICD 트리거 기능 추가와 사용 편의성 개선, Cilium CNI 추가가 있습니다. 

📢 2.5.0 릴리스 하이라이트

  1. Kubernetes 1.25 지원
  2. 카탈로그/파이프라인 CI/CD 트리거 지원
  3. Cilium CNI 지원

⚙️ Kubernetes 1.25 지원

아코디언에서 Kubernetes 1.25 버전을 사용할 수 있습니다.

Kubernetes 1.25의 가장 큰 변화는 PodSecurityPolicy (PSP) 제거입니다.

PSP는 포드 보안 승인(PSA) 및 보드 보안 표준 (PSS)으로 대체됩니다. PSA은 PSS에서 간략히 설명된 보안 컨트롤을 구현하는 기본 제공 승인 컨트롤러입니다. PSA 및 PSS은 Kubernetes 1.25에서 안정화 상태로 전환되며 기본적 활성화됩니다. 클러스터에 PSP가 있는 경우 클러스터를 버전 1.25으로 업그레이드하기 전에 PSP를 빌트인 Kubernetes PSS 또는 policy-as-code 솔루션으로 마이그레이션해야 합니다.

PSP에서 마이그레이션하지 않으면 워크로드가 중단될 수 있습니다.

kubernetes 1.25 릴리스 내용은 kubernetes 1.25 글에서 확인할 수 있습니다.

🔫 카탈로그/파이프라인 CI/CD 트리거

애플리케이션 현대화나 클라우드네이티브를 구현하기 위해서는 지속적인 통합 및 제공(또는 지속적인 배포)을 나타내는 CI/CD가 필수적입니다.

CI/CD는 소프트웨어 응용 프로그램의 빌드, 테스트 및 배포를 자동화하는 것을 목표로 하는 일련의 프로세스또는 파이프라인입니다. 이런 CI/CD 파이프라인의 목표는 프로덕션에 대한 소프트웨어 변경 사항을 빠르고 안정적으로 전달하는 것입니다.

아코디언에서는 카탈로그와 파이프라인을 통해 CI/CD 파이프라인을 구축하고 클라우드 네이티브 환경에서 애플리케이션 개발과 배포를 쉽게 할 수 있도록 지원하고 있습니다.

이번 CI/CD 트리거 기능은 코드베이스의 자동 빌드, 테스트 및 배포 이벤트를 지원합니다. 이번 트리거 기능은 소프트웨어 제공 프로세스를 자동화하고 인적 오류 가능성을 줄여 소프트웨어 릴리스의 속도와 안정성을 높이는 것입니다.

트리거는 수동 또는 자동일 수 있으며 다양한 이벤트를 기반으로 실행시킬 수 있습니다.

아코디언에서 제공하는 트리거 유형은 다음과 같습니다.

  1. 코드 푸시 트리거(버전 관리 시스템의 저장소 변경 감지) : 개발자가 버전 관리 리포지토리(예: Git)에 새 코드 또는 변경 사항을 푸시할 때마다 CI/CD 파이프라인이 자동으로 트리거되어 업데이트된 코드를 빌드, 테스트 및 배포할 수 있습니다.
  2. 컨테이너 이미지 푸시 트리거(컨테이너 이미지 변경 및 외부 컨테이너 이미지 변경 감지) : 개발자가 컨테이너 이미지 저장소에 변경 사항을 푸시할 때마다 CI/CD 파이프라인이 자동으로 트리거되어 업데이트된 이미지를 빌드, 테스트 및 배포할 수 있습니다.
  3. 예약된 트리거 : CI/CD 파이프라인은 코드베이스와 컨테이너 이미지가 지속적으로 통합되고 테스트되도록 하루에 한 번 또는 일주일에 여러 번과 같은 특정 간격으로 실행되도록 설정할 수 있습니다.
  4. Webhooks 트리거(http 요청에 대한 응답 감지) : 버전 제어와 협업 플랫폼에서 특정 이벤트가 발생할 때 알림을 보내는 HTTP 콜백인 웹후크를 제공합니다. 아코디언 카탈로그와 파이프라인은 이러한 웹후크 이벤트를 수신하고 그에 따라 파이프라인을 트리거하도록 구성할 수 있습니다.
  5. Afterhooks 트리거 : 특정 카탈로그와 파이프라인이 업데이트될 때 자동으로 트리거되도록 CI/CD 파이프라인을 구성하여 연계된 애플리케이션이 최신 버전과 계속 호환되도록 할 수 있습니다.

Observers trigger

옵저버 트리거는 4가지 타입을 제공합니다. 

버전 관리 리포지토리의 변경을 감지하는 트리거와 컨테이너 이미지 저장소 변경을 감지하는 트리거, 

그리고 2.4에서 추가되었던 외부 컨테이너 이미지 변경을 감지하는 트리거가 개선되어 포함되어있습니다.

특정 이벤트 발생을 이용한 웹훅 트리거를 제공합니다.

트리거를 작동하기 위해서는 

권한을 부여받은 쿠버네티스 서비스 어카운트가 필요합니다.

그리고 트리거 타겟, 버전 관리 및 컨테이너 이미지 저장소 인증 정보가 필요하고

트리거 동작 모드를 지정합니다. 웹훅 트리거를 사용할 경우, 웹훅 정보를 입력 받아야합니다.

옵저버 트리거 스케쥴을 통해 트리거 동작을 예약할 수 있습니다.

스케쥴은 크론방식으로 입력 가능하며 기본값은 5분마다 작동하게 됩니다.

Afterhooks trigger

애프터훅 트리거는 2가지 타입을 제공합니다.

카탈로그/파이프라인 빌드 배포 트리거는 애프터훅 트리거를 설정한 카탈로그나 파이프라인의 빌드, 배포가 끝난 경우, 이후 실행될 카탈로그와 파이프라인을 지정할 수 있습니다.

웹훅 트리거는 트리거가 설정된 카탈로그나 파이프라인 빌드, 배포가 완료되면 협업 플랫폼으로 빌드 정보를 전송합니다.

📚 Cilium CNI 지원

아코디언 1.25 부터 Calico 와 함께 Cilium CNI를 지원합니다.

Cilium은 컨테이너화된 애플리케이션과 마이크로서비스 환경에서 네트워크 보안과 연결성을 제공하는 오픈 소스 프로젝트입니다.

Cilium Logo PNG Vector (SVG) Free Download

Cilium의 주요 장점은 다음과 같습니다

  1. 높은 성능: Cilium은 eBPF (extended Berkeley Packet Filter)를 사용하여 네트워크 기능을 가속화하고 커널 레벨에서 처리하여 빠른 속도와 낮은 오버헤드를 제공합니다.
  2. 강력한 보안 기능: Cilium은 애플리케이션 단위로 보안 정책을 적용하여 악의적인 트래픽으로부터 애플리케이션을 보호합니다. 또한 통신을 암호화하고 DDoS 공격으로부터 보호할 수 있습니다.
  3. 확장성: Cilium은 수천 개의 애플리케이션 인스턴스를 지원하며 대규모 클러스터에서도 효율적으로 작동합니다.
  4. 네트워크 투명성: Cilium은 네트워크 레이어에서 투명하게 동작하여 애플리케이션과 서비스 간의 통신을 쉽게 관리하고 추적할 수 있습니다.
  5. 다양한 환경 지원: Cilium은 Kubernetes, Docker 등의 다양한 오케스트레이션 플랫폼과 호환되며 다양한 클라우드 환경에서 사용할 수 있습니다.

이러한 장점들로 인해 Cilium은 현대적인 컨테이너 기반의 애플리케이션 및 마이크로서비스 환경에서 네트워크 보안과 연결성을 강화하는 데 매우 유용한 도구로 인정받고 있습니다.

📒 Release Note

호스트 클러스터와 멤버 클러스터의 k8s 호환성 패치
Kubernetes 1.24 -> 1.25 마이그레이션

이벤트
- 하단 이벤트의 클러스터/네임스페이스를 사용자가 선택한 스코프를 유지하는 방식으로 개선
- 하단 이벤트 오브젝트(리소스)에 대한 정보가 긴 경우도 확인 가능하도록 개선

인증 및 인가
- 사용자 선택 정보 필드 추가
- 사용자 부서, 사번, 휴대전화 UI 추가

클러스터 관리
- 활성화 키 등록/변경 시, Gateway를 재시작하지 않도록 변경
- deprecated 된 PodSecurityPolicy 관련 기능 제거

모니터링 및 알림
- 파드 목록 API 파드 상태 정보 추가

CI/CD
- 트리거 UI 추가
- 클러스터 카탈로그 템플릿 YAML 조회/생성 UI 추가
- valueSchema 정의시 UI를 위한 옵션 추가
- workspace 프로비저닝 시점을 카탈로그/파이프라인 생성 시점에서 최초 빌드 실행 시점으로 변경
- 빌드 실행마다 파라미터 입력 기능 추가
- 트리거 등록을 Annotation 에서 커스텀 리소스(Trigger CRD) 기반으로 변경


설치
- kubernetes 1.24 -> 1.25 업데이트
- CRI 업데이트(cri-o, containerd)
- Cilium CNI 추가지원
- replace 기능 추가
- Ubuntu 22.04추가 지원, Ubuntu18.04 삭제
- 마스터 LB를 도메인으로 설정하는 기능추가
- cloud NKS provisioning지원 추가
- 오픈소스 패키지 업데이트
-- kubernetes 1.25.6
-- harbor:v2.7.1
-- nginx-ingress-controller:v1.6.4
-- prometheus:v2.41.0
-- thanos:v0.30.2
-- istio:1.16.3
-- cilium:v1.13.1