Apigee 및 Apigee Hybrid 문서입니다.
이 주제에 해당하는 Apigee Edge 문서가 없습니다.
증상
apigee
네임스페이스의 리소스를 보면 Reason
이 AIS_INGRESS_CERT_EXPIREY
인 ApigeeIssue
가 표시됩니다.
오류 메시지
kubectl -n apigee get apigeeissues
를 실행하면 다음과 같은 오류가 표시됩니다.
NAME SEVERITY REASON DOCUMENTATION AGE ingress-cert-expired-my-org-my-virtualhost ERROR AIS_INGRESS_CERT_EXPIREY https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_CERT_EXPIREY 5h18m
가능한 원인
원인 | 설명 |
---|---|
인그레스 인증서가 곧 만료됨 | 구성된 인그레스 인증서가 14일 이내에 만료됩니다. |
인그레스 인증서가 만료됨 | 구성된 인그레스 인증서가 만료되었습니다. |
원인: 인그레스 인증서가 곧 만료됨
ApigeeRouteConfig
에서 참조하며 Kubernetes 보안 비밀에 저장된 인그레스 인증서가 14일 이내에 만료됩니다.
진단
다음 명령어를 실행합니다.
kubectl -n apigee describe apigeeissue ISSUE_NAME
여기서 ISSUE_NAME은 문제의 이름입니다. 예를 들면 ingress-cert-expiring-soon-my-org-my-virtualhost
입니다.
출력은 다음과 비슷하게 표시됩니다.
Name: ingress-cert-expiring-soon-my-org-my-virtualhost Namespace: apigee Labels: ais-reason=AIS_INGRESS_CERT_EXPIREY Annotations: <none> API Version: apigee.cloud.google.com/v1alpha1 Kind: ApigeeIssue Metadata: Creation Timestamp: 2023-06-12T17:03:43Z Generation: 1 Owner References: API Version: apigee.cloud.google.com/v1alpha2 Kind: ApigeeOrganization Name: my-org UID: 7e83a52c-ce00-4bed-98be-55835ada1817 Resource Version: 3281563 UID: adc775c2-376d-4bf9-9860-500b2b2b8273 Spec: Details: Ingress certificate in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" is expiring in 5.409373245s at 2024-03-11 19:04:12 +0000 UTC Documentation: https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_CERT_EXPIREY Reason: AIS_INGRESS_CERT_EXPIREY Severity: WARNING Events: <none>
Spec: Details: Ingress certificate in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" is expiring in 5.409373245s at 2024-03-11 19:04:12 +0000 UTC
Spec.Details
의 콘텐츠는 곧 만료되는 인그레스 인증서가 포함된 Kubernetes 보안 비밀을 참조하는 ApigeeRouteConfig
의 이름을 설명합니다.
해결 방법
-
kubectl describe
를 사용하여 곧 만료되는 인그레스 인증서가 있는ApigeeRouteConfig
의 이름을 표시합니다.kubectl -n apigee describe apigeeissue ISSUE_NAME
여기서 ISSUE_NAME은 문제의 이름입니다. 예를 들면
ingress-cert-expiring-soon-my-org-my-virtualhost
입니다.이 예시에서
ApigeeRouteConfig
my-org-my-virtualhost
는 보안 비밀my-org-my-virtualhost
를 참조합니다. -
ApigeeRouteConfig
에서virtualhost
이름을 확인합니다.ApigeeRouteConfig
의 이름은<Apigee organization>-<virtualhost name>
형식입니다.이 예시에서
my-org
는 Apigee 조직이고 virtualhost 이름은my-virtualhost
입니다. -
overrides.yaml
에서 대응하는 virtualhost를 찾습니다.virtualhosts: ... - name: my-virtualhost selector: app: apigee-ingressgateway sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ...
-
sslCertPath
및sslKeyPath
파일에 나열된 인증서와 키를 업데이트합니다. -
virtualhost에 변경사항을 적용합니다.
helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \ --namespace apigee \ --set envgroup=ENV_GROUP_NAME \ -f overrides.yaml
원인: 인그레스 인증서가 만료됨
ApigeeRouteConfig
에서 참조하며 Kubernetes 보안 비밀에 저장된 인그레스 인증서가 만료되었습니다.
진단
다음 명령어를 실행합니다.
kubectl -n apigee describe apigeeissue ISSUE_NAME
여기서 ISSUE_NAME은 문제의 이름입니다. 예를 들면 ingress-cert-expired-my-org-my-virtualhost
입니다.
다음과 비슷한 결과가 반환됩니다.
Name: ingress-cert-expired-my-org-my-virtualhost Namespace: apigee Labels: ais-reason=AIS_INGRESS_CERT_EXPIREY Annotations: <none> API Version: apigee.cloud.google.com/v1alpha1 Kind: ApigeeIssue Metadata: Creation Timestamp: 2023-06-12T17:03:43Z Generation: 1 Owner References: API Version: apigee.cloud.google.com/v1alpha2 Kind: ApigeeOrganization Name: my-org UID: 7e83a52c-ce00-4bed-98be-55835ada1817 Resource Version: 3281563 UID: adc775c2-376d-4bf9-9860-500b2b2b8273 Spec: Details: Ingress certificate in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" expired at: 2024-03-11 19:12:10 +0000 UTC Documentation: https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_CERT_EXPIREY Reason: AIS_INGRESS_CERT_EXPIREY Severity: ERROR Events: <none>
Spec: Details: Ingress certificate in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" expired at: 2024-03-11 19:12:10 +0000 UTC
Spec.Details
의 콘텐츠는 만료된 인그레스 인증서가 포함된 Kubernetes 보안 비밀을 참조하는 ApigeeRouteConfig
의 이름을 설명합니다.
해결 방법
-
kubectl describe
를 사용하여 만료된 인그레스 인증서가 있는ApigeeRouteConfig
의 이름을 표시합니다.kubectl -n apigee describe apigeeissue ISSUE_NAME
여기서 ISSUE_NAME은 문제의 이름입니다. 예를 들면
ingress-cert-expired-my-org-my-virtualhost
입니다.이 예시에서
ApigeeRouteConfig
my-org-my-virtualhost
는 보안 비밀my-org-my-virtualhost
를 참조합니다. -
ApigeeRouteConfig
에서virtualhost
이름을 확인합니다.ApigeeRouteConfig
의 이름은<Apigee organization>-<virtualhost name>
형식입니다.이 예시에서
my-org
는 Apigee 조직이고 virtualhost 이름은my-virtualhost
입니다. -
overrides.yaml
에서 대응하는 virtualhost를 찾습니다.virtualhosts: ... - name: my-virtualhost selector: app: apigee-ingressgateway sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ...
-
sslCertPath
및sslKeyPath
파일에 나열된 인증서와 키를 업데이트합니다. -
virtualhost에 변경사항을 적용합니다.
helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \ --namespace apigee \ --set envgroup=ENV_GROUP_NAME \ -f overrides.yaml
진단 정보 수집 필요
위 안내를 따른 후에도 문제가 지속되면 다음 진단 정보를 수집한 후 Google Cloud Customer Care에 문의하세요.
- Google Cloud 프로젝트 ID
- Apigee Hybrid 조직의 이름
ApigeeIssue
의Spec.Details
필드-
(선택사항) 영향을 받는 virtualhost에 대해
sslCertPath
및sslKeyPath
에서 참조하는 파일