Consul v1.15.x 릴리스 노트

Consul v1.15.x 릴리스 노트

Consul v1.15.x 릴리스에 대한 하이라이트와 변경 사항, 업그레이드, 알려진 이슈, 변경 로그를 설명하는 문서예요.

출처: 문서

본문

릴리스 하이라이트 (Release highlights)

  • 향상된 Envoy 접근 로깅: Envoy 접근 로그가 이제 구성 항목과 CRD를 통해 중앙에서 관리되어, 운영자가 서비스 메시 내 모든 프록시에 대해 접근 로그를 쉽게 켤 수 있습니다. 자세한 내용은 Access logs overview를 참조하세요. 또한 Proxy default configuration entry는 ProxyDefaults 구성 항목 또는 CRD를 통해 접근 로그를 중앙에서 활성화하는 방법을 보여줍니다.
  • Consul Envoy 확장: 새로운 Envoy 확장 시스템을 통해 Consul 바이너리 외부에서 Consul이 생성한 Envoy 리소스를 수정할 수 있습니다. 이 확장을 통해 Envoy 리스너, 라우트, 클러스터, 엔드포인트를 추가, 삭제, 수정할 수 있으므로 Consul 코드베이스를 변경하지 않고도 추가 Envoy 기능을 지원할 수 있습니다. 현재 지원되는 확장에는 Lua와 AWS Lambda 확장이 있습니다. 서비스 메시에 이러한 확장을 사용하는 방법에 대한 자세한 내용은 Envoy extensions overview를 참조하세요.
  • Linux VM 런타임에서 API Gateway 지원: 이제 Linux VM 런타임에 Consul API Gateway를 배포할 수 있습니다. API Gateway는 Consul에 내장되어 있으며, Linux VM 런타임에 배포할 때 별도로 설치되는 소프트웨어가 아닙니다. 참고: Linux VM 런타임에서 API Gateway 지원은 Consul v1.15.0에서 "Beta" 기능으로 간주됩니다. HashiCorp는 가까운 시일 내에 v1.15 패치 릴리스의 일부로 GA 기능으로 변경할 예정입니다.
  • Consul 서버에 대한 트래픽 속도 제한: 클라이언트가 Consul 리소스에 과도한 읽기 또는 쓰기 요청을 보낼 때 Consul 서버에 대한 위험을 완화하기 위해 전역 RPC 속도 제한을 구성할 수 있습니다. 자세한 내용은 Limit traffic rates overview를 참조하세요.
  • 서비스 간 문제 해결: Consul에는 서비스 메시의 서비스 간 통신 문제를 해결하기 위한 내장 도구가 포함되어 있습니다. consul troubleshoot 명령을 사용하면 VM 및 Kubernetes 배포에서 업스트림과 다운스트림 Envoy 프록시 간 통신을 검증할 수 있습니다. 자세한 내용은 Service-to-service troubleshooting overview를 참조하세요.
  • Raft write-ahead log (Experimental): Consul은 write-ahead log(WAL)라는 실험적 스토리지 백엔드를 제공합니다. WAL은 회전하는 append-only 로그 파일이 있는 전통적인 로그를 구현하여 현재 BoltDB 스토리지 백엔드의 여러 성능 문제를 해결합니다. 자세한 내용은 Experimental WAL LogStore backend overview를 참조하세요. 참고: 새로운 Raft write-ahead log 스토리지 백엔드는 아직 프로덕션 사용에는 권장되지 않지만 일반 커뮤니티 테스트에는 준비되었습니다.

변경 사항 (What's Changed)

  • ACL 오류가 이제 지정된 리소스를 찾을 수 없을 때 설명적인 오류를 반환하도록 개선되었습니다. 다른 ACL 요청 오류는 리소스가 누락된 경우에 대한 더 많은 정보를 제공합니다. 또한 ACL 시스템이 부트스트랩되기 전에 상호작용할 때 오류가 정상적으로 발생합니다.
    • Delete Token/Policy/AuthMethod/Role/BindingRule 엔드포인트는 이제 리소스를 찾을 수 없으면 404를 반환합니다. 새 오류 형식은 다음과 같습니다: Requested * does not exist: ACL not found", "* not found in namespace $NAMESPACE: ACL not found
    • Read Token/Policy/Role 엔드포인트는 이제 리소스를 찾을 수 없으면 404를 반환합니다. 새 오류 형식은 다음과 같습니다: Cannot find * to delete
    • Logout 엔드포인트는 이제 제공된 토큰을 찾을 수 없으면 401 오류를 반환합니다. 새 오류 형식은 다음과 같습니다: Supplied token does not exist
    • Token Self 엔드포인트는 이제 토큰을 찾을 수 없으면 404를 반환합니다. 새 오류 형식은 다음과 같습니다: Supplied token does not exist
  • Consul v1.15.0은 Consul에서 기존(legacy) ACL 및 ACL 정책의 모든 사용을 공식적으로 제거합니다. 기존 ACL 시스템은 Consul v1.4.0에서 더 이상 사용되지 않고 Consul v1.11.0에서 제거되었습니다. 새 ACL 시스템에 대한 문서는 여기에서 찾을 수 있습니다. 새 ACL 시스템으로 마이그레이션하는 방법에 대한 정보는 Migrate Legacy ACL Tokens tutorial을 읽어보세요.
  • 다음 에이전트 플래그는 이제 더 이상 사용되지 않습니다: -join, -join-wan, start_join, start_join_wan. 이러한 옵션은 각각 -retry-join, -retry-join-wan, retry_join, retry_join_wan의 별칭이 되었습니다.
  • ServiceDefaults 업스트림 재정의에 peer 필드가 추가되어 피어(peer) 서비스에만 업스트림 재정의를 적용할 수 있습니다. 이 변경 전에는 재정의가 네임스페이스와 이름 필드만 일치시켜 적용되었으므로 로컬 서비스와 피어 서비스에 대해 서로 다른 구성을 가질 수 없었습니다. 이 변경으로 피어 업스트림은 피어 필드가 대상 피어 이름과 일치하는 경우에만 영향을 받습니다.
  • consul connect envoy 명령을 호환되지 않는 Envoy 버전으로 실행하면 이제 Consul이 오류를 내고 종료합니다. 이 검사를 무시하려면 --ignore-envoy-compatibility 플래그를 사용하세요.
  • Ingress Gateway 업스트림 클러스터는 수동 헬스 검사가 지정되지 않으면 빈 outlier_detection을 가집니다.

업그레이드 (Upgrading)

자세한 정보는 업그레이드 세부 페이지와 변경 로그를 참조하세요.

알려진 이슈 (Known issues)

다음 이슈는 v1.15.x 릴리스에 존재하는 것으로 알려져 있습니다:

  • v1.15.0 - v1.15.1은 72시간 (LeafCertTTL) 후에 일부 서비스 인스턴스가 리프 인증서 회전 문제로 인해 메시에서 통신 능력을 잃을 수 있는 경쟁 조건(race condition)을 포함합니다. 이는 Consul v1.15.2에서 해결되었습니다.
  • v1.15.0의 경우, Consul은 Envoy 호환성 매트릭스에 유효한 버전으로 나열되어 있어도 새 Envoy 릴리스(예: v1.25.1)를 지원되지 않는 것으로 보고합니다. 새 Envoy 버전에 대해 다음 오류가 발생합니다: Envoy version 1.25.1 is not supported. If there is a reason you need to use this version of envoy use the ignore-envoy-compatibility flag. Using an unsupported version of Envoy is not recommended and your experience may vary. Consul v1.15.0에서 이 문제를 해결하려면 ignore-envoy-compatibility 플래그로 사이드카 프록시를 시작하세요: $ consul connect envoy --ignore-envoy-compatibility
  • v1.15.0에서 consul acl token read -self에 -accessor-id가 필요한 알려진 이슈가 있습니다. 이는 Consul v1.15.1에서 해결되었습니다.
  • v1.15.0에서 검색 필터가 오류를 발생시키고 상호작용할 때까지 목록에 전체 결과가 표시되지 않는 알려진 이슈가 있습니다. 이는 Consul v1.15.1에서 해결되었습니다.

변경 로그 (Changelogs)

이 주요 릴리스 버전과 유지 관리 버전의 변경 로그는 아래에 나열됩니다.

참고 이 링크들은 GitHub 웹사이트의 변경 로그로 이동합니다.

더 알아보기 (Learn more)