Cassandra 사용자 인증 정보 순환 문제 해결

ApigeeApigee Hybrid 문서입니다.
이 주제에 해당하는 Apigee Edge 문서가 없습니다.

증상

Apigee Hybrid에서 멀티 리전 Cassandra 사용자 인증 정보 순환 중에 첫 번째 리전이 순환된 후 후속 리전의 순환이 실패하고 비밀 순환 포드 로그에 오류가 기록됩니다.

오류 메시지

로그에 다음과 같이 표시됩니다.

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

보안 비밀 순환 작업 포드 로그에 다음 오류가 포함됩니다.

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

create-new-users-job 포드 로그에 다음 오류가 포함됩니다.

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에 문의하세요.

  • 요청 받은 일반적인 데이터 외에도 모든 비밀 로테이션 포드에서 로그를 수집합니다.