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 인그레스 게이트웨이 배포에 커스텀 암호 모음 추가
Apigee Hybrid는 TLS v1.2 암호 모음을 지원합니다. TLS v1.0 또는 v1.1을 사용하는 경우 재정의 파일의 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" ...
예를 들어 TLS v.1.0을 지원하려면 다음을 수행합니다.
virtualhosts: - name: ENV_GROUP minTLSProtocolVersion: "1.0" 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 인그레스 게이트웨이에서 작동하지 않습니다.