Apigee 인그레스 게이트웨이 관리

Apigee Hybrid 버전 1.8부터 Apigee Hybrid는 Apigee 인그레스 게이트웨이를 사용하여 Hybrid용 인그레스 게이트웨이를 제공합니다.

Apigee 인그레스 게이트웨이 구성

overrides.yaml에서 인그레스 게이트웨이를 구성할 수 있습니다. 예를 들면 다음과 같습니다.

구문

ingressGateways:
- name: INGRESS_NAME
  replicaCountMin: REPLICAS_MIN
  replicaCountMax: REPLICAS_MAX
  resources:
    requests:
      cpu: CPU_COUNT_REQ
      memory: MEMORY_REQ
    limits:
      cpu: CPU_COUNT_LIMIT
      memory: MEMORY_LIMIT
  svcAnnotations:  # optional. See Known issue 243599452.
    SVC_ANNOTATIONS_KEY: SVC_ANNOTATIONS_VALUE
  svcLoadBalancerIP: SVC_LOAD_BALANCER_IP # optional

ingressGateways:
- name: prod1
  replicaCountMin: 2
  replicaCountMax: 100
  resources:
    requests:
      cpu: 1
      memory: 1Gi
    limits:
      cpu: 2
      memory: 2Gi
  svcAnnotations:  # optional. See Known issue 243599452.
    networking.gke.io/load-balancer-type: "Internal"
  svcLoadBalancerIP: 198.252.0.123 
  • INGRESS_NAME은 인그레스 게이트웨이 배포의 이름입니다. 다음 요구사항을 충족하는 이름이면 됩니다.
    • 최대 길이는 17자(영문 기준)입니다.
    • 소문자 영숫자 문자, '-' 또는 '.'만 포함해야 합니다.
    • 영숫자 문자로 시작해야 합니다.
    • 영숫자 문자로 끝나야 합니다.

    구성 속성 참조는 ingressGateways[].name을 참조하세요.

  • REPLICAS_MINREPLICAS_MAX: 설치에서 Apigee 인그레스 게이트웨이의 최소 및 최대 복제본 수입니다. 구성 속성 참조의 ingressGateways[].replicaCountMiningressGateways[].replicaCountMax를 참조하세요.
  • CPU_COUNT_REQMEMORY_REQ: 설치에서 Apigee 인그레스 게이트웨이의 각 복제본에 대한 CPU 및 메모리 요청입니다.

    구성 속성 참조의 ingressGateways[].resources.requests.cpuingressGateways[].resources.requests.memory를 참조하세요.

  • CPU_COUNT_LIMITMEMORY_LIMIT: 설치에서 Apigee 인그레스 게이트웨이의 각 복제본에 대한 최대 CPU 및 메모리 한도입니다.

    구성 속성 참조의 ingressGateways[].resources.limits.cpuingressGateways[].resources.limits.memory를 참조하세요.

  • SVC_ANNOTATIONS_KEY SVC_ANNOTATIONS_VALUE(선택사항):

    기본 인그레스 서비스의 주석을 제공하는 키-값 쌍입니다. 주석은 부하분산기 유형을 내부 또는 외부로 설정하는 등, 클라우드 플랫폼에서 하이브리드 설치를 구성하는 데 사용됩니다. 예를 들면 다음과 같습니다.

    ingressGateways:
      svcAnnotations:
        networking.gke.io/load-balancer-type: "Internal"

    주석은 플랫폼마다 다릅니다. 필수 및 추천 주석은 플랫폼 문서를 참조하세요.

    구성 속성 참조의 ingressGateways[].svcAnnotations를 참조하세요.
  • SVC_LOAD_BALANCER_IP(선택사항): 부하 분산기 IP 주소 지정을 지원하는 플랫폼에서 이 IP 주소로 부하 분산기가 생성됩니다. 부하 분산기 IP를 지정할 수 없는 플랫폼에서 이 속성은 무시됩니다. 구성 속성 참조의 ingressGateways[].svcLoadBalancerIP를 참조하세요.

Apigee 인그레스 게이트웨이 구성 적용

apigeectl을 사용하여 조직 범위에 변경사항을 적용합니다.

$APIGEECTL_HOME/apigeectl apply -f overrides/overrides.yaml --org

관리 작업

Apigee 인그레스 게이트웨이에 대한 몇 가지 일반적인 관리 작업은 다음과 같습니다.

ASM에 구성 제공 중지

Apigee Hybrid v1.8로 업그레이드하고 Apigee 인그레스 게이트웨이로 트래픽을 마이그레이션한 후 Anthos Service Mesh에 대한 라우팅 구성 제공을 중지할 수 있습니다.

  1. API 서버에서 Anthos Service Mesh CR 객체 업데이트를 중지하려면 Apigee 컨트롤러를 업데이트합니다. 재정의 파일에서 다음을 설정합니다.

    ao:
      args:
        disableIstioConfigInAPIServer: true
  2. 구성 변경사항을 적용합니다.

    $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
    

    자세한 내용은 구성 속성 참조의 ao를 참조하세요.

  3. 이전 명령어로 컨트롤러가 재시작되었으므로 다음 명령어로 배포 상태를 확인합니다.
    $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
  4. virtualhosts를 업데이트합니다. 모든 가상 호스트는 app: apigee-ingressgateway 값이 있는 app 선택기 라벨을 포함해야 합니다. 이 변경사항으로 인해 Anthos Service Mesh 게이트웨이에서 Apigee 라우팅 구성을 읽을 수 없습니다.

    각 가상 호스트에서 다음과 같이 selector 속성을 추가하거나 바꿉니다.

    virtualhosts:
    - name: ENV_GROUP
      selector:
        app: apigee-ingressgateway # required
      ...
    

    구성 변경사항을 적용합니다.

    $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts
    

    자세한 내용은 구성 속성 참조의 virtualhosts.selector를 참조하세요.

Apigee 인그레스 게이트웨이 확장

재정의 파일의 다음 속성을 업데이트합니다.

  • ingressGateways[].replicaCountMax
  • ingressGateways[].replicaCountMin

자세한 내용은 구성 속성 참조의 ingressGateways를 참조하세요.

apigeectl apply --org를 사용하여 변경사항을 적용합니다.

리소스 할당 업데이트

재정의 파일의 다음 속성을 업데이트합니다.

  • ingressGateways[].resources.limits.cpu
  • ingressGateways[].resources.limits.memory
  • ingressGateways[].resources.requests.cpu
  • ingressGateways[].resources.requests.memory

자세한 내용은 구성 속성 참조의 ingressGateways를 참조하세요.

apigeectl apply --org를 사용하여 변경사항을 적용합니다.

Apigee 인그레스 게이트웨이 서비스 업데이트

재정의 파일의 다음 속성을 업데이트합니다.

  • ingressGateways[].svcAnnotations
  • ingressGateways[].svcLoadBalancerIP

자세한 내용은 구성 속성 참조의 ingressGateways를 참조하세요.

apigeectl apply --org를 사용하여 변경사항을 적용합니다.

기본 Apigee 인그레스 게이트웨이 서비스에 대해 부하 분산기 사용 중지

인그레스 게이트웨이 배포에 사용되는 커스텀 Kubernetes 서비스를 만드는 경우 기본 Kubernetes 서비스에서 부하 분산기 생성을 사용 중지할 수 있습니다. 재정의 파일에서 ingressGateways[].svcType 속성을 ClusterIP로 업데이트합니다. 예를 들면 다음과 같습니다.

ingressGateways:
  - name: my-ingress-gateway
    replicaCountMin: 2
    replicaCountMax: 10
    svcType: ClusterIP

apigeectl apply --org를 사용하여 변경사항을 적용합니다.

TLS 및 mTLS 구성

인그레스 게이트웨이에서 TLS 및 mTLS 구성을 참조하세요.

SNI 이외의 클라이언트 사용 설정

SNI 이외의 클라이언트와 HTTP 클라이언트 사용 설정을 참조하세요.

추가 Apigee 인그레스 게이트웨이 설치

overrides.yaml 파일에서 여러 인그레스 게이트웨이를 추가할 수 있습니다. ingressGateways 구성 속성은 배열입니다. 자세한 내용은 구성 속성 참조의 ingressGateways를 참조하세요.

예:

ingressGateways:
- name: fruit
  replicaCountMin: 2
  replicaCountMax: 10

- name: meat
  replicaCountMin: 2
  replicaCountMax: 10

apigeectl apply --org를 사용하여 변경사항을 적용합니다.

Apigee 인그레스를 가상 호스트에 타겟팅

라벨이 지정된 Apigee 인그레스 게이트웨이를 재정의 파일의 특정 가상 호스트로 타겟팅할 수 있습니다. 이 구성은 Apigee에서 가상 호스트 구성을 적용할 인그레스 게이트웨이를 지정합니다. 다음 예시에서 가상 호스트 spam-vhmeat 라벨이 지정된 인그레스 게이트웨이를 사용하도록 구성되고 다른 두 가상 호스트는 fruit 인그레스 게이트웨이를 사용합니다. 추가 Anthos Service Mesh 게이트웨이 설치에 설명된 대로 인그레스 게이트웨이에 라벨을 올바르게 지정해야 합니다.

virtualhosts:
- name: spam-vh
  sslCertPath: cert-spam.crt
  sslKeyPath: cert-spam.key
  selector:
    app: apigee-ingressgateway
    ingress_name: meat
- name: banana-vh
  sslCertPath: cert-banana.crt
  sslKeyPath: cert-banana.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit
- name: plum-vh
  sslCertPath: cert-plum.crt
  sslKeyPath: cert-plum.key
  selector:
    app: apigee-ingressgateway
    ingress_name: fruit
  
    

FAQ

다른 네임스페이스에 있는 기존 Anthos Service Mesh/Istio 설치에서 이것이 어떻게 작동하나요?
Apigee가 전용 네임스페이스에 설치되어 있는 한 Apigee 인그레스 게이트웨이를 클러스터에 이미 있는 Anthos Service Mesh/Istio 설치와 함께 실행할 수 있습니다. Apigee 인그레스 게이트웨이는 apiserver에 구성을 저장하지 않으므로 충돌이 발생하지 않습니다.
Apigee 인그레스 게이트웨이 구성요소를 업그레이드해야 하는 사람은 누구인가요?
Apigee 인그레스 게이트웨이 구성요소 업그레이드는 Apigee에서 처리되며 정기적인 하이브리드 업그레이드 및 패치 출시 중에 수행됩니다.
Apigee 인그레스 게이트웨이에서 포트 80을 노출하려면 어떻게 해야 하나요?
포트 80은 Apigee 인그레스 게이트웨이에서 지원되지 않습니다. Anthos Service Mesh에서 Apigee 인그레스 게이트웨이로 마이그레이션하고 커뮤니티 게시물의 안내에 따라 포트 80을 사용 설정하면 Apigee 인그레스 게이트웨이에서 작동하지 않습니다.