Akhir masa berlaku sertifikat CA mTLS ingress

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_EXPIREY 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-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

Kemungkinan penyebab

Penyebab Deskripsi
Masa berlaku sertifikat CA mTLS ingress akan segera berakhir Masa berlaku sertifikat CA mTLS ingress yang dikonfigurasi akan berakhir dalam 14 hari.
Masa berlaku sertifikat CA mTLS masuk telah habis Masa berlaku sertifikat CA mTLS ingress yang dikonfigurasi telah berakhir.

Penyebab: Masa berlaku sertifikat CA mTLS Ingress akan segera berakhir

Sertifikat CA mTLS ingress yang disimpan dalam secret Kubernetes yang dirujuk oleh ApigeeRouteConfig akan berakhir dalam 14 hari ke depan.

Diagnosis

Jalankan perintah berikut:

kubectl -n apigee describe apigeeissue ISSUE_NAME

Dengan ISSUE_NAME adalah nama masalah. Contoh, ca-cert-expiring-soon-my-org-my-virtualhost.

Output-nya akan terlihat seperti berikut:

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

Konten Spec.Details menjelaskan nama ApigeeRouteConfig yang merujuk ke secret Kubernetes yang berisi sertifikat CA mTLS ingress yang akan segera berakhir masa berlakunya.

Resolusi

  1. Gunakan kubectl describe untuk menampilkan nama ApigeeRouteConfig yang memiliki sertifikat CA mTLS masuk yang akan segera berakhir masa berlakunya:

    kubectl -n apigee describe apigeeissue ISSUE_NAME

    Dengan ISSUE_NAME adalah nama masalah. Misalnya, ca-cert-expiring-soon-my-org-my-virtualhost.

    Dalam contoh ini, ApigeeRouteConfig my-org-my-virtualhost mereferensikan my-org-my-virtualhost rahasia.

  2. Tentukan nama virtualhost dari ApigeeRouteConfig.

    Nama ApigeeRouteConfig menggunakan format: <Apigee organization>-<virtualhost name>.

    Dalam contoh ini, my-org adalah organisasi Apigee dan nama virtualhost adalah my-virtualhost.

  3. 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
    ...
  4. Perbarui sertifikat CA yang tercantum dalam file caCertPath.

  5. Terapkan perubahan pada virtualhost:

    helm upgrade ENV_GROUP_NAME apigee-virtualhost/ \
      --namespace apigee \
      --set envgroup=ENV_GROUP_NAME \
      -f overrides.yaml

Penyebab: Masa berlaku sertifikat CA mTLS Ingress telah berakhir

Masa berlaku sertifikat CA mTLS ingress yang disimpan di secret Kubernetes yang direferensikan oleh ApigeeRouteConfig telah habis.

Diagnosis

Jalankan perintah berikut:

kubectl -n apigee describe apigeeissue ISSUE_NAME

Dengan ISSUE_NAME adalah nama masalah. Contoh, ca-cert-expired-my-org-my-virtualhost.

Output-nya akan terlihat seperti berikut:

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

Konten Spec.Details menjelaskan nama ApigeeRouteConfig yang merujuk ke secret Kubernetes yang berisi sertifikat CA mTLS masuk yang telah habis masa berlakunya.

Resolusi

  1. Gunakan kubectl describe untuk menampilkan nama ApigeeRouteConfig yang memiliki sertifikat CA mTLS ingress yang telah habis masa berlakunya:

    kubectl -n apigee describe apigeeissue ISSUE_NAME

    Dengan ISSUE_NAME adalah nama masalah. Misalnya, ca-cert-expired-my-org-my-virtualhost.

    Dalam contoh ini, ApigeeRouteConfig my-org-my-virtualhost mereferensikan my-org-my-virtualhost rahasia.

  2. Tentukan nama virtualhost dari ApigeeRouteConfig.

    Nama ApigeeRouteConfig menggunakan format: <Apigee organization>-<virtualhost name>.

    Dalam contoh ini, my-org adalah organisasi Apigee dan nama virtualhost adalah my-virtualhost.

  3. 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
    ...
  4. Perbarui sertifikat CA yang tercantum dalam file caCertPath.

  5. Terapkan perubahan pada 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:

  1. ID Project Google Cloud.
  2. Nama organisasi Apigee Hybrid.
  3. Kolom Spec.Details dari ApigeeIssue.
  4. (opsional) File yang dirujuk oleh caCertPath untuk virtualhost yang terpengaruh.