Consul 1.17.0 릴리스 노트
Consul 1.17.0 릴리스 노트
이 문서는 다음 Consul 업데이트를 소개해요.
출처: 문서
본문
다음 Consul 업데이트를 발표하게 되어 기쁩니다.
릴리스 하이라이트 (Release highlights)
- Consul catalog v2 API: 카탈로그와 상호 작용하고, 아이덴티티를 사용하여 트래픽을 인증하고, Consul 서비스 메시를 관리하기 위한 새로운 API 세트를 도입했습니다. Consul catalog v2 API는 여전히 Consul의 서비스와 노드를 추적하지만, 서비스 인스턴스를 워크로드와 워크로드 아이덴티티로 대체합니다.
- 이러한 API는 향후 Consul 버전의 기반이며 멀티 포트 및 호스트 이름 기반 카나리아 라우팅, 네이티브 Kubernetes 배포에서 헤드리스 서비스를 통한 트래픽 라우팅과 같은 새로운 기능을 가능하게 합니다.
- 자세한 내용은 문서의 Catalog API v2 섹션을 참조하세요.
-
참고 (Note) — 이러한 API는 베타이며 활발히 개발 중이므로 프로덕션에서 사용하는 것을 권장하지 않습니다.
- Consul의 멀티 포트 서비스: 이제 서비스당 여러 포트로 서비스를 등록할 수 있습니다. v2 카탈로그 API는 단일 사이드카 프록시가 서로 다른 포트의 워크로드를 지원할 수 있게 합니다. 이는 Consul 서비스 메시 관리를 위한 운영 오버헤드를 크게 줄입니다. Kubernetes 외부 런타임에 대한 지원은 향후 Consul 릴리스에서 계획되어 있습니다.
- 자세한 내용은 Multi-port services for service mesh 및 Configure multi-port services를 참조하세요.
-
참고 (Note) — 멀티 포트는 현재 Consul v1.17의 베타 기능입니다.
- Locality-aware 서비스 메시 라우팅 (Enterprise): Locality-aware 라우팅을 사용하면 운영자가 대체 영역의 인스턴스보다 동일한 영역에 있는 업스트림 인스턴스로의 라우팅을 우선시할 수 있습니다. 영역 내 업스트림 서비스의 모든 인스턴스를 사용할 수 없으면 Consul 서비스 메시가 인접 영역의 정상 인스턴스로 자동 장애 조치하여 데이터센터 내 서비스 연결 및 가용성을 보장합니다.
- 이를 통해 운영자는 서비스 간 대기 시간을 줄여 전반적인 서비스 성능을 개선하고 인프라 비용을 절감할 수 있습니다.
- 자세한 내용은 locality-aware service mesh routing 문서를 참조하세요.
- Sameness groups (Enterprise): 1.16에서 도입된 sameness groups는 Consul이 이름은 같지만 다른 관리 파티션에 있는 서비스를 동일한 서비스로 식별하는 데 사용하는 사용자 정의 파티션 집합입니다. sameness groups를 사용하여 클러스터 피어링 연결이 있는 배포에 대한 포괄적인 장애 조치 정책을 만들 수 있습니다. Sameness group은 Consul 1.17에서 일반적으로 사용 가능합니다.
- 엔터프라이즈는 sameness groups를 사용하여 멀티 클러스터 또는 멀티 지역 배포의 운영을 간소화하고 서비스 가용성을 높일 수 있습니다.
- 자세한 내용은 sameness groups 만들기 또는 Kubernetes에서 sameness groups 만들기 문서를 참조하세요.
- API Gateway용 JWT 기반 인증 및 인가 (Enterprise): API 게이트웨이가 외부 클라이언트가 보낸 네트워크 트래픽에 포함된 JWT(JSON 웹 토큰)를 기반으로 서비스 액세스를 제어하는 정책을 사용하도록 구성할 수 있습니다. 이러한 정책은 JWT에 포함된 클레임을 기반으로 서비스, 심지어 특정 URL에 대한 액세스를 제어할 수 있습니다.
- 관리자는 JWT 기반 인증/인가를 지원하지 않는 서비스를 수정하지 않고도 서비스 메시 외부에서 서비스에 대한 액세스를 제어할 수 있습니다.
- 자세한 내용은 가상 머신 및 Kubernetes-orchestrated 네트워크용 API 게이트웨이 JWT 문서를 참조하세요.
- 서비스 트래픽 비율 제한 (Enterprise): 이제 서비스에 대한 HTTP 요청 비율을 제한하도록 Consul 서비스 메시를 구성할 수 있습니다. 서비스별로 비율 제한을 구성하고 서비스 인스턴스별로 적용합니다. 운영자는 서비스 인스턴스에 대한 HTTP 요청 비율 제한을 설정하거나 특정 URL 경로에 대한 별도 비율 제한을 설정할 수 있습니다. 비율 제한 구성에는 초당 요청 수(RPS) 및 최대 요청 버스트 크기 설정이 포함됩니다.
- 비율 제한은 운영자가 서비스 인스턴스가 요청으로 과부하되는 것을 방지하는 데 도움이 됩니다. 또한 서비스 인스턴스에 대한 트래픽을 허용하는 기준을 정의하고 서비스 용량이 공정하게 공유되도록 할 수 있습니다.
- 자세한 내용은 rate limiting 문서를 참조하세요.
- Amazon ECS에서 간소화된 서비스 메시 배포: ECS의 Consul은 이제 Amazon ECS에서 작업당 Consul 클라이언트를 배포할 필요가 없어지는 간소화된 서비스 메시 배포 아키텍처를 활용합니다. 새 아키텍처는 ECS 작업에 사이드카로 주입되는 Consul Dataplane 컨테이너를 배포합니다. 이 데이터플레인 컨테이너 이미지는 Envoy 컨테이너와 Consul dataplane 바이너리를 모두 패키징합니다.
- 자세한 내용은 Consul ECS 문서를 참조하세요.
- ACL 템플릿 정책: 이제 정책을 수동으로 만들 필요 없이 일반적인 사용 사례에 대해 Consul 토큰을 구성할 수 있습니다. 템플릿 정책은 토큰과 역할에 추가할 수 있습니다. Consul이 정책을 자동으로 생성하여 토큰이나 역할에 연결합니다.
- 자세한 내용은 templated policies 문서를 참조하세요.
폐기 사항 (What's deprecated)
- DNS 호환되지 않는 서비스 이름: 이 릴리스부터 DNS 호환되지 않는 서비스 이름이 폐기됩니다. Consul은 소문자 영숫자 문자와
-만 수락하며, 영숫자 문자로 시작하고 끝나는 이름만 수락합니다. 다른 모든 문자는 호환되지 않는 것으로 간주됩니다. DNS 호환으로 간주되지 않는 예는 아래에 나열되어 있습니다:$ consul services register -name 'foo~bar%' Registered service: foo~bar% $ consul catalog services consul foo~bar% consul connect envoy명령의-admin-access-log-path플래그:consul connect envoy명령의-admin-access-log-path플래그는 폐기되었으며 향후 릴리스에서 제거될 예정입니다.-admin-access-log-config를 사용하여 Envoy admin 액세스 로그를 구성할 수 있습니다.
제거 사항 (What's removed)
- 레거시 API Gateway 지원 제거: 이전에
consul-api-gateway로 패키징되고 Consul K8s와 별도로 릴리스되었으며 Consul v1.16.x에서 폐기된 Consul API Gateway가 이제 제거되었습니다. 이 게이트웨이를 레거시 API Gateway 라고 합니다. Consul v1.17.0부터 네이티브 API Gateway를 설치하고connectInject.apiGateway스탠자를 사용하여 구성해야 합니다.
업그레이드 (Upgrading)
더 자세한 내용은 upgrade details page 및 변경 로그를 참조하세요.
알려진 문제 (Known Issues)
다음 문제는 v1.17.x 릴리스에 존재하는 것으로 알려져 있습니다:
- v1.17.2 — terminating gateway가 과도하게 엄격한 TLS SAN 검증을 수행하여 메시 외부에서 업스트림 서비스로의 연결을 방지합니다. Terminating gateway 사용자는 이러한 Consul 버전 배포를 피하는 것이 좋습니다. 수정은 향후 Consul 1.17.3 릴리스에 포함될 예정입니다 [GH-20360].
변경 로그 (Changelogs)
이 메이저 릴리스 버전 및 모든 유지 보수 버전에 대한 변경 로그는 아래에 나열되어 있습니다.
참고 (Note) — 이 링크는 GitHub 웹사이트의 변경 로그로 이동합니다.