알려진 문제

이 페이지에는 구성 커넥터의 알려진 문제가 나와 있습니다.

여기에 나열된 문제 중 상당수가 해결되었습니다. 수정된 버전 열은 수정사항이 도입된 버전을 나타냅니다. 이 수정사항을 적용하려면 나열된 버전 이상으로 업그레이드합니다.

Google Developer Program에 참여하는 경우 이 페이지를 저장하여 이 페이지와 관련된 출시 노트가 게시될 때 알림을 받으세요. 자세한 내용은 저장된 페이지를 참고하세요.

제품 버전이나 카테고리별로 알려진 문제를 필터링하려면 다음 드롭다운 메뉴에서 필터를 선택하세요.

구성 커넥터 버전을 선택합니다.

문제 카테고리를 선택하세요.

또는 알려진 문제를 필터링합니다.

카테고리 식별된 가장 이른 버전 수정된 버전 문제 및 해결 방법
리소스 1.126.0 1.134.1

새 구성 커넥터 리소스를 만들거나 적용하려고 하면 Kubernetes API 서버가 요청을 거부하고 리소스 생성을 차단합니다. 새 리소스를 배포할 수 없지만 기존 리소스는 계속 정상적으로 조정될 수 있습니다. 이 문제는 1.134.1 이전 버전의 구성 커넥터에서 cnrm-webhook-manager 구성요소 내의 알려진 경합 상태로 인해 발생합니다.

배포 출력 또는 API 서버 로그에 다음과 유사한 오류가 표시될 수 있습니다.

failed calling webhook "container-annotation-handler.cnrm.cloud.google.com": failed to call webhook: Post "https://cnrm-validating-webhook.cnrm-system.svc:443/...": tls: failed to verify certificate: x509: certificate signed by unknown authority
      

또한 cnrm-webhook-manager 포드 로그에 다음이 표시될 수 있습니다.

http: TLS handshake error ... remote error: tls: bad certificate.
      

해결 방법:

리소스 생성을 즉시 차단 해제하려면 다음 명령어로 배포를 다시 시작하여 웹훅 관리자 포드가 올바른 인증서 데이터를 동기화하고 가져오도록 강제할 수 있습니다.

kubectl rollout restart deployment cnrm-webhook-manager -n cnrm-system
      
리소스 1.134 1.134.2

영향을 받는 SQLInstance 리소스가 state-into-spec 주석에 관한 오류 메시지와 함께 Updating 상태로 멈출 수 있습니다.

invalid value "merge" for "cnrm.cloud.google.com/state-into-spec" annotation
      

이 문제는 버전 1.134.0에 도입된 더 엄격한 검증으로 인해 기본값으로 적용된 경우에도 SQLInstance 리소스의 '병합' 전략이 잘못 거부되기 때문에 발생합니다. 이 문제는 이후 버전에서 수정되었습니다.

직접 조정자 1.131 1.134

구성 커넥터 버전 1.132.0에는 직접 조정자를 사용하는 리소스에 영향을 미치는 문제가 도입되었습니다.

컨트롤러 이름 중복 오류

버전 1.132.0에서는 SpannerInstance 및 SecretManagerSecret와 같은 리소스가 이름이 동일한 컨트롤러가 이미 있음을 나타내는 오류와 함께 조정되지 않을 수 있습니다.

error registering controller: error adding direct controller for SpannerInstance to a manager: error creating new controller: controller with name spannerinstance-controller already exists.
      

SecretManagerSecret 'last-applied-configuration' 오류

버전 1.131.0~1.133에서 SecretManagerSecret에 대해 직접 조정자를 사용 설정하면(alpha.cnrm.cloud.google.com/reconciler: direct 주석 사용) API 오류로 인해 조정이 실패할 수 있습니다.

[kubectl.kubernetes.io/last-applied-configuration] must follow pattern [a-z0-9A-Z]+([_\.\-]*[a-z0-9A-Z]+)*), be less than 64 characters, and must have a UTF encoding of less than 128 bytes
      

이는 구성 커넥터가 내부 Kubernetes 주석을 라벨로 Secret Manager API에 전달하려고 잘못 시도하기 때문에 발생합니다.

설치, 네트워킹 Kubernetes 1.19 1.43

다음 예시와 비슷한 오류가 표시되면 인증서에 문제가 있을 수 있습니다.

Error from server (InternalError): error when creating "/mnt/set-weaver-dns-record.yml": Internal error occurred: failed calling webhook "annotation-defaulter.cnrm.cloud.google.com": Post "https://cnrm-validating-webhook.cnrm-system.svc:443/annotation-defaulter?timeout=30s": x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0
      

이 문제는 Kubernetes 버전 1.19 이상에서 발생합니다. 구성 커넥터 버전 1.43 이상은 인증서 자동 생성을 지원하므로 이 문제가 발생하지 않습니다.


해결 방법:

이 문제를 해결하려면 관련 인증서와 포드를 삭제합니다.

kubectl delete -n cnrm-system secrets cnrm-webhook-cert-abandon-on-uninstall
kubectl delete -n cnrm-system secrets cnrm-webhook-cert-cnrm-validating-webhook
kubectl delete -n cnrm-system pods -l "cnrm.cloud.google.com/component=cnrm-webhook-manager"
      

이러한 리소스를 삭제하면 올바른 인증서가 다시 생성됩니다.

맨 위로