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 인그레스 게이트웨이에 대한 몇 가지 일반적인 관리 작업은 다음과 같습니다.
ASM에 구성 제공 중지
Apigee Hybrid v1.8로 업그레이드하고 Apigee 인그레스 게이트웨이로 트래픽을 마이그레이션한 후 Anthos Service Mesh에 대한 라우팅 구성 제공을 중지할 수 있습니다.
-
API 서버에서 Anthos Service Mesh CR 객체 업데이트를 중지하려면 Apigee 컨트롤러를 업데이트합니다. 재정의 파일에서 다음을 설정합니다.
ao: args: disableIstioConfigInAPIServer: true
- 이전 명령어로 컨트롤러가 재시작되었으므로 다음 명령어로 배포 상태를 확인합니다.
$APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE
-
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
를 참조하세요.
구성 변경사항을 적용합니다.
$APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE
자세한 내용은 구성 속성 참조의 ao
를 참조하세요.
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-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
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 인그레스 게이트웨이에서 작동하지 않습니다.