Cassandra 認証情報のローテーションのトラブルシューティング

現在、ApigeeApigee ハイブリッドのドキュメントが表示されています。
このトピックに対応する Apigee Edge のドキュメントはありません。

症状

Apigee ハイブリッドでのマルチリージョン 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 からログを収集します。