본문으로 건너뛰기

애플리케이션 생성 및 관리

애플리케이션은 배포에 필요한 모든 설정과 이력을 관리하는 기본 단위입니다. 애플리케이션 메뉴에서 애플리케이션을 생성 및 수정, 삭제할 수 있습니다.

애플리케이션 생성

배포 대상 클러스터와 소스 정보를 설정하여 새 애플리케이션을 생성합니다.

  1. 카카오클라우드 콘솔 > Developer Tools > Deployflow 메뉴로 이동합니다.
  2. 애플리케이션 메뉴의 우측 상단에 [애플리케이션 생성] 버튼을 클릭합니다.
  3. 필요한 정보를 입력 후 모든 설정이 완료되면, [생성] 버튼을 클릭합니다.
설정항목설명
기본 정보애플리케이션 이름애플리케이션 이름을 입력합니다. 영문 소문자로 시작, 영문, 숫자, 하이픈(-)만 입력 가능합니다. 마지막 글자는 영문 소문자 또는 숫자여야 합니다. (1-53자) 동일 프로젝트 내에서 중복될 수 없습니다.
애플리케이션 설명애플리케이션에 대한 설명 (100자 이내로 입력, 이모지·줄바꿈 미허용)
클러스터 정보배포 클러스터 선택애플리케이션이 배포될 타겟 클러스터를 선택합니다.
- 퍼블릭 엔드포인트가 할당되고 'Provisioned' 상태인 클러스터만 배포 대상으로 선택할 수 있습니다.
- 클러스터에 노드풀 또는 노드가 없어도 애플리케이션 생성에는 제약이 없습니다.
네임스페이스 이름리소스가 생성될 네임스페이스 이름을 입력하여 지정합니다.
- 쿠버네티스 네임스페이스는 RFC 1123 규칙을 따르며, 영문 소문자로 시작, 영문, 숫자, 하이픈(-)만 입력 가능합니다. (1-63자)
소스 정보소스 리포지토리배포 소스가 위치한 리포지토리를 선택합니다.
소스 브랜치배포 소스가 위치한 브랜치(리비전)를 선택합니다.
배포 방식Raw Manifest, Kustomize, Helm 중 배포 방식을 선택하고 해당 파일이 위치한 경로를 입력합니다.
승인 설정승인 설정 옵션배포 실행 전 승인 단계를 거칠지 여부를 선택합니다.
- 사용 시 모든 승인이 완료된 이후 동기화 또는 롤백 작업을 수행할 수 있습니다.
- 진행 중인 승인 요청이 있는 경우 비활성화(미사용)로 변경할 수 없습니다.
리뷰어승인 옵션 선택 시 배포를 승인할 리뷰어를 지정합니다. 최소 1명에서 최대 5명까지 설정 가능합니다.
고급 설정리소스 삭제 옵션동기화 또는 삭제 시 하위 리소스에 대한 옵션을 선택할 수 있습니다. 총 3가지 옵션이 제공됩니다.
· Foreground(기본값): 연관된 리소스를 모두 삭제한 후 애플리케이션을 삭제합니다.
· Background: 애플리케이션을 삭제한 후 하위 리소스를 순차적으로 삭제합니다.
· Non-cascading: 하위 리소스는 유지하고 애플리케이션만 삭제합니다.
ServerSideApply 옵션 사용 유무쿠버네티스 리소스를 적용할 때 ServerSideApply를 활성화하는 기능입니다. 대규모 매니페스트 관리를 최적화합니다.
- 이 옵션을 사용 중인 애플리케이션은 강제 동기화(Force Sync)를 수행할 수 없습니다.
주의

클러스터와 리포지토리 삭제 후 동일 이름의 클러스터와 리포지토리를 재생성할 경우 기존 애플리케이션에 에러가 발생하거나 새롭게 생성된 리포지토리에 연결될 수 있으니 주의하시기 바랍니다.

튜토리얼 안내

Codeflow 리포지토리의 매니페스트 경로를 Raw Manifest 방식으로 Deployflow 애플리케이션에 연결하고 동기화하는 구성 예제는 Codeflow와 Deployflow로 CI/CD 파이프라인 구축 튜토리얼에서 확인할 수 있습니다.

애플리케이션 목록 조회

생성된 애플리케이션의 상태, 동기화 상태, 배포 전략 상태, 소스 정보를 목록에서 확인합니다. 목록에서는 배포 클러스터와 소스 리포지토리 등 연관 리소스의 관리 화면으로 이동할 수 있는 바로가기를 제공합니다.

  1. 카카오클라우드 콘솔 > Developer Tools > Deployflow 메뉴로 이동합니다.
  2. 애플리케이션 메뉴를 선택하여 목록을 조회합니다. 목록에서는 애플리케이션 동기화 상태와 배포 상태, 배포 전략 상태 등을 확인하실 수 있습니다.
항목설명
이름애플리케이션을 식별하기 위한 이름
설명애플리케이션의 용도나 특징 등 사용자가 자유롭게 입력할 수 있는 부가적인 설명으로 100자 이내로 작성합니다.
동기화 상태저장소의 설정과 클러스터 실 리소스의 일치 여부를 표시합니다.
배포 상태쿠버네티스 리소스의 현재 헬스(Health) 상태를 표시합니다.
배포 전략 상태블루/그린, 카나리 등 현재 진행 중인 배포 프로세스의 단계를 표시합니다.
클러스터배포 대상 클러스터 정보와 바로가기 링크를 제공합니다.
소스Codeflow 리포지토리 정보와 바로가기 링크를 제공합니다.
생성자애플리케이션을 만든 사용자 정보가 표시됩니다.
마지막 동기화 일시가장 최근에 동기화 또는 롤백이 성공적으로 완료된 시점입니다.
생성 일시애플리케이션이 처음 생성된 시점입니다.

애플리케이션 상세 조회

  1. 카카오클라우드 콘솔 > Developer Tools > Deployflow 메뉴로 이동합니다.
  2. 애플리케이션 메뉴에서 상세 정보를 확인할 애플리케이션을 선택합니다.

애플리케이션 상세에서는 세부 구성, 승인 정보, 배포 전략, 리소스 상태 및 히스토리 내역을 확인할 수 있습니다. 특히 상단 액션 영역은 단계별 가변 버튼 방식을 채택하여 사용자의 오조작을 방지하고 작업 흐름을 명확히 제시합니다.

배포 액션

배포 액션은 현재 배포 단계에 따라 필요한 핵심 버튼만 제공됩니다. 기본 흐름은 동기화 → 승격 → 배포 완료 순으로 진행되며, 승격 단계는 블루/그린 또는 카나리 배포 전략이 적용된 경우에만 제공됩니다.

액션제공 조건설명
동기화 승인 요청'승인 후 배포' 옵션이 활성화된 경우리뷰어에게 동기화 승인을 요청합니다.
- 리뷰어 승인이 최종 완료되면 [동기화] 버튼으로 전환됩니다.
동기화리소스 업데이트가 감지된 경우타겟 환경과 소스 코드 간의 차이를 분석하여 클러스터 상태를 소스와 일치시킵니다.
승격블루/그린 또는 카나리 배포 전략에서 동기화가 완료된 경우동기화가 완료된 신규 버전을 실제 운영 환경에 반영합니다.
- 승격 완료 후에는 신규 업데이트 발생 시 다시 동기화 단계로 전환됩니다.

애플리케이션 설정을 관리하는 [승인 설정], [수정], [삭제] 버튼은 배포 단계와 관계없이 제공됩니다.

세부 정보

해당 애플리케이션의 기본 설정과 현재 배포 환경 정보를 확인합니다.

항목설명
이름애플리케이션을 식별하기 위한 이름
ID애플리케이션 고유 식별자
설명애플리케이션의 용도나 특징 등 사용자가 자유롭게 입력할 수 있는 부가적인 설명
생성자애플리케이션을 생성한 사용자 정보 표시
배포 클러스터쿠버네티스의 클러스터 정보가 표시
네임스페이스 이름네임스페이스 이름 표시
배포 상태(Health)리소스의 헬스 상태 값 확인, 총 6개 상태값 제공 (Healthy / Progressing / Suspended / Missing / Degraded / Unknown)
동기화 상태Git 저장소와 클러스터 배포 상태의 일치 여부 확인, 총 3개 상태값 제공 (Unknown / Out of Sync / Synced)
소스 리포지토리 / 소스 브랜치Codeflow의 리포지토리 정보가 표시, 소스 타입은 3가지 제공(Raw Manifest/Kustomize/Helm)
- Helm 사용 시 git에 저장된 Chart.yaml 또는 Chart가 포함된 경로를 지정하면 helm template을 불러오며, Values 설정은 git 연동 없이 직접 입력할 수도 있습니다.
배포 방식선택된 배포 구성 방식 표시 (Raw Manifest / Kustomize / Helm)
경로매니페스트 파일이 위치한 저장소 내 경로 표시
리소스 삭제 옵션리소스 삭제 정책 설정값 표시 (Foreground / Background / Non-cascading 중 선택)
ServerSideApplyServerSideApply 옵션 사용 유무 값 표시
마지막 동기화 일시가장 최근에 동기화 또는 롤백이 성공적으로 완료된 시점 표시
생성 일시애플리케이션이 처음 생성된 시점 표시
이미지이미지 경로 표시

승인 정보

'승인 후 배포' 옵션 사용 시, 승인 ID, 요청자, 상태(READY 등)가 표시되며 상태에 따라 [동기화] 또는 [롤백] 버튼이 활성화됩니다.

항목설명
승인 ID승인에 대한 ID 값
승인 요청자승인을 요청한 사용자 정보
작업 유형동기화 또는 롤백 등 요청된 작업 유형
승인 상태승인 상태가 READY 값일 때 [동기화] 또는 [롤백] 버튼이 활성화됩니다.

배포 전략

고급 배포 전략(자동 동기화, 블루/그린, 카나리) 설정 시 활성화되며, 현재 배포 진행 상황을 제어합니다. 애플리케이션 상세 화면의 [배포 전략 설정] 버튼을 클릭하면 팝업창에서 배포 유형을 자동 동기화, 블루/그린, 카나리 중 하나로 선택해 설정할 수 있습니다.

자동 동기화

자동 동기화(Auto)는 소스 저장소의 변경 사항이 감지되면 별도의 동기화 액션 없이 자동으로 클러스터에 반영하는 배포 유형입니다.

[배포 전략 설정] 팝업창에서 자동 동기화를 선택하면 별도 세부 항목 없이 저장 즉시 활성화됩니다.

자동 동기화가 설정된 상태에서는 별도의 동기화 액션 없이 변경 사항이 클러스터에 반영됩니다. 롤백 제약은 히스토리를 참고하세요.

블루/그린

블루/그린은 현재 운영 중인 버전(블루 버전)과 새로운 버전(그린 버전)의 디플로이먼트를 구성한 후 트래픽을 한 순간에 구버전에서 신버전으로 변경할 수 있는 배포 정책입니다.

[배포 전략 설정] 팝업창에서 블루/그린을 선택하면 다음 항목을 설정합니다.

설정 항목설명
디플로이먼트명블루/그린 배포를 적용할 디플로이먼트를 선택합니다.
서비스명트래픽 전환에 사용할 서비스를 선택합니다.
  • 트래픽 전환: [배포 전략 설정] 팝업창에서 실제 서비스 트래픽을 전달할 환경(블루 또는 그린)을 선택하고 [저장]을 클릭하면 해당 환경으로 트래픽이 즉시 전환됩니다. 그린 선택 시 새 버전으로 트래픽이 즉시 전환되므로 운영 환경에 반영 전 신중히 선택해 주세요.
  • 승격 및 승격 취소: 블루는 현재 운영 중인 기존 버전, 그린은 새로 배포된 신규 버전을 의미합니다. [승격] 시 블루 또는 그린 중 반영할 환경을 선택합니다. 그린을 선택해 승격하면 신규 버전(그린)이 확정되고 기존 버전(블루)의 리소스는 제거됩니다. 반대로 블루를 선택하면 승격이 취소되어 신규 버전(그린)의 리소스가 제거되고 기존 버전(블루)이 유지됩니다.
튜토리얼 안내

Deployflow의 블루/그린 배포 전략을 적용하고 트래픽을 전환하는 구성 예제는 Deployflow로 Blue/Green 배포 전략 구현 튜토리얼에서 확인할 수 있습니다.

카나리

카나리는 새로 배포하는 버전의 디플로이먼트에 실제 트래픽의 일부를 라우팅해서 새로운 버전이 정상 동작하는지 테스트할 수 있는 배포 정책입니다. 문제가 있는 경우 빠르게 대처할 수 있으며, 동시에 두 가지 버전이 공존하기 때문에 A/B 테스팅에도 사용할 수 있습니다.

[배포 전략 설정] 팝업창에서 카나리를 선택하면 다음 항목을 설정합니다.

설정 항목설명
디플로이먼트명카나리 배포를 적용할 디플로이먼트를 선택합니다.
서비스명카나리 배포 대상 디플로이먼트와 연결된 서비스를 선택합니다.
인그레스명카나리 트래픽 라우팅에 사용할 인그레스를 선택합니다.
카나리 파드 수카나리 버전으로 실행할 파드 수를 입력합니다. 최소 1부터 최대 99까지 설정할 수 있으며, 쿠버네티스 리소스 상태에 따라 최대 파드 수는 달라질 수 있습니다.
트래픽 비율카나리 버전으로 전달할 트래픽 비율을 입력합니다. 0에서 100 사이의 퍼센티지 단위로 설정할 수 있습니다.
  • 트래픽 비율 조정: 상세 화면에 있는 [비율 조정] 버튼을 클릭하여 트래픽 비율 값을 변경하면 카나리 트래픽 비율을 실시간으로 조정할 수 있습니다.
  • 승격 및 승격 취소: 오리진은 현재 운영 중인 기존 버전, 카나리는 새로 배포된 신규 버전을 의미합니다. [승격] 시 오리진 또는 카나리 중 반영할 버전을 선택합니다. 카나리를 선택해 승격하면 신규 버전(카나리)이 확정되고 기존 버전(오리진)의 리소스는 제거됩니다. 반대로 오리진을 선택하면 승격이 취소되어 신규 버전(카나리)의 리소스가 제거되고 기존 버전(오리진)이 유지됩니다.

배포 전략 상태

상태값정의
None고급 배포 비활성화, 일반 배포 가능
Auto자동 동기화 상태
Stable배포 전략이 동작하고 있지 않은 안정적인 상태
Blue Active블루 활성화, 블루/그린 동작이 진행 중이고 블루로 트래픽 인입 중인 상태
Green Active그린 활성화, 블루/그린 동작이 진행 중이고 그린으로 트래픽 인입 중인 상태
Canary Rollout카나리 진행, 설정된 비율에 따라 구/신규 버전 간 트래픽이 분산 인입 중인 상태
Promoted승격 완료, 배포를 확정하고 기존 배포를 제거
Cancelled Promotion승격 취소, 배포를 취소하고 신규 배포를 제거

리소스

배포된 리소스의 상관관계를 토폴로지 그래프로 제공하며, 리소스 간의 연결 관계를 시각적으로 확인할 수 있습니다. 각 리소스 카드에는 헬스 상태, 동기화 상태(애플리케이션·배포 전략 리소스에 한함), 리소스 이름, 최종 업데이트 시점, 배포 버전이 표시됩니다.

개별 리소스 카드 클릭 시 요약, 매니페스트, 이벤트, 로그 탭으로 구성된 상세 패널에서 리소스 정보를 조회할 수 있습니다.

히스토리

과거의 모든 배포 이력을 리스트 형태로 제공합니다. 이전 상태의 설정을 조회하거나, 특정 시점으로의 롤백(Rollback) 액션을 수행할 수 있습니다.

롤백 제약

다음의 경우 히스토리 화면에서 롤백 버튼 자체가 제공되지 않아 롤백은 물론 롤백 요청(승인 요청 생성)도 할 수 없습니다.

  • 블루/그린 또는 카나리 배포 전략이 설정되어 있는 상태
  • 배포 유형이 자동 동기화(Auto)로 설정되어 있는 상태

롤백을 수행하려면 배포 전략 설정을 해제(None)한 후 진행해 주세요.

애플리케이션 정보 수정

애플리케이션 설명, 소스 정보, 배포 설정 등 변경 가능한 정보를 수정합니다.

  1. 카카오클라우드 콘솔 > Developer Tools > Deployflow 메뉴로 이동합니다.
  2. 애플리케이션 메뉴에서 대상 애플리케이션의 [⋮] 버튼 > 수정을 선택합니다.
  3. 변경 작업을 완료 후 [수정] 버튼을 클릭합니다.
주의

배포 클러스터는 애플리케이션 생성 이후 수정할 수 없습니다. 클러스터를 변경하려면 애플리케이션을 새로 생성해야 합니다.

애플리케이션 삭제

더 이상 사용하지 않는 애플리케이션과 관련 배포 이력을 삭제합니다.

  1. 카카오클라우드 콘솔 > Developer Tools > Deployflow 메뉴로 이동합니다.
  2. 애플리케이션 메뉴에서 대상 애플리케이션의 [⋮] 버튼 > 삭제를 선택합니다.
  3. 팝업창에서 삭제 문구를 입력 후 [삭제] 버튼을 클릭합니다.
주의

삭제한 애플리케이션의 리소스는 복구할 수 없습니다.