Apigee 및 Apigee Hybrid 문서입니다.
이 주제에 해당하는 Apigee Edge 문서가 없습니다.
증상
apigee
네임스페이스의 리소스를 보면 Reason
이 AIS_INGRESS_MTLS_CA_CERT_EXPIREY
인 ApigeeIssue
가 표시됩니다.
오류 메시지
kubectl -n apigee get apigeeissues
를 실행하면 다음과 같은 오류가 표시됩니다.
NAME SEVERITY REASON DOCUMENTATION AGE ca-cert-expired-my-org-my-virtualhost ERROR AIS_INGRESS_MTLS_CA_CERT_EXPIREY https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_MTLS_CA_CERT_EXPIREY 5h18m
가능한 원인
원인 | 설명 |
---|---|
인그레스 mTLS CA 인증서가 곧 만료됨 | 구성된 인그레스 mTLS CA 인증서가 14일 이내에 만료됩니다. |
인그레스 mTLS CA 인증서가 만료됨 | 구성된 인그레스 mTLS CA 인증서가 만료되었습니다. |
원인: 인그레스 mTLS CA 인증서가 곧 만료됨
ApigeeRouteConfig
에서 참조하는 Kubernetes 보안 비밀에 저장된 인그레스 mTLS CA 인증서가 14일 이내에 만료됩니다.
진단
다음 명령어를 실행합니다.
kubectl -n apigee describe apigeeissue ISSUE_NAME
여기서 ISSUE_NAME은 문제의 이름입니다. 예를 들면 ca-cert-expiring-soon-my-org-my-virtualhost
입니다.
출력은 다음과 비슷하게 표시됩니다.
Name: ca-cert-expiring-soon-my-org-my-virtualhost Namespace: apigee Labels: ais-reason=AIS_INGRESS_MTLS_CA_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: CA 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_MTLS_CA_CERT_EXPIREY Reason: AIS_INGRESS_MTLS_CA_CERT_EXPIREY Severity: WARNING Events: <none>
Spec: Details: CA 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
의 콘텐츠는 곧 만료되는 인그레스 mTLS CA 인증서가 포함된 Kubernetes 보안 비밀을 참조하는 ApigeeRouteConfig
의 이름을 설명합니다.
해결 방법
-
kubectl describe
를 사용하여 곧 만료되는 인그레스 mTLS CA 인증서가 있는ApigeeRouteConfig
의 이름을 표시합니다.kubectl -n apigee describe apigeeissue ISSUE_NAME
여기서 ISSUE_NAME은 문제의 이름입니다. 예를 들면
ca-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 caCertPath: ./certs/ca.pem sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ...
-
caCertPath
파일에 나열된 CA 인증서를 업데이트합니다. -
변경사항을 virtualhost에 적용합니다.
helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \ --namespace apigee \ --set envgroup=ENV_GROUP_NAME \ -f overrides.yaml
원인: 인그레스 mTLS CA 인증서가 만료됨
ApigeeRouteConfig
에서 참조하는 Kubernetes 보안 비밀에 저장된 인그레스 mTLS CA 인증서가 만료되었습니다.
진단
다음 명령어를 실행합니다.
kubectl -n apigee describe apigeeissue ISSUE_NAME
여기서 ISSUE_NAME은 문제의 이름입니다. 예를 들면 ca-cert-expired-my-org-my-virtualhost
입니다.
출력은 다음과 비슷하게 표시됩니다.
Name: ca-cert-expired-my-org-my-virtualhost Namespace: apigee Labels: ais-reason=AIS_INGRESS_MTLS_CA_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: CA 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_MTLS_CA_CERT_EXPIREY Reason: AIS_INGRESS_MTLS_CA_CERT_EXPIREY Severity: ERROR Events: <none>
Spec: Details: CA 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
의 콘텐츠는 만료된 인그레스 mTLS CA 인증서가 포함된 Kubernetes 보안 비밀을 참조하는 ApigeeRouteConfig
의 이름을 설명합니다.
해결 방법
-
kubectl describe
를 사용하여 만료된 인그레스 mTLS CA 인증서가 있는ApigeeRouteConfig
의 이름을 표시합니다.kubectl -n apigee describe apigeeissue ISSUE_NAME
여기서 ISSUE_NAME은 문제의 이름입니다. 예를 들면
ca-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 caCertPath: ./certs/ca.pem sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ...
-
caCertPath
파일에 나열된 CA 인증서를 업데이트합니다. -
변경사항을 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에 대해
caCertPath
에서 참조하는 파일