Anda sedang melihat dokumentasi Apigee dan Apigee hybrid.
Tidak ada dokumentasi
Apigee Edge yang setara untuk topik ini.
Gejala
ApigeeIssue
dengan Reason
AIS_INGRESS_MTLS_CA_CERT_INVALID
ditampilkan saat melihat resource di namespace apigee
.
Pesan error
Setelah menjalankan kubectl -n apigee get apigeeissues
, error seperti berikut akan
ditampilkan:
NAME SEVERITY REASON DOCUMENTATION AGE ca-cert-invalid-my-org-my-virtualhost ERROR AIS_INGRESS_MTLS_CA_CERT_INVALID https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_MTLS_CA_CERT_INVALID 5h18m
Kemungkinan penyebab
Penyebab | Deskripsi |
---|---|
Sertifikat CA mTLS masuk tidak dienkode PEM | Sertifikat CA mTLS masuk yang dikonfigurasi tidak dienkode PEM. |
Sertifikat CA mTLS masuk salah format | Sertifikat CA mTLS ingress yang dikonfigurasi salah formatnya. |
Penyebab: Sertifikat CA mTLS masuk tidak dienkode PEM
Sertifikat CA mTLS ingress yang disimpan dalam secret Kubernetes yang dirujuk oleh
ApigeeRouteConfig
tidak memiliki blok teks encoding PEM (atau rusak).
Diagnosis
Jalankan perintah berikut:
kubectl -n apigee describe apigeeissue ISSUE_NAME
Dengan ISSUE_NAME adalah nama masalah. Contoh,
ca-cert-invalid-my-org-my-virtualhost
.
Output-nya akan terlihat seperti berikut:
Name: ca-cert-invalid-my-org-my-virtualhost Namespace: apigee Labels: ais-reason=AIS_INGRESS_MTLS_CA_CERT_INVALID 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 not PEM encoded Documentation: https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_MTLS_CA_CERT_INVALID Reason: AIS_INGRESS_MTLS_CA_CERT_INVALID Severity: ERROR Events: <none>
Spec: Details: CA certificate in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" is not PEM encoded
Konten Spec.Details
menjelaskan nama
ApigeeRouteConfig
yang merujuk ke secret Kubernetes yang berisi sertifikat CA mTLS
ingress yang tidak dienkode PEM.
Resolusi
-
Gunakan
kubectl describe
untuk menampilkan namaApigeeRouteConfig
yang memiliki sertifikat CA mTLS ingress yang tidak dienkode PEM:kubectl -n apigee describe apigeeissue ISSUE_NAME
Dengan ISSUE_NAME adalah nama masalah. Misalnya,
ca-cert-invalid-my-org-my-virtualhost
.Dalam contoh ini,
ApigeeRouteConfig
my-org-my-virtualhost
mereferensikanmy-org-my-virtualhost
rahasia. -
Tentukan nama
virtualhost
dariApigeeRouteConfig
.Nama
ApigeeRouteConfig
menggunakan format:<Apigee organization>-<virtualhost name>
.Dalam contoh ini,
my-org
adalah organisasi Apigee dan nama virtualhost adalahmy-virtualhost
. -
Temukan virtualhost yang sesuai di
overrides.yaml
Anda.virtualhosts: ... - name: my-virtualhost selector: app: apigee-ingressgateway caCertPath: ./certs/ca.pem sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ...
-
Validasi konten file yang diberikan melalui jalur yang dideklarasikan di
caCertPath
. Pastikan konten berisi blok sertifikat awal dan akhir yang diperlukan. Contoh:-----BEGIN CERTIFICATE----- MIIDYTCCAkmgAwIBAgIUSXeU0pQYRFzYlqZpKhNNJdBLFBIwDQYJKoZIhvcNAQEL ... <contents omitted> ... eWJyaWQuZTJlLmFwaWdlZWtzLm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC MMM= -----END CERTIFICATE-----
-
Setelah konten dan format file diperbaiki, terapkan perubahan ke virtualhost:
helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \ --namespace apigee \ --set envgroup=ENV_GROUP_NAME \ -f overrides.yaml
Penyebab: Sertifikat CA mTLS Ingress salah format
Sertifikat CA mTLS ingress yang disimpan di secret Kubernetes yang direferensikan oleh
ApigeeRouteConfig
salah format.
Diagnosis
Jalankan perintah berikut:
kubectl -n apigee describe apigeeissue ISSUE_NAME
Dengan ISSUE_NAME adalah nama masalah. Contoh,
ca-cert-invalid-my-org-my-virtualhost
.
Output-nya akan terlihat seperti berikut:
Name: ca-cert-invalid-my-org-my-virtualhost Namespace: apigee Labels: ais-reason=AIS_INGRESS_MTLS_CA_CERT_INVALID 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 invalid Documentation: https://cloud.google.com/apigee/docs/hybrid/troubleshooting/AIS_INGRESS_MTLS_CA_CERT_INVALID Reason: AIS_INGRESS_MTLS_CA_CERT_INVALID Severity: ERROR Events: <none>
Spec: Details: CA certificate in secret "my-org-my-virtualhost" for ApigeeRouteConfig "my-org-my-virtualhost" is invalid
Konten Spec.Details
menjelaskan nama
ApigeeRouteConfig
yang merujuk ke secret Kubernetes yang berisi sertifikat CA mTLS
ingress yang salah format dan gagal diuraikan.
Resolusi
-
Gunakan
kubectl describe
untuk menampilkan namaApigeeRouteConfig
yang memiliki sertifikat CA mTLS ingress yang salah format:kubectl -n apigee describe apigeeissue ISSUE_NAME
Dengan ISSUE_NAME adalah nama masalah. Misalnya,
ca-cert-invalid-my-org-my-virtualhost
.Dalam contoh ini,
ApigeeRouteConfig
my-org-my-virtualhost
mereferensikanmy-org-my-virtualhost
rahasia. -
Tentukan nama
virtualhost
dariApigeeRouteConfig
.Nama
ApigeeRouteConfig
menggunakan format:<Apigee organization>-<virtualhost name>
.Dalam contoh ini,
my-org
adalah organisasi Apigee dan nama virtualhost adalahmy-virtualhost
. -
Temukan virtualhost yang sesuai di
overrides.yaml
Anda.virtualhosts: ... - name: my-virtualhost selector: app: apigee-ingressgateway caCertPath: ./certs/ca.pem sslCertPath: ./certs/vhost.pem sslKeyPath: ./certs/vhost.key ...
-
Validasi konten file yang diberikan melalui jalur yang dideklarasikan di
caCertPath
. Pastikan konten berisi seluruh sertifikat. Contoh:-----BEGIN CERTIFICATE----- MIIDYTCCAkmgAwIBAgIUSXeU0pQYRFzYlqZpKhNNJdBLFBIwDQYJKoZIhvcNAQEL BQAwQDE+MDwGA1UEAww1bWF4bWlsbGlvbi1oeWJyaWQtc3RhZ2luZy1kZXYuaHli ... <contents omitted> ... 0TPPaik8U9dtFXMGT1DJkjPRPO0Jw5rlU8DKlNA/Kkv52aKJZNwB/cwmvoa/BFji PIPa9wY= -----END CERTIFICATE-----
-
Setelah konten dan format file diperbaiki, terapkan perubahan ke virtualhost:
helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \ --namespace apigee \ --set envgroup=ENV_GROUP_NAME \ -f overrides.yaml
Harus mengumpulkan informasi diagnostik
Jika masalah berlanjut meskipun setelah mengikuti petunjuk di atas, kumpulkan informasi diagnostik berikut, lalu hubungi Layanan Pelanggan Google Cloud:
- ID Project Google Cloud.
- Nama organisasi Apigee Hybrid.
- Kolom
Spec.Details
dariApigeeIssue
. -
(opsional) File yang dirujuk oleh
caCertPath
untuk virtualhost yang terpengaruh.