런타임 영역 구성요소 관리

이 주제에서는 Apigee Hybrid 런타임 영역 구성요소를 구성하고 관리하는 방법을 설명합니다.

재정의 파일 정보

하이브리드 런타임을 클러스터에 처음 설치할 때는 구성 재정의 파일을 만들어야 합니다. 이 파일을 사용하면 Google 프로젝트 이름, 조직 이름, 환경 세부정보, 인증서 파일 등 하이브리드를 설치하는 데 필요한 속성 값을 제공할 수 있습니다. 또한 재정의 파일에서 대부분의 하이브리드 구성요소에 특정 기본값을 재정의할 수도 있습니다. 구성 가능한 속성의 전체 목록은 구성 속성 참조를 확인하세요.

하이브리드 설치 단계는 재정의 파일을 만들고 클러스터에 구성을 적용하는 프로세스를 안내합니다. 구성을 나중에 변경하려면 만든 재정의 파일을 수정하고 다시 적용합니다. 구성 변경을 참조하세요.

구성 변경

하이브리드 런타임 영역 구성요소에 대한 구성을 변경하려면 재정의 파일을 수정하고 apigeectl을 사용하여 변경사항을 적용합니다. 구성 가능한 속성의 전체 목록은 구성 속성 참조를 확인하세요.

예를 들어 logger 구성요소를 사용 설정하려면 재정의 파일을 업데이트하고 다시 적용합니다.

  1. 재정의 파일을 엽니다. 하이브리드 런타임을 클러스터에 설치할 때 사용한 것과 동일한 재정의 파일을 사용해야 합니다.
  2. 파일에서 logger 요소를 찾습니다. 예를 들면 다음과 같습니다.
    ...
    logger:
      enabled: false
    ...
  3. 속성 값을 true로 변경합니다.
    ...
      logger:
      enabled: true
    ...
  4. apigeectl을 사용하여 클러스터에 변경 사항을 적용합니다.
    $APIGEECTL_HOME/apigeectl apply -f $HYBRID_FILES/overrides/OVERRIDES.yaml --telemetry

    --telemetry 플래그는 로거 구성요소만 업데이트하도록 apigeectl에 지정합니다. --telemetry와 같은 범위 지정 매개변수에 대한 자세한 내용은 apigeectl 적용 범위를 참조하세요.

수정할 수 있는 구성 속성

구성 가능한 속성의 전체 목록은 구성 속성 참조에서 확인할 수 있습니다. 참조에는 수정할 수 있는 속성만 나열됩니다. 참조에 없는 속성을 수정하려고 하면 변경사항이 무시됩니다.

구성 참조 사용 방법

구성 속성 참조는 점 표기법을 사용하여 구성요소를 설명합니다. 여기서 첫 번째 항목은 최상위 요소 이름 다음에 속성 및 하위 속성이 옵니다. 예를 들면 다음과 같습니다.

authz.image.pullPolicy

재정의 파일에서 속성이 적절한 YAML 형식으로 지정됩니다. 위의 예에서 최상위 authz 요소는 왼쪽 들여쓰기 되고 하위 요소 속성은 그 아래에 들여쓰기 됩니다. 또한 YAML에는 각 요소와 하위 요소의 끝에 콜론이 필요합니다.

예를 들어 authz.image.pullPolicy 속성을 Always로 설정하려면 재정의 파일에서 이 YAML 스탠자를 찾아서 아래와 같이 설정하세요.

authz:
  image:
    pullPolicy: Always

다른 예시에서는 cassandra.auth.admin.password 속성(구성 속성 참조에 나와 있음)이 Cassandra 관리자 비밀번호를 설정하는 데 사용됩니다. 이를 변경하려면 재정의 파일에서 다음 YAML을 찾아 다음과 같이 설정합니다.

cassandra:
  auth:
    admin:
      password: abc123

구성 속성 참조는 하이브리드 런타임 영역 구성요소에 설정할 수 있는 모든 속성을 설명합니다. 위에 설명된 패턴을 따라 클러스터에 변경사항을 적용하기 전에 재정의 파일에서 이러한 요소를 수정합니다.

구성 기본값 정보

Apigee는 $HYBRID_FILES/config/values.yaml 파일에서 기본 구성요소 구성을 유지합니다. 이 파일은 가능한 경우 각 하이브리드 구성요소의 기본값을 지정합니다.

재정의 파일은 values.yaml과 동일한 YAML 구조를 따릅니다. 하지만 재정의 파일에는 values.yaml에 있는 구성 속성의 하위 집합만 포함됩니다. 모든 속성을 수정할 수 있는 것은 아닙니다. 클러스터에 구성을 적용하면 재정의가 기본값과 병합되어 완전한 Kubernetes 클러스터 구성을 만듭니다.

사전 정의된 샘플 재정의 파일 사용

Apigee는 하이브리드 배포를 설정하는 데 도움이 되는 일련의 샘플 재정의 파일을 제공합니다. 설치 요구사항과 가장 일치하는 재정의 파일을 복사하고 수정하는 것이 좋습니다.

다음 샘플은 $APIGEECTL_HOME/examples 디렉터리에 포함되어 있습니다.

샘플 재정의 파일 설명
overrides-small.yaml 이 샘플은 빠르게 시작할 때 적합합니다. 최소 권장 공간을 사용하여 하이브리드 런타임 구성요소를 시작합니다. 이 샘플 구성은 기본 설정 및 값에 최대한 의존합니다. 모든 최소 복제본은 1로 설정됩니다.
overrides-medium.yaml 이 샘플은 테스트 및 QA 환경을 시작하는 데 좋은 출발점입니다. 개별 구성요소에는 추가 트래픽을 처리할 수 있는 상위 수준 리소스가 부여됩니다. Cassandra는 성능을 위해 SSD 디스크를 사용합니다. 이 환경에서는 사용자가 개별 노드에 스테이트풀(Stateful) 및 스테이트리스(Stateless) 구성요소를 설치하는 것이 좋습니다. 전용 노드 구성을 참조하세요.
overrides-large.yaml 이 샘플은 사전 프로덕션 및 프로덕션과 같은 고성능 환경을 위한 좋은 시작점입니다. 샘플에는 암호화 키, 비밀번호 등을 설정하는 속성이 포함되어 있습니다. 개별 구성요소는 최소 2개의 복제본을 가집니다.
private-overrides.yaml 이 샘플은 비공개 이미지 저장소의 이미지를 사용하는 방법을 보여줍니다. 비공개 이미지 저장소 사용을 참조하세요.

커스텀 주석

주석은 Kubernetes 포드에 메타데이터를 연결할 때 사용되는 키/값 맵입니다. 구성 속성 참조에 나열된 다음 하이브리드 구성요소 속성에 대하여 커스텀 주석을 만들 수 있습니다.

커스텀 이름/값 쌍 주석을 추가하려면 재정의 파일을 열고 해당 구성요소에 대해 annotations 스탠자를 추가한 다음 apigeectl을 사용하여 변경사항을 적용합니다. 예를 들면 다음과 같습니다.

runtime:
  annotations:
    businessunit: "bu1"

테스트 실행을 사용하여 구성 변경사항 테스트

--dry-run 플래그를 apigeectl과 함께 사용하면 실제로 클러스터에 적용하지 않고 재정의 구성 파일을 테스트할 수 있습니다. 이 옵션은 클러스터에 적용할 내용을 정확히 보여주기 때문에 설치 문제를 디버깅하는 데 유용합니다.

Apigee Hybrid에서 --dry-run 플래그의 구문은 실행 중인 kubectl 버전에 따라 다릅니다. 다음 명령어를 사용하여 kubectl 버전을 확인합니다.

kubectl version

kubectl 버전 1.17 이하:

$APIGEECTL_HOME/apigeectl init -f $HYBRID_FILES/overrides/OVERRIDES.yaml --dry-run=true

kubectl 버전 1.18 이상:

  $APIGEECTL_HOME/apigeectl init -f $HYBRID_FILES/overrides/OVERRIDES.yaml --dry-run=client

필요에 따라 여러 재정의 파일 만들기

재정의 파일은 여러 개 만들 수 있으며 각 파일은 특정 요구사항을 처리합니다. 예를 들어 프로덕션용 클러스터를 조정하는 재정의 파일과 테스트를 위해 클러스터를 만들기 위한 재정의 파일이 있을 수 있습니다. 그런 다음 소스 제어 시스템에서 이러한 파일을 유지할 수 있습니다.

apigeectl apply 명령어를 사용하여 클러스터에 재정의 파일을 적용합니다. 예를 들면 다음과 같습니다.

$APIGEECTL_HOME/apigeectl apply  -f $HYBRID_FILES/overrides/test_env_override.yaml

런타임 구성요소 삭제

apigeectl delete 명령어는 설치된 하이브리드 런타임 구성요소의 전체 또는 일부를 삭제할 수 있는 플래그를 제공합니다. 명령어 사용에 대한 자세한 내용은 apigeectl 참조 페이지를 확인하세요. 하이브리드 런타임 제거도 참조하세요.

환경 삭제

환경을 완전히 삭제하려면 런타임(로컬) 및 관리(클라우드) 영역을 모두 삭제해야 합니다. 자세한 내용은 환경 삭제를 참조하세요.