3단계: GKE 클러스터 구성

구성 재정의 지정

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/cert-name.pem
        sslKeyPath: ./certs/key-name.key
        routingRules:
          - paths:
            - /path-1
            - /path-2
            - /path-n
            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
    
    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:
          - env: my-environment
    
    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
    
    metrics:
      serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json
    
    logger:
      enabled: false
  6. 완료되면 파일을 저장합니다.

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

변수 설명
gcp-region apigee-loggerapigee-metrics가 데이터를 푸시하는 GCP 리전을 식별합니다.
gcp-project-id apigee-loggerapigee-metrics가 데이터를 푸시하는 Google Cloud 프로젝트를 식별합니다.
cluster-name Kubernetes 클러스터 이름입니다.
cluster-region 클러스터가 생성된 리전입니다.
org-name Apigee 하이브리드 조직의 이름입니다.
virtual-host-name 가상 호스트를 식별하는 이름입니다.
host-alias (1 - n)

(필수) 환경의 정규화된 DNS 이름입니다. *.foo.com과 같은 부분 와일드 카드를 사용할 수 있습니다. 일반 와일드 카드 "*"는 허용되지 않습니다.

cert-name
key-name
이전에 런타임 게이트웨이의 TLS 사용자 인증 정보 만들기 단계에서 생성한 자체 서명 TLS 키 및 인증서 파일의 이름을 입력합니다. 이러한 파일은 base_directory/hybrid-files/certs 디렉터리에 있어야 합니다. 예를 들면 다음과 같습니다.
sslCertPath: ./certs/keystore.pem
sslKeyPath: ./certs/keystore.key
path (1 - n) 라우팅 규칙은 앞서 언급한 환경에 제공된 경로로 API 호출을 전달합니다. path-1부터 path-n까지는 environment-name에서 이름이 지정된 환경에 배포된 API 프록시의 기본 경로입니다.
paths:는 선택사항입니다. 기본 경로는 /입니다. 가상 호스트 구성도 참조하세요. 참고: 현재 paths:는 필요하지 않습니다. paths:와 모든 경로 항목을 삭제하거나 주석 처리하세요.
environment-name
(routingRules 아래)
API 호출이 라우팅되는 환경입니다. 5단계: 하이브리드 UI에 새 환경 추가의 설명대로 UI에 환경을 만들 때 사용한 이름과 동일한 이름을 사용합니다. .
environment-name 5단계: 하이브리드 UI에서 새 환경 추가에 설명된 대로 UI에서 환경을 만들 때 사용한 이름과 동일한 이름을 사용합니다.
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
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
metrics-service-account-name create-service-account 도구를 사용하여 생성한 측정항목 서비스 계정 키 파일의 이름입니다. 예를 들면 다음과 같습니다.
serviceAccountPath: ./service-accounts/hybrid-project-apigee-metrics.json

요약

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

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