이 주제에서는 Apigee Hybrid 런타임 영역 구성요소를 구성하고 관리하는 방법을 설명합니다. 구성할 수 있는 런타임 영역 구성요소 목록은 런타임 서비스 구성 개요를 참조하세요.
재정의 파일 정보
하이브리드 런타임을 클러스터에 처음 설치할 때는 구성 재정의 파일을 만들어야 합니다. 이 파일을 사용하면 필요에 따라 기본 구성 값을 재정의하고, 환경을 구성하고, TLS 인증서 및 서비스 계정 키를 참조하고, Kubernetes 노드 풀을 특정 하이브리드 구성요소에 할당하는 일 등을 할 수 있습니다.
하이브리드 설치 단계는 재정의 파일을 만들고 클러스터에 구성을 적용하는 프로세스를 안내합니다. 구성을 나중에 변경하려면 만든 재정의 파일을 수정하고 다시 적용합니다.
구성 변경
하이브리드 런타임 영역 구성요소에 대한 구성을 변경하려면 재정의 파일을 수정하고 Helm을 사용하여 구성요소에 해당하는 차트를 업그레이드합니다. 다음 차트는 어떤 차트가 어떤 Apigee Hybrid 구성요소와 일치하는지 보여줍니다.
범위 | 구성요소 | Helm 차트 |
---|---|---|
Apigee 연산자 | Apigee 연산자 | apigee-operator |
스토리지 | Cassandra | apigee-datastore |
인메모리 스토리지 | Redis | apigee-redis |
보고 | Logger Metrics |
apigee-telemetry |
인그레스 | Apigee 인그레스 게이트웨이 | apigee-ingress-manager |
Organization | Apigee Connect 에이전트 MART UDCA Watcher |
apigee-org |
환경 | Runtime Synchronizer |
apigee-env |
환경 그룹 | virtualhost | apigee-virtualhost |
예를 들어 메시지 프로세서에서 복제본 수를 변경하려면 다음 단계를 따르세요.
- OVERRIDES
.yaml
파일을 엽니다. 하이브리드 런타임을 클러스터에 설치할 때 사용한 것과 동일한 재정의 파일을 사용해야 합니다. - 파일에서
runtime
요소를 찾습니다. 예를 들면 다음과 같습니다.runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime replicaCountMin: 1 replicaCountMax: 2 ...
-
필요에 따라 복제본 수 속성을 변경합니다. 예를 들면 다음과 같습니다.
runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-runtime replicaCountMin: 2 replicaCountMax: 20 ...
- 환경을 업그레이드합니다.
- ENV_RELEASE_NAME은 이전에
apigee-env
차트를 설치한 이름입니다. Hybrid v1.10에서는 일반적으로apigee-env-ENV_NAME
입니다. Hybrid v1.11 이상에서는 일반적으로 ENV_NAME입니다. - ENV_NAME은 업그레이드하는 환경의 이름입니다.
- OVERRIDES_FILE은 v.1.13.0의 새로운 재정의 파일입니다.
- 차트를 업그레이드합니다.
- 해당 환경의 상태를 확인하여 실행 중인지 확인합니다.
한 번에 환경 하나만 설치해야 합니다. --set env=
ENV_NAME으로 환경을 지정합니다.
테스트 실행을 수행합니다.
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE \ --dry-run
helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE
kubectl -n APIGEE_NAMESPACE get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-org1-dev-xxx running 2d
수정할 수 있는 구성 속성
구성 가능한 속성의 전체 목록은 구성 속성 참조에서 확인할 수 있습니다. 참조에는 수정할 수 있는 속성만 나열됩니다. 참조에 없는 속성을 수정하려고 하면 변경사항이 무시됩니다.
구성 참조 사용 방법
구성 속성 참조는 점 표기법을 사용하여 구성요소를 설명합니다. 여기서 첫 번째 항목은 최상위 요소 이름 다음에 속성 및 하위 속성이 옵니다. 예를 들면 다음과 같습니다.
ao.image.pullPolicy
재정의 파일에서 속성이 적절한 YAML 형식으로 지정됩니다. 위의 예에서 최상위 ao
요소는 왼쪽 들여쓰기 되고 하위 요소 속성은 그 아래에 들여쓰기 됩니다. 또한 YAML에는 각 요소와 하위 요소의 끝에 콜론이 필요합니다.
예를 들어 ao.image.pullPolicy
속성을 Always
로 설정하려면 재정의 파일에서 이 YAML 스탠자를 찾아서 아래와 같이 설정하세요.
ao: image: pullPolicy: Always
다른 예시에서는 cassandra.auth.admin.password
속성(구성 속성 참조에 나와 있음)이 Cassandra 관리자 비밀번호를 설정하는 데 사용됩니다. 이를 변경하려면 재정의 파일에서 다음 YAML을 찾아 다음과 같이 설정합니다.
cassandra: auth: admin: password: abc123
구성 속성 참조는 하이브리드 런타임 영역 구성요소에 설정할 수 있는 모든 속성을 설명합니다. 위에 설명된 패턴을 따라 클러스터에 변경사항을 적용하기 전에 재정의 파일에서 이러한 요소를 수정합니다.
사전 정의된 예시 재정의 파일 사용
하이브리드 런타임을 처음 설치하는 경우 사전 구성된 예시 재정의 파일 중 하나를 Apigee에 사용하는 것이 좋습니다. 이 예는 프로덕션 또는 테스트 설치를 설정하는 것과 같은 특정 설치 시나리오에 대한 전체 구성 속성 집합을 제공합니다. 속성에 적절한 값을 제공하고 클러스터에 재정의 파일 적용을 수행하면 됩니다. 자세한 내용은 6단계: 재정의 만들기를 참조하세요.
구성 기본값 정보
Apigee는 HYBRID_ROOT_DIR/config/values.yaml
파일에서 기본 구성요소 구성을 유지합니다. 재정의 파일은 values.yaml
과 동일한 YAML 구조를 따릅니다.
재정의 파일에는 일반적으로 values.yaml
에 있는 구성 속성의 하위 집합만 포함됩니다. 모든 속성을 수정할 수 있는 것은 아닙니다. 클러스터에 구성을 적용하면 재정의가 기본값과 병합되어 완전한 Kubernetes 클러스터 구성을 만듭니다. 병합된 구성 테스트도 참조하세요.
다음 코드는 values.yaml
에 있는 mart
구성요소의 기본 구성을 보여줍니다. 일부 값은 기본값이 있지만 sslCertPath
및 sslKeyPath
와 같은 다른 값은 그렇지 않습니다. 설치 단계에 설명된 대로 재정의 파일에 이러한 누락된 값을 제공해야 합니다.
기본값을 변경하려면 구성 속성 참조를 확인하여 기본값을 수정할 수 있는지 확인합니다.
... mart: replicaCountMin: 2 replicaCountMax: 4 targetCPUUtilizationPercentage: 75 terminationGracePeriodSeconds: 30 sslCertPath: sslKeyPath: hostAlias: nodeSelector: key: value: revision: blue image: url: "gcr.io/apigee-release/hybrid/apigee-mart-server" tag: "1.3.6" pullPolicy: IfNotPresent resources: requests: cpu: 500m memory: 512Mi initCheckCF: resources: requests: cpu: 10m livenessProbe: timeoutSeconds: 1 failureThreshold: 12 periodSeconds: 5 initialDelaySeconds: 15 readinessProbe: timeoutSeconds: 1 successThreshold: 1 failureThreshold: 2 periodSeconds: 5 initialDelaySeconds: 15 metricsURL: "/v1/server/metrics" cwcAppend: | ...
구성요소의 기본값을 수정하고 구성요소가 구성요소 재정의 파일에 아직 없는 경우 YAML을 values.yaml
에서 재정의 파일에 복사하여 수정하면 됩니다.
커스텀 주석
주석은 Apigee Hybrid Kubernetes pod에 메타데이터를 연결할 때 사용되는 키/값 맵입니다. 구성 속성 참조에 나열된 다음 속성에 대하여 커스텀 주석을 만들 수 있습니다.
커스텀 주석을 추가하려면 각 구성요소의 OVERRIDES.yaml
파일에 스탠자를 추가하세요.
다음 예시에서는 runtime
포드에서 주석을 지정하는 방법을 보여줍니다.
runtime: annotations: businessunit: "bu1"
병합된 구성 테스트
--dry-run
플래그를 사용하면 실제로 클러스터에 적용하지 않고 병합된 구성 파일을 테스트할 수 있습니다. 이 옵션은 클러스터에 적용할 내용을 정확히 보여주기 때문에 설치 문제를 디버깅하는 데 유용합니다.
또한 클러스터에 설치 및 구성된 리소스를 참조할 수 있도록 구성을 테스트하고 소스 제어에 저장하는 것이 좋습니다.
kubectl apply -k apigee-operator/etc/crds/default/
helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE.yaml \ --dry-run
helm upgrade ingress-manager apigee-ingress-manager/ / --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f OVERRIDES_FILE.yaml \ --dry-run
필요에 따라 여러 재정의 파일 만들기
재정의 파일은 원하는 만큼 만들 수 있으며 각 파일에는 특정 요구사항이 적용됩니다. 예를 들어 프로덕션용 클러스터를 조정하는 재정의 파일과 테스트 클러스터를 만들기 위한 재정의 파일이 있을 수 있습니다. 그런 다음 소스 제어 시스템에서 이러한 파일을 유지할 수 있습니다.
예를 들면 다음과 같습니다.
helm upgrade test-1-env apigee-env/ \ --namespace APIGEE_NAMESPACE \ --atomic \ --set env=test-1-env \ -f test-1-env-overrides.yaml
하이브리드 전용 런타임 영역 구성요소 삭제
런타임 영역 구성요소에는 synchronizer
, mart
, runtime
, cassandra
, udca
가 포함됩니다.
클러스터에서 하이브리드 전용 런타임 영역 구성요소를 삭제하려면 helm delete
명령어를 사용합니다. 런타임 구성요소를 설치하는 데 사용한 것과 동일한 재정의 파일을 지정해야 합니다.
예를 들면 다음과 같습니다.
Helm을 사용하는 경우 각 구성요소를 개별적으로 삭제해야 합니다. 예를 들어 cassandra
구성요소를 삭제하려면 다음 명령어를 사용합니다.
helm -n APIGEE_NAMESPACE delete datastore
위 예시에서는 데이터 스토어 구성요소가 '데이터 스토어'라는 이름으로 설치되었습니다. 다른 이름으로 설치한 경우 해당 이름을 제공하여 구성요소를 삭제합니다. 예를 들어 helm install my-cassandra-storage apigee-datastore/
로 apigee-datastore
차트를 설치한 경우 다음 명령어로 삭제합니다.
helm delete -n apigee my-cassandra-storage
특정 구성요소(이 예시의 환경 그룹)를 다시 만들려면 다음 안내를 따르세요.
helm upgrade ENV_GROUP apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE.yaml