排解 Cassandra 憑證輪替問題

您正在查看 ApigeeApigee Hybrid 說明文件。
這個主題沒有對應的 Apigee Edge 說明文件。

問題

在 Apigee hybrid 中進行多區域 Cassandra 憑證輪替時,在第一個區域輪替後,後續區域的輪替作業會失敗,並在祕密輪替 Pod 記錄中記錄錯誤。

錯誤訊息

您會在記錄中看到以下內容:

failed to run secret rotation: failed to create new users: failed to create new users

已知問題 397693324 的解決方法

診斷

SecretRotation 資源表示 Status 欄位發生錯誤:

Status:
  Message:  initiated automated rollback
  State:    error

Secret 輪替工作 Pod 記錄檔包含下列錯誤:

failed to run secret rotation: failed to create new users: failed to create new users

create-new-users-job Pod 記錄檔包含下列錯誤:

Error creating clients with updated password: gocql: unable to create session: unable to discover protocol version: Provided username cassandra and/or password are incorrect

解決方法

請執行下列步驟。

  1. 在第一個區域以外的所有區域中,將預設 Cassandra 使用者 (cassandra) 密碼更新為 Secret 中的輪替值。

    apiVersion: v1
        kind: Secret
        metadata:
          name: OLD_SECRET_NAME   # oldSecretRef
          namespace: APIGEE_NAMESPACE
        type: Opaque
        data:
          default.password: NEW_DEFAULT_PASSWORD   #base64-encoded string
          admin.user: OLD_ADMIN_USERNAME   #base64-encoded string
          admin.password: OLD_ADMIN_PASSWORD   #base64-encoded string
          dml.user: OLD_DML_USERNAME   #base64-encoded string
          dml.password: OLD_DML_PASSWORD   #base64-encoded string
          ddl.user: OLD_DDL_USERNAME   #base64-encoded string
          ddl.password: OLD_DDL_PASSWORD   #base64-encoded string
          jmx.user: OLD_JMX_USERNAME   #base64-encoded string
          jmx.password: OLD_JMX_PASSWORD   #base64-encoded string
          jolokia.user: OLD_JOLOKIA_USERNAME   #base64-encoded string
          jolokia.password: OLD_JOLOKIA_PASSWORD   #base64-encoded string
          
  2. 套用更新版 Secret

    kubectl apply -f OLD_SECRET_FILE
  3. 繼續執行一般旋轉程序,應該會成功。

必須收集診斷資訊

如果問題在您按照上述操作說明後仍未解決,請收集下列診斷資訊,然後與 Google Cloud Customer Care 聯絡:

  • 除了可能需要提供的一般資料外,請從所有秘密輪替 Pod 收集記錄。