AKS에서 애플리케이션 구성

Azure Compute Solutions

Florin Angelescu

Azure Cloud Architect

AKS에서 애플리케이션 구성

 

구성

 

  • 구성은 자주 변경됩니다.
  • 연결 문자열, 기능 플래그, 환경 값은 다음에 따라 달라집니다:

    • 개발
    • 테스트
    • 운영
  • 컨테이너 이미지를 다시 빌드하는 것은 비효율적이며 오류를 유발할 수 있습니다.

Azure Compute Solutions

AKS에서 애플리케이션 구성

 

코드

 

 

  • 애플리케이션 코드와 구성을 분리
  • 이미지를 재배포하지 않고 동작을 업데이트 가능
Azure Compute Solutions

환경 변수

 

구성

 

 

Kubernetes에서 애플리케이션 구성:

  • 환경 변수
Azure Compute Solutions

환경 변수

 

구성

 

 

Kubernetes에서 애플리케이션 구성:

  • 환경 변수
  • 파드 시작 시 컨테이너에 주입
  • 실행 중인 애플리케이션에서 접근 가능
Azure Compute Solutions

환경 변수

 

구성

 

 

환경 변수 사용 예:

  • 환경 이름
  • 로깅 레벨
  • 외부 서비스 URL
Azure Compute Solutions

ConfigMap

ConfigMap

  • 민감하지 않은 구성 데이터를 저장하는 Kubernetes 리소스:
    • URL
    • 기능 플래그
    • 작은 설정 파일
Azure Compute Solutions

ConfigMap

ConfigMap

ConfigMap

  • 키-값 쌍
  • 작은 파일
Azure Compute Solutions

ConfigMap

ConfigMap

  • 애플리케이션은 값을 다음으로 읽을 수 있습니다:
    • 환경 변수
    • 컨테이너 내부에 마운트된 파일
Azure Compute Solutions

ConfigMap

ConfigMap

컨테이너 이미지를 재빌드하거나 재배포하지 않고 구성을 변경할 수 있습니다.

Azure Compute Solutions

ConfigMap

 

ConfigMap

 

 

 

  • 여러 애플리케이션 간 공유 가능
  • 대규모 시스템에서 일관성 유지에 도움
Azure Compute Solutions

Secret

 

 

ConfigMap

 

Secret

  • ConfigMap과 유사하나:

    • 민감한 데이터용
    • 비밀번호
    • API 키
    • 데이터베이스 연결 문자열
  • Secret은 클러스터 내에 더 안전하게 저장됩니다.

Azure Compute Solutions

Secret

 

 

ConfigMap

 

  • 파드에서 다음으로 참조:

    • 환경 변수
    • 파일
  • 민감한 데이터는 다음에 포함되지 않음:

    • 컨테이너 이미지에 내장
    • 소스 코드에서 노출
  • 애플리케이션이 필요한 것만 안전하게 접근하도록 함.

Azure Compute Solutions

구성 업데이트

 

 

ConfigMap

 

  • 구성을 컨테이너 이미지와 분리하면:

    • 애플리케이션 코드와 독립적으로 ConfigMap과 Secret을 업데이트
  • Kubernetes가 새 파드에 업데이트된 구성을 자동 제공

  • 예측 가능한 롤링 변경

  • 운영 환경에서 오류 위험 감소
Azure Compute Solutions

요약

코드

  • 컨테이너 이미지와 구성의 명확한 분리
  • 환경 변수, ConfigMap, Secret 사용
  • 이미지를 재빌드하지 않고 환경별로 애플리케이션을 적응
Azure Compute Solutions

연습해 봅시다!

Azure Compute Solutions

Preparing Video For Download...