구성 재정의 지정
Apigee Hybrid 설치 프로그램은 많은 설정에 기본값을 사용합니다. 하지만 기본값이 없는 몇 가지 설정이 있습니다. 다음에 설명된 대로 이 설정에 값을 제공해야 합니다.
- 현재 위치가
hybrid-base-directory/hybrid-files/overrides/
디렉터리인지 확인합니다.cd hybrid-base-directory/hybrid-files/overrides
- 즐겨 찾는 텍스트 편집기에서
overrides.yaml
라는 새 파일을 만듭니다. 예를 들면 다음과 같습니다.vi overrides.yaml
overrides.yaml
은 고유 Apigee Hybrid 설치에 대한 구성을 제공합니다. 이 단계의 재정의 파일은 첫 번째 설치에 적합한 소규모 하이브리드 런타임 설치를 위한 기본 구성을 제공합니다. overrides.yaml
에서 아래 표시된 필요한 속성 값을 추가합니다. 각 속성에 대한 자세한 설명은 다음과 같습니다.구문
overrides.yaml
파일에 다음 구조와 문법이 있는지 확인합니다. red, bold italics의 값은 제공해야 하는 속성 값이며, 다음 표에 설명되어 있습니다.Google Cloud 프로젝트 리전과 Kubernetes 클러스터 리전에 대한 플랫폼은 서로 다릅니다. Apigee Hybrid를 설치할 플랫폼을 선택합니다.
gcp: region: analytics-region projectID: gcp-project-id k8sCluster: name: cluster-name region: cluster-location # Must be the closest Google Cloud region to your cluster. org: org-name instanceID: "unique-instance-identifier" cassandra: hostNetwork: false # Set to false for single region installations and multi-region installations # with connectivity between pods in different clusters, for example GKE installations. # Set to true for multi-region installations with no communication between # pods in different clusters, for example GKE On-prem, GKE on AWS, Anthos on bare metal, # AKS, EKS, and OpenShift installations. # See Multi-region deployment: Prerequisites virtualhosts: - name: environment-group-name sslCertPath: ./certs/cert-name.pem sslKeyPath: ./certs/key-name.key envs: - name: environment-name serviceAccountPaths: synchronizer: ./service-accounts/synchronizer-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-synchronizer.json udca: ./service-accounts/udca-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-udca.json runtime: ./service-accounts/runtime-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-runtime.json mart: serviceAccountPath: ./service-accounts/mart-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-mart.json connectAgent: serviceAccountPath: ./service-accounts/mart-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-mart.json # Use the same service account for mart and connectAgent metrics: serviceAccountPath: ./service-accounts/metrics-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-metrics.json udca: serviceAccountPath: ./service-accounts/udca-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-udca.json watcher: serviceAccountPath: ./service-accounts/watcher-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-watcher.json logger: enabled: false # Set to false to disable logger for GKE installations. # Set to true for all platforms other than GKE. # See apigee-logger in Service accounts and roles used by hybrid components. serviceAccountPath: ./service-accounts/logger-service-account-name.json # for non-production environments, gcp-project-id-apigee-non-prod.json # for production environments, gcp-project-id-apigee-logger.json
예
다음 예시에서는 예시 속성 값이 추가된, 완료된 재정의 파일을 보여줍니다.
gcp: region: us-central1 projectID: hybrid-example k8sCluster: name: apigee-hybrid region: us-central1 org: hybrid-example instanceID: "my_hybrid_example" cassandra: hostNetwork: false virtualhosts: - name: example-env-group sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key envs: - name: test serviceAccountPaths: synchronizer: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-synchronizer.json udca: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-udca.json runtime: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-runtime.json mart: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-mart.json connectAgent: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, example-hybrid-apigee-mart.json metrics: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-metrics.json udca: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-udca.json watcher: serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, hybrid-project-apigee-watcher.json logger: enabled: false # Set to "false" for GKE. Set to "true" for all other kubernetes platforms. serviceAccountPath: ./service-accounts/hybrid-project-apigee-non-prod.json # for production environments, logger-service-account-name.json
- 완료되면 파일을 저장합니다.
다음 표에서는 재정의 파일에 제공해야 하는 각 속성 값을 설명합니다. 자세한 내용은 구성 속성 참조를 참조하세요.
변수 | 설명 |
---|---|
analytics-region | GKE에서 클러스터가 실행되는 동일한 리전으로 이 값을 설정해야 합니다. 다른 모든 플랫폼에서 애널리틱스 지원을 가진 클러스터에 가장 가까운 애널리틱스 리전을 선택합니다(파트 1, 4단계: 조직 만들기의 테이블 참조).
이전에 환경 변수 |
gcp-project-id | apigee-logger 와 apigee-metrics 가 데이터를 푸시하는 Google Cloud 프로젝트를 식별합니다. 환경 변수 PROJECT_ID 에 할당된 값입니다. |
cluster-name | Kubernetes 클러스터 이름입니다. 환경 변수 CLUSTER_NAME 에 할당된 값입니다. |
cluster-location | 클러스터가 실행 중인 리전입니다. 1단계: 클러스터 만들기에서 클러스터를 만든 리전입니다.
이전에 환경 변수 |
org-name | Apigee 하이브리드 조직의 ID입니다. 환경 변수 ORG_NAME 에 할당된 값입니다. |
unique-instance-identifier | 이 인스턴스를 식별하는 고유한 문자열입니다. 문자와 숫자 조합을 최대 63자(영문 기준)까지 사용할 수 있습니다. 동일한 클러스터에 여러 조직을 만들 수 있지만instanceId 는 동일한 Kubernetes 클러스터의 모든 조직에 대해 동일해야 합니다.
|
environment-group-name | 환경이 할당된 환경 그룹의 이름입니다. 프로젝트 및 조직 설정 - 5단계: 환경 그룹 만들기에서 만든 그룹입니다.
환경 변수 ENV_GROUP 에 할당된 값입니다.
|
cert-name key-name |
6단계: TLS 인증서 만들기에서 이전에 생성한 자체 서명된 TLS 키 및 인증서 파일의 이름을 입력합니다.
이러한 파일은 base_directory/hybrid-files/certs 디렉터리에 있어야 합니다. 예를 들면 다음과 같습니다.
sslCertPath: ./certs/keystore.pem sslKeyPath: ./certs/keystore.key |
environment-name | 프로젝트 및 조직 설정 - 5단계: 환경 그룹 만들기의 설명대로 UI에서 환경을 만들 때 사용한 이름과 동일한 이름을 사용합니다. |
synchronizer-service-account-name | 비프로덕션 환경의 경우 단일 서비스 계정인 non-prod 의 이름입니다. 프로덕션 환경의 경우 하이브리드 런타임 설정 - 6단계: 서비스 계정 및 사용자 인증 정보 만들기에서 create-service-account 도구로 생성한 apigee-synchronizer 서비스 계정 키 파일의 이름입니다. service-accounts/ 디렉터리에서 서비스 계정 파일 목록을 볼 수 있습니다. 예를 들면 다음과 같습니다.
ls ../service-accounts/ |
udca-service-account-name | 비프로덕션 환경의 경우 단일 서비스 계정인 non-prod 의 이름입니다. 비프로덕션 환경의 경우 create-service-account 도구로 생성한 apigee-udca 서비스 계정 키 파일의 이름입니다. |
runtime-service-account-name | 비프로덕션 환경의 경우 단일 서비스 계정인 non-prod 의 이름입니다. 프로덕션 환경의 경우 create-service-account 도구로 생성한 apigee-runtime 서비스 계정 키 파일의 이름입니다. |
mart-service-account-name | 비프로덕션 환경의 경우 단일 서비스 계정인 non-prod 의 이름입니다. 비프로덕션 환경의 경우 create-service-account 도구로 생성한 apigee-mart 서비스 계정 키 파일의 이름입니다.
|
metrics-service-account-name | 비프로덕션 환경의 경우 단일 서비스 계정인 non-prod 의 이름입니다. 비프로덕션 환경의 경우 create-service-account 도구로 생성한 apigee-metrics 서비스 계정 키 파일의 이름입니다. |
udca-service-account-name | 비프로덕션 환경의 경우 단일 서비스 계정인 non-prod 의 이름입니다. 비프로덕션 환경의 경우 create-service-account 도구로 생성한 apigee-udca 서비스 계정 키 파일의 이름입니다. |
watcher-service-account-name | 비프로덕션 환경의 경우 단일 서비스 계정인 non-prod 의 이름입니다. 비프로덕션 환경의 경우 create-service-account 도구로 생성한 apigee-watcher 서비스 계정 키 파일의 이름입니다. |
logger-service-account-name | 비프로덕션 환경의 경우 단일 서비스 계정인 non-prod 의 이름입니다. 비프로덕션 환경의 경우 create-service-account 도구로 생성한 apigee-logger 서비스 계정 키 파일의 이름입니다. |
요약
구성 파일은 하이브리드 구성요소를 클러스터에 배포하는 방법을 Kubernetes에 지정합니다. 그런 후 Apigee 런타임 및 관리 영역이 통신을 수행할 수 있도록 동기화 담당자 액세스를 사용 설정합니다.
1 2 3 4 5 6 7 (다음) 8단계: 동기화 담당자 액세스 사용 설정 9