排解 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

密鑰輪替作業 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 客服團隊聯絡:

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