3단계: GKE On-Prem 사용자 클러스터 구성

구성 재정의 지정

Apigee Hybrid 설치 프로그램은 많은 설정에 기본값을 사용합니다. 하지만 기본값이 없는 몇 가지 설정이 있습니다. 다음에 설명된 대로 이 설정에 값을 제공해야 합니다.

  1. 현재 위치가 hybrid-base-directory/hybrid-files 디렉터리인지 확인합니다.
  2. $APIGEECTL_HOME/examples 디렉터리에서 overrides 디렉터리로 overrides-small.yaml 파일을 복사합니다.
    cp $APIGEECTL_HOME/examples/overrides-small.yaml ./overrides/overrides.yaml

    이 예시 파일은 첫 번째 설치에 적합한 작은 공간 하이브리드 런타임 설치를 위한 기본 구성을 제공합니다.

  3. cd 명령어를 사용하여 overrides 디렉터리로 이동합니다.
  4. cd overrides
  5. overrides.yaml을 열고 아래와 같이 필수 속성 값을 추가합니다. 각 속성에 대한 자세한 설명은 다음과 같습니다.

    구문

    overrides.yaml 파일의 구조와 구문은 다음과 같습니다. red, bold italics의 값은 제공해야 하는 속성 값이며, 아래 표에도 설명되어 있습니다.

    gcp:
      region: gcp-region
      projectID: gcp-project-id
    
    k8sCluster:
      name: cluster-name
      region: cluster-region
    
    org: org-name
    
    virtualhosts:
      - name: virtual-host-name
        hostAliases:
          - "host-alias-1"
          - "host-alias-2"
          - "host-alias-n"
        sslCertPath: ./certs/test-cert-name.pem
        sslKeyPath: ./certs/test-key-name.key
        routingRules:
          - paths:
            - /path1
            - /path2
            - /pathn
            env: environment-name
    
    envs:
      - name: environment-name          # The same name of the env you created in the UI
        serviceAccountPaths:
          synchronizer: ./service-accounts/synchronizer-service-account-name.json
          udca: ./service-accounts/udca-service-account-name.json
    
    mart:
      hostAlias: mart-host-alias
      serviceAccountPath: ./service-accounts/mart-service-account-name.json
      sslCertPath: ./certs/mart-cert-name.pem
      sslKeyPath: ./certs/mart-key-name.key
    
    cassandra:
      hostNetwork: true
      dnsPolicy: ClusterFirstWithHostNet
    
    ingress:
      runtime:
        loadBalancerIP: virtual_IP_runtime
      mart:
        loadBalancerIP: virtual_IP_mart
    
    
    metrics:
      serviceAccountPath: ./service-accounts/metrics-service-account-name.json
    
    logger:
      enabled: false

    다음 예시에서는 예시 속성 값이 추가된, 완료된 재정의 파일을 보여줍니다.

    gcp:
      region: us-central1
      projectID: my-gcp-project
    
    k8sCluster:
      name: apigee-hybrid
      region: us-central1
    
    org: hybrid-org
    
    virtualhosts:
      - name: default
        hostAliases:
          - "*.acme.com"
        sslCertPath: ./certs/keystore.pem
        sslKeyPath: ./certs/keystore.key
        routingRules:
          - paths:
            - /foo
            - /bar
            env: test
    
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: ./service-accounts/hybrid-project-apigee-synchronizer.json
          udca: ./service-accounts/hybrid-project-apigee-udca.json
    
    mart:
      hostAlias: "mart.apigee-hybrid-docs.net"
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-mart.json
      sslCertPath: ./certs/fullchain.pem
      sslKeyPath: ./certs/privkey.key
    
    cassandra:
      hostNetwork: true
      dnsPolicy: ClusterFirstWithHostNet
    
    ingress:
      runtime:
        loadBalancerIP: 21.0.124.13
      mart:
        loadBalancerIP: 21.0.124.14
    
    metrics:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json
    
    logger:
      enabled: false
  6. 완료되면 파일을 저장합니다.

다음 표에서는 재정의 파일에 제공해야 하는 각 속성 값을 설명합니다. 자세한 내용은 구성 속성 참조를 참조하세요.

변수 설명
project-id GCP 프로젝트 ID.
cluster-name Kubernetes 클러스터 이름입니다.
cluster-region 클러스터가 생성된 리전입니다.
org-name Apigee 하이브리드 조직의 이름입니다.
environment-name 5단계: 하이브리드 UI에서 새 환경 추가에 설명된 대로 UI에서 환경을 만들 때 사용한 이름과 동일한 이름을 사용합니다.
test-host-alias

(필수) 빠른 시작의 경우 와일드 카드 문자 '*'를 사용합니다.

자체 서명 TLS 사용자 인증 정보를 사용하는 경우 무료 체험판 설치에서만 *를 사용하는 것이 좋습니다. 나중에 여러 환경 만들기와 같은 더 복잡한 Apigee 하이브리드 구성을 개발할 때 이 값에 정규화된 도메인 이름을 사용해야 합니다.

test-cert-name
test-key-name
이전에 런타임 게이트웨이의 TLS 사용자 인증 정보 만들기 단계에서 생성한 자체 서명 TLS 키 및 인증서 파일의 이름을 입력합니다. 이러한 파일은 base_directory/hybrid-files/certs 디렉터리에 있어야 합니다. 예를 들면 다음과 같습니다.
sslCertPath: ./certs/keystore.pem
sslKeyPath: ./certs/keystore.key
synchronizer-service-account-name create-service-account 도구를 사용하여 생성한 동기화 담당자 서비스 계정 키 파일의 이름입니다. 예를 들면 다음과 같습니다.
synchronizer: ./service-accounts/hybrid-project-apigee-synchronizer.json
udca-service-account-name create-service-account 도구를 사용하여 생성한 udca 서비스 계정 키 파일의 이름입니다. 예를 들면 다음과 같습니다.
udca: ./service-accounts/hybrid-project-apigee-udca.json
virtual_IP_runtime,
virtual_IP_mart
GKE On-Prem 통합 부하 분산을 사용하려면 하이브리드 MART 및 런타임 서비스에서 LoadBalancer의 가상 IP를 제공해야 합니다. GKE On-Prem은 F5 BIG-IP 부하 분산기에서 가상 IP를 자동으로 구성합니다. 자세한 내용은 GKE On-Prem용 부하 분산기 설정을 참조하세요.
mart-host-alias MART 서버 엔드포인트의 정규화된 DNS 이름입니다. 이 이름은 이 구성에 필요한 승인된 TLS 인증서에 사용되는 일반 이름(CN)과 일치해야 합니다. 예를 들어 mart.mydomain.com입니다.
mart-service-account-name create-service-account 도구를 사용하여 생성한 mart 서비스 계정 키 파일의 이름입니다.
mart-cert-name
mart-key-name
MART 게이트웨이에 TLS 사용자 인증 정보 만들기 단계에서 이전에 생성한 승인된 TLS 키 및 인증서 파일의 이름을 입력합니다. 이러한 파일은 base_directory/hybrid-files/certs 디렉터리에 있어야 합니다. 예:
sslCertPath: ./certs/fullchain.pem
sslKeyPath: ./certs/privkey.key
gcp-region apigee-loggerapigee-metrics가 데이터를 푸시하는 GCP 리전을 식별합니다.
gcp-project-id apigee-loggerapigee-metrics가 데이터를 푸시하는 Google Cloud 프로젝트를 식별합니다.
metrics-service-account-name create-service-account 도구를 사용하여 생성한 측정항목 서비스 계정 키 파일의 이름입니다. 예를 들면 다음과 같습니다.
serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json

요약

구성 파일은 하이브리드 구성요소를 클러스터에 배포하는 방법을 Kubernetes에 지정합니다. 다음으로 클러스터에 이 구성을 적용합니다.

1 2 3 (다음) 4단계: 하이브리드 런타임 설치