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_MIN 및 REPLICAS_MAX: 설치에서 Apigee 인그레스 게이트웨이의 최소 및 최대 복제본 수입니다. 구성 속성 참조의
ingressGateways[].replicaCountMin
및ingressGateways[].replicaCountMax
를 참조하세요. - CPU_COUNT_REQ 및 MEMORY_REQ: 설치에서 Apigee 인그레스 게이트웨이의 각 복제본에 대한 CPU 및 메모리 요청입니다.
구성 속성 참조의
ingressGateways[].resources.requests.cpu
및ingressGateways[].resources.requests.memory
를 참조하세요. - CPU_COUNT_LIMIT 및 MEMORY_LIMIT: 설치에서 Apigee 인그레스 게이트웨이의 각 복제본에 대한 최대 CPU 및 메모리 한도입니다.
구성 속성 참조의
ingressGateways[].resources.limits.cpu
및ingressGateways[].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 인그레스 게이트웨이에 대한 몇 가지 일반적인 관리 작업은 다음과 같습니다.
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 인그레스 게이트웨이 서비스에 대해 loadbalancer 사용 중지
인그레스 게이트웨이 배포에 사용되는 커스텀 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 인그레스 게이트웨이 배포에 매핑할 수 있습니다. 다음 예시에서 가상 호스트 spam-vh
는 meat
라벨이 지정된 인그레스 게이트웨이에서 실행되고 다른 두 가상 호스트는 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
Apigee 인그레스 게이트웨이 배포에 커스텀 암호 모음 추가
재정의 파일의 virtualhosts.cipherSuites
속성을 사용하여 Apigee 인그레스 게이트웨이 배포에 커스텀 암호 모음을 추가할 수 있습니다.
Apigee Hybrid에서 사용 설정된 기본 암호 모음은 virtualhosts.cipherSuites
를 참조하세요.
virtualhosts.minTLSProtocolVersion
속성으로 이전 버전의 TLS를 사용 설정하고 재정의 파일의 virtualhosts.cipherSuites
속성을 사용하여 Apigee 인그레스 게이트웨이 배포에 커스텀 암호 모음을 추가할 수 있습니다.
예를 들어 TLS v.1.1을 사용 설정하려면 다음을 수행합니다.
virtualhosts: - name: ENV_GROUP_NAME minTLSProtocolVersion: "1.1" cipherSuites: - "ECDHE-ECDSA-AES128-GCM-SHA256" - "ECDHE-RSA-AES128-GCM-SHA256" - "ECDHE-ECDSA-AES256-GCM-SHA384" - "ECDHE-RSA-AES256-GCM-SHA384" - "ECDHE-ECDSA-CHACHA20-POLY1305" - "ECDHE-RSA-CHACHA20-POLY1305" - "ECDHE-ECDSA-AES128-SHA" - "ECDHE-RSA-AES128-SHA" - "ECDHE-ECDSA-AES256-SHA" - "ECDHE-RSA-AES256-SHA" ...
인그레스 액세스 로그 맞춤설정
istiod.accessLogFile
및 istiod.accessLogFormat
구성 속성을 사용하여 Apigee 인그레스 게이트웨이 액세스 로그 대상 및 형식을 맞춤설정할 수 있습니다. 다음 예시에서는 출력이 istiod.accessLogFile
의 기본값인 /dev/stdout
로 전송됩니다.
istiod: accessLogFormat: '{"request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","status":"%RESPONSE_CODE%"}'
istiod.accessLogFile
및 빈 값을 할당하여 Apigee 인그레스 게이트웨이 액세스 로깅을 사용 중지할 수 있습니다. 예를 들면 다음과 같습니다.
istiod: accessLogFile: ''
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 인그레스 게이트웨이에서 작동하지 않습니다.