2장. Service Mesh 1.x
2.1. 서비스 메시 릴리스 노트
더 이상 지원되지 않는 Red Hat OpenShift Service Mesh 릴리스에 대한 문서를 보고 있습니다.
서비스 메시 버전 1.0 및 1.1 컨트롤 플레인은 더 이상 지원되지 않습니다. 서비스 메시 컨트롤 플레인 업그레이드에 대한 자세한 내용은 서비스 메시 업그레이드를 참조하십시오.
특정 Red Hat OpenShift Service Mesh 릴리스의 지원 상태에 대한 자세한 내용은 제품 라이프사이클 페이지를 참조하십시오.
2.1.1. 보다 포괄적인 오픈 소스 구현
Red Hat은 코드, 문서 및 웹 속성에서 문제를 야기할 수 있는 언어를 변경하기 위해 최선을 다하고 있습니다. 이는 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist)의 네 가지 용어의 변경 작업에서부터 시작합니다. 이러한 변경 작업은 향후 여러 릴리스에 대해 단계적으로 구현될 예정입니다. 자세한 내용은 Red Hat CTO Chris Wright의 메시지에서 참조하십시오.
2.1.2. Red Hat OpenShift Service Mesh 소개
Red Hat OpenShift Service Mesh는 애플리케이션에서 중앙 집중식 제어 지점을 생성하여 마이크로 서비스 아키텍처에서 다양한 문제에 대응합니다. 애플리케이션 코드를 변경하지 않고도 기존 분산 애플리케이션에 투명한 레이어를 추가합니다.
마이크로 서비스 아키텍처는 엔터프라이즈 애플리케이션의 작업을 모듈식 서비스로 분할하므로 확장 및 유지 관리를 더 쉽게 수행할 수 있습니다. 그러나 마이크로 서비스 아키텍처에 구축된 엔터프라이즈 애플리케이션이 크기와 복잡성이 증가함에 따라 마이크로 서비스 아키텍처의 이해 및 관리가 어려워집니다. 서비스 메시는 서비스 간 트래픽을 캡처하거나 차단하거나 다른 서비스에 대한 새 요청을 리디렉트 또는 생성하여 이러한 아키텍처의 문제에 대응할 수 있습니다.
오픈 소스 Istio project를 기반으로 하는 Service Mesh는 배포된 서비스 네트워크를 쉽게 구축할 수 있는 방법을 제공하여 검색, 로드 밸런싱, 서비스 간 인증, 실패 복구, 지표 및 모니터링을 지원합니다. 또한 서비스 메시는 A/B 테스트, 카나리아 릴리스, 액세스 제어, 엔드 투 엔드 인증을 비롯한 복잡한 운영 기능을 제공합니다.
2.1.3. 지원 요청
이 문서에 설명된 절차 또는 일반적으로 OpenShift Container Platform에 문제가 발생하는 경우 Red Hat 고객 포털에 액세스하십시오. 고객 포털에서 다음을 수행할 수 있습니다.
- Red Hat 제품과 관련된 기사 및 솔루션에 대한 Red Hat 지식베이스를 검색하거나 살펴볼 수 있습니다.
- Red Hat 지원에 대한 지원 케이스 제출할 수 있습니다.
- 다른 제품 설명서에 액세스 가능합니다.
클러스터의 문제를 식별하기 위해 OpenShift Cluster Manager 에서 Insights를 사용할 수 있습니다. Insights는 문제에 대한 세부 정보 및 문제 해결 방법에 대한 정보를 제공합니다.
이 문서를 개선하기 위한 제안이 있거나 오류를 발견한 경우 가장 관련 있는 문서 구성 요소에 대한 Jira 문제를 제출하십시오. 섹션 이름 및 OpenShift Container Platform 버전과 같은 구체적인 정보를 제공합니다.
지원 사례를 여는 경우 클러스터에 대한 디버깅 정보를 Red Hat 지원에 제공하면 도움이 됩니다.
must-gather
도구를 사용하면 가상 머신 및 Red Hat OpenShift Service Mesh 관련 기타 데이터를 포함하여 OpenShift Container Platform 클러스터에 대한 진단 정보를 수집할 수 있습니다.
즉각 지원을 받을 수 있도록 OpenShift Container Platform 및 Red Hat OpenShift Service Mesh 둘 다에 대한 진단 정보를 제공하십시오.
2.1.3.1. must-gather 툴 정보
oc adm must-gather
CLI 명령은 다음을 포함하여 문제를 디버깅하는 데 필요할 가능성이 높은 클러스터에서 정보를 수집합니다.
- 리소스 정의
- 서비스 로그
기본적으로 oc adm must-gather
명령은 기본 플러그인 이미지를 사용하고 ./must-gather.local
에 씁니다.
또는 다음 섹션에 설명된 대로 적절한 인수를 사용하여 명령을 실행하여 특정 정보를 수집할 수 있습니다.
하나 이상의 특정 기능과 관련된 데이터를 수집하려면 다음 섹션에 나열된 대로 이미지에
--image
인수를 사용합니다.예를 들면 다음과 같습니다.
$ oc adm must-gather --image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v4.9.0
감사 로그를 수집하려면 다음 섹션에 설명된 대로
-- /usr/bin/gather_audit_logs
인수를 사용합니다.예를 들면 다음과 같습니다.
$ oc adm must-gather -- /usr/bin/gather_audit_logs
참고감사 로그는 파일의 크기를 줄이기 위해 기본 정보 세트의 일부로 수집되지 않습니다.
oc adm must-gather
를 실행하면 클러스터의 새 프로젝트에 임의의 이름이 있는 새 Pod가 생성됩니다. 해당 Pod에 대한 데이터가 수집되어 must-gather.local
로 시작하는 새 디렉터리에 저장됩니다. 이 디렉터리는 현재 작업 중인 디렉터리에 생성되어 있습니다.
예를 들면 다음과 같습니다.
NAMESPACE NAME READY STATUS RESTARTS AGE ... openshift-must-gather-5drcj must-gather-bklx4 2/2 Running 0 72s openshift-must-gather-5drcj must-gather-s8sdh 2/2 Running 0 72s ...
2.1.3.2. 사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. -
OpenShift Container Platform CLI(
oc
)가 설치되어 있어야 합니다.
2.1.3.3. 서비스 메시 데이터 수집 정보
oc adm must-gather
CLI 명령을 사용하면 Red Hat OpenShift Service Mesh와 연관된 기능 및 오브젝트를 포함하여 클러스터에 대한 정보를 수집할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. -
OpenShift Container Platform CLI(
oc
)가 설치되어 있어야 합니다.
precedure
must-gather
을 사용하여 Red Hat OpenShift Service Mesh 데이터를 수집하려면 Red Hat OpenShift Service Mesh 이미지를 지정해야 합니다.$ oc adm must-gather --image=registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.3
must-gather
로 특정 Service Mesh Control Plane 네임스페이스에 대한 Red Hat OpenShift Service Mesh 데이터를 수집하려면 Red Hat OpenShift Service Mesh 이미지 및 네임스페이스를 지정해야 합니다. 이 예에서는 <namespace
>를istio-system
과 같은 Service Mesh Control Plane 네임스페이스로 바꿉니다.$ oc adm must-gather --image=registry.redhat.io/openshift-service-mesh/istio-must-gather-rhel8:2.3 gather <namespace>
2.1.4. Red Hat OpenShift Service Mesh 지원 구성
다음은 Red Hat OpenShift Service Mesh에 지원되는 구성입니다.
- OpenShift Container Platform 버전 4.6 이상
OpenShift Online 및 Red Hat OpenShift Dedicated는 Red Hat OpenShift Service Mesh에서 지원되지 않습니다.
- 배포가 통합되지 않은 단일 OpenShift Container Platform 클러스터에 포함되어야 합니다.
- 이번 Red Hat OpenShift Service Mesh 릴리스는 OpenShift Container Platform x86_64에서만 사용 가능합니다.
- 이 릴리스에서는 모든 Service Mesh 구성 요소가 작동하는 OpenShift Container Platform 클러스터에 포함된 구성만 지원합니다. 클러스터 외부에 있거나 멀티 클러스터 시나리오에 있는 마이크로 서비스 관리는 지원하지 않습니다.
- 이 릴리스는 가상 머신과 같은 외부 서비스를 통합하지 않는 구성만 지원합니다.
Red Hat OpenShift Service Mesh 라이프사이클 및 지원되는 구성에 대한 자세한 내용은 지원 정책을 참조하십시오.
2.1.4.1. Red Hat OpenShift Service Mesh에서 Kiali에 지원되는 구성
- Kiali Observation Console은 Chrome, Edge, Firefox 또는 Safari 브라우저의 두 가지 최신 버전에서만 지원됩니다.
2.1.4.2. 지원되는 Mixer 어댑터
이 릴리스에서는 다음 Mixer 어댑터만 지원합니다.
- 3scale Istio 어댑터
2.1.5. 새로운 기능
Red Hat OpenShift Service Mesh는 서비스 네트워크 전반에서 여러 주요 기능을 균일하게 제공합니다.
- 트래픽 관리 - 서비스 간 트래픽 및 API 호출 흐름을 제어하고, 호출을 더 안정적으로 만들며, 불리한 조건에서도 네트워크를 보다 견고하게 만듭니다.
- 서비스 ID 및 보안 - 메시에서 확인 가능한 ID로 서비스를 제공하고 다양한 수준의 신뢰도를 갖춘 네트워크를 통해 전달될 때 서비스 트래픽을 보호할 수 있는 기능을 제공합니다.
- 정책 강화- 서비스 간 상호 작용에 조직 정책을 적용하여 액세스 정책이 시행되고 리소스가 소비자 간에 공정하게 배포되도록 합니다. 애플리케이션 코드를 변경하는 것이 아니라 메시를 구성하여 정책 변경을 수행합니다.
- Telemetry - 서비스 간의 종속성과 트래픽 속성 및 흐름을 이해하여 문제를 신속하게 식별할 수 있는 기능을 제공합니다.
2.1.5.1. Red Hat OpenShift Service Mesh 1.1.18.2 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures)를 제공합니다.
2.1.5.1.1. Red Hat OpenShift Service Mesh 버전 1.1.18.2에 포함된 구성 요소 버전
구성 요소 | 버전 |
---|---|
Istio | 1.4.10 |
Jaeger | 1.30.2 |
Kiali | 1.12.21.1 |
3scale Istio 어댑터 | 1.0.0 |
2.1.5.2. Red Hat OpenShift Service Mesh 1.1.18.1 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures)를 제공합니다.
2.1.5.2.1. Red Hat OpenShift Service Mesh 버전 1.1.18.1에 포함된 구성 요소 버전
구성 요소 | 버전 |
---|---|
Istio | 1.4.10 |
Jaeger | 1.30.2 |
Kiali | 1.12.20.1 |
3scale Istio 어댑터 | 1.0.0 |
2.1.5.3. Red Hat OpenShift Service Mesh 1.1.18 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures)를 제공합니다.
2.1.5.3.1. Red Hat OpenShift Service Mesh 버전 1.1.18에 포함된 구성 요소 버전
구성 요소 | 버전 |
---|---|
Istio | 1.4.10 |
Jaeger | 1.24.0 |
Kiali | 1.12.18 |
3scale Istio 어댑터 | 1.0.0 |
2.1.5.4. Red Hat OpenShift Service Mesh 1.1.17.1 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures)를 제공합니다.
2.1.5.4.1. Red Hat OpenShift Service Mesh가 URI 내용을 처리하는 방법의 변경
Red Hat OpenShift Service Mesh에는 원격으로 악용할 수 있는 취약점 CVE-2021-39156 이 포함되어 있습니다. 여기서 URI 경로에 있는 URI 끝에 있는 HTTP 요청은 Istio URI 경로 기반 권한 부여 정책을 무시할 수 있습니다. 예를 들어 Istio 권한 부여 정책은 URI 경로 /user/profile
으로 전송된 요청을 거부합니다. 취약한 버전에서 URI 경로 /user/profile#section1
이 있는 요청은 거부 정책 및 경로를 백엔드로 무시합니다(정규화된 URI 경로 /user/profile%23section1
사용) 보안 문제로 이어질 수 있습니다.
DENY 작업 및 operation.paths 또는 ALLOW 작업 및 operation.
notPaths
와 함께 권한 부여 정책을 사용하는 경우 이 취약점의 영향을 받습니다.
완화를 통해 요청 URI의 조각 부분은 권한 부여 및 라우팅 전에 제거됩니다. 이렇게 하면 URI의 내용이 있는 요청이 조각 부분 없이 URI를 기반으로 하는 권한 부여 정책을 바이패스하지 않습니다.
2.1.5.4.2. 권한 부여 정책에 필요한 업데이트
Istio는 호스트 이름 자체와 일치하는 포트 모두에 대한 호스트 이름을 생성합니다. 예를 들어 가상 서비스 또는 "httpbin.foo" 호스트의 게이트웨이는 "httpbin.foo 및 httpbin.foo:*"와 일치하는 구성을 생성합니다. 그러나 권한 부여 정책은 hosts
또는 notHosts
필드에 지정된 정확한 문자열과만 일치합니다.
호스트 또는 notHosts 를 결정하는 규칙에 대해 정확한 문자열 비교를 사용하여 AuthorizationPolicy
리소스가 있는 경우 클러스터가 영향을 받습니다.
정확한 일치 대신 접두사 일치를 사용하도록 권한 부여 정책 규칙을 업데이트해야 합니다. 예를 들어 첫 번째 AuthorizationPolicy
예제에서 ["httpbin.com"]
을 hosts: ["httpbin.com:*"]
로 교체합니다.
접두사 일치를 사용하는 첫 번째 예제 AuthorizationPolicy
apiVersion: security.istio.io/v1beta1 kind: AuthorizationPolicy metadata: name: httpbin namespace: foo spec: action: DENY rules: - from: - source: namespaces: ["dev"] to: - operation: hosts: [“httpbin.com”,"httpbin.com:*"]
접두사 일치를 사용하는 AuthorizationPolicy의 두 번째 예
apiVersion: security.istio.io/v1beta1 kind: AuthorizationPolicy metadata: name: httpbin namespace: default spec: action: DENY rules: - to: - operation: hosts: ["httpbin.example.com:*"]
2.1.5.5. Red Hat OpenShift Service Mesh 1.1.17 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
2.1.5.6. Red Hat OpenShift Service Mesh 1.1.16 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
2.1.5.7. Red Hat OpenShift Service Mesh 1.1.15 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
2.1.5.8. Red Hat OpenShift Service Mesh 1.1.14 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
CVE-2021-29492 및 CVE-2021-31920 문제를 해결하려면 수동 단계가 완료되어야 합니다.
2.1.5.8.1. CVE-2021-29492 및 CVE-2021-31920에서 필요한 수동 업데이트
Istio에는 경로 기반 권한 부여 규칙이 사용될 때 여러 슬래시 또는 이스케이프된 슬래시 문자 (%2F` or
%5C`)가 있는 HTTP 요청 경로가 잠재적으로 Istio 권한 부여 정책을 우회할 수 있는 원격으로 악용 가능한 취약점이 포함되어 있습니다.
예를 들어 Istio 클러스터 관리자가 경로 /admin
에 있는 요청을 거부하도록 권한 부여 DENY 정책을 정의한다고 가정합니다. //admin
URL 경로에 전송된 요청이 권한 부여 정책에서 거부되지 않습니다.
RFC 3986에 따르면 여러 개의 슬래시가 있는 //admin
경로는 기술적으로 /admin
과 다른 경로로 처리되어야 합니다. 그러나 일부 백엔드 서비스는 여러 슬래시를 단일 슬래시로 병합하여 URL 경로를 정규화하도록 선택합니다. 이로 인해 권한 부여 정책( //admin
이 /admin
과 일치하지 않음)을 우회할 수 있으며 사용자는 백엔드의 /admin
경로에 있는 리소스에 액세스할 수 있습니다. 결과적으로 이는 보안 문제로 나타날 수 있습니다.
ALLOW action + notPaths
필드 또는 DENY action + paths field
경로 필드 패턴을 사용하는 권한 부여 정책이 있는 경우 클러스터는 이 취약점의 영향을 받습니다. 이러한 패턴은 예기치 않은 정책 우회에 취약합니다.
다음과 같은 경우 클러스터는 이 취약점의 영향을 받지 않습니다.
- 권한 부여 정책이 없습니다.
-
권한 부여 정책은
paths
또는notPaths
필드를 정의하지 않습니다. -
권한 부여 정책은
ALLOW action + paths
필드 또는DENY action + notPaths
필드 패턴을 사용합니다. 이러한 패턴은 정책 우회 대신 예기치 않은 거부를 유발할 수 있습니다. 이러한 경우 업그레이드는 선택 사항입니다.
경로 정규화를 위한 Red Hat OpenShift Service Mesh 구성 위치는 Istio 구성과 다릅니다.
2.1.5.8.2. 경로 정규화 구성 업데이트
Istio 권한 부여 정책은 HTTP 요청의 URL 경로를 기반으로 할 수 있습니다. URI 정규화라고도 하는 경로 정규화는 들어오는 요청의 경로를 수정 및 표준화하여 정규화된 경로를 표준 방식으로 처리할 수 있도록 합니다. 구문적으로 경로 정규화 후에는 다른 경로가 동일할 수 있습니다.
Istio는 권한 부여 정책에 대해 평가하고 요청을 라우팅하기 전에 요청 경로에서 다음 정규화 체계를 지원합니다.
옵션 | 설명 | 예제 | 참고 |
---|---|---|---|
| 정규화는 수행되지 않습니다. Envoy가 수신한 모든 항목은 정확히 그대로 모든 백엔드 서비스에 전달됩니다. |
| 이 설정은 CVE-2021-31920에 취약합니다. |
|
현재 이는 Istio의 기본 설치에 사용되는 옵션입니다. 이로 인해 Envoy 프록시에 |
| 이 설정은 CVE-2021-31920에 취약합니다. |
| BASE 정규화 후 슬래시가 병합됩니다. |
| CVE-2021-31920을 완화하려면 이 설정으로 업데이트합니다. |
|
기본적으로 모든 트래픽을 허용할 때 가장 엄격한 설정입니다. 이 설정은 권한 부여 정책 경로를 철저하게 테스트해야 한다는 경고와 함께 권장됩니다. 백분율로 인코딩된 슬래시 및 백슬래시 문자 ( |
| CVE-2021-31920을 완화하려면 이 설정으로 업데이트합니다. 이 설정은 더 안전하지만 애플리케이션이 중단될 수도 있습니다. 프로덕션에 배포하기 전에 애플리케이션을 테스트합니다. |
정규화 알고리즘은 다음 순서로 수행됩니다.
-
백분율로 디코딩된
%2F
,%2f
,%5C
및%5c
. -
Envoy의
normalize_path
옵션에 의해 구현된 RFC 3986 및 기타 정규화입니다. - 슬래시를 병합합니다.
이러한 정규화 옵션은 HTTP 표준 및 일반적인 업계 관행의 권장 사항을 나타내지만 애플리케이션은 원하는 방식으로 URL을 해석할 수 있습니다. 거부 정책을 사용할 때 애플리케이션이 작동하는 방식을 이해해야 합니다.
2.1.5.8.3. 경로 정규화 구성 예
Envoy는 백엔드 서비스의 기대치와 일치하도록 요청 경로를 표준화하여 시스템 보안에 매우 중요합니다. 다음 예제는 시스템을 구성하기 위한 참조로 사용할 수 있습니다. 정규화된 URL 경로 또는 NONE
이 선택된 경우 원래 URL 경로는 다음과 같습니다.
- 권한 부여 정책을 확인하는 데 사용됩니다.
- 백엔드 애플리케이션으로 전달됩니다.
애플리케이션 조건 | 선택… |
---|---|
프록시를 사용하여 정규화를 수행합니다. |
|
RFC 3986을 기반으로 요청 경로를 정규화하고 슬래시를 병합하지 않습니다. |
|
RFC 3986을 기반으로 요청 경로를 정규화하고 슬래시를 병합하지만 백분율로 인코딩된 슬래시를 디코딩하지는 않습니다. |
|
RFC 3986을 기반으로 요청 경로를 표준화하고, 백분율로 인코딩된 슬래시를 디코딩하고, 슬래시를 병합합니다. |
|
프로세스는 RFC 3986과 호환되지 않는 방식으로 요청 경로를 처리합니다. |
|
2.1.5.8.4. 경로 정규화를 위해 SMCP 구성
Red Hat OpenShift Service Mesh에 대한 경로 정규화를 구성하려면 ServiceMeshControlPlane
에서 다음을 지정합니다. 시스템 설정을 결정하는 데 도움이 되도록 구성 예제를 사용합니다.
SMCP v1 pathNormalization
spec: global: pathNormalization: <option>
2.1.5.9. Red Hat OpenShift Service Mesh 1.1.13 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
2.1.5.10. Red Hat OpenShift Service Mesh 1.1.12 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
2.1.5.11. Red Hat OpenShift Service Mesh 1.1.11 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
2.1.5.12. Red Hat OpenShift Service Mesh 1.1.10 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
2.1.5.13. Red Hat OpenShift Service Mesh 1.1.9 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
2.1.5.14. Red Hat OpenShift Service Mesh 1.1.8 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
2.1.5.15. Red Hat OpenShift Service Mesh 1.1.7 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
2.1.5.16. Red Hat OpenShift Service Mesh 1.1.6 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
2.1.5.17. Red Hat OpenShift Service Mesh 1.1.5 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
또한 이 릴리스에는 암호화 제품군 구성에 대한 지원이 추가되었습니다.
2.1.5.18. Red Hat OpenShift Service Mesh 1.1.4 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
CVE-2020-8663 문제를 해결하려면 수동 단계가 완료되어야 합니다.
2.1.5.18.1. CVE-2020-8663에서 필요한 수동 업데이트
CVE-2020-8663: envoy: Resource exhaustion when accepting too many connections
에 대한 수정이 다운스트림 연결에 구성 가능한 제한을 추가했습니다. 이 제한에 대한 구성 옵션은 이 취약점을 완화하도록 설정되어야 합니다.
이러한 수동 단계는 Red Hat OpenShift Service Mesh의 1.1 버전을 사용하든 1.0 버전을 사용하든 이 CVE를 완화하는 데 필요합니다.
이 새로운 설정 옵션은 overload.global_downstream_max_connections
라고 하며 프록시 runtime
설정으로 구성할 수 있습니다. 수신 게이트웨이에서 제한을 구성하려면 다음 단계를 수행합니다.
프로세스
다음 텍스트로
bootstrap-override.json
이라는 파일을 생성하여 프록시에서 부트스트랩 템플릿을 재정의하고 디스크의 런타임 구성을 로드하도록 적용합니다.{ "runtime": { "symlink_root": "/var/lib/istio/envoy/runtime" } }
bootstrap-override.json
파일에서 시크릿을 생성하여 <SMCPnamespace>를 Service Mesh Control Plane(SMCP)을 생성한 네임스페이스로 바꿉니다.$ oc create secret generic -n <SMCPnamespace> gateway-bootstrap --from-file=bootstrap-override.json
SMCP 구성을 업데이트하여 재정의를 활성화합니다.
업데이트된 SMCP 구성 예 #1
apiVersion: maistra.io/v1 kind: ServiceMeshControlPlane spec: istio: gateways: istio-ingressgateway: env: ISTIO_BOOTSTRAP_OVERRIDE: /var/lib/istio/envoy/custom-bootstrap/bootstrap-override.json secretVolumes: - mountPath: /var/lib/istio/envoy/custom-bootstrap name: custom-bootstrap secretName: gateway-bootstrap
새 구성 옵션을 설정하려면
overload.global_downstream_max_connections
설정에 필요한 값을 보유한 시크릿을 생성합니다. 다음 예제에서는 값10000
을 사용합니다.$ oc create secret generic -n <SMCPnamespace> gateway-settings --from-literal=overload.global_downstream_max_connections=10000
- SMCP를 다시 업데이트하여 Envoy가 런타임 구성을 찾고 있는 위치에 시크릿을 다시 마운트합니다.
업데이트된 SMCP 구성 예 #2
apiVersion: maistra.io/v1 kind: ServiceMeshControlPlane spec: template: default #Change the version to "v1.0" if you are on the 1.0 stream. version: v1.1 istio: gateways: istio-ingressgateway: env: ISTIO_BOOTSTRAP_OVERRIDE: /var/lib/istio/envoy/custom-bootstrap/bootstrap-override.json secretVolumes: - mountPath: /var/lib/istio/envoy/custom-bootstrap name: custom-bootstrap secretName: gateway-bootstrap # below is the new secret mount - mountPath: /var/lib/istio/envoy/runtime name: gateway-settings secretName: gateway-settings
2.1.5.18.2. Elasticsearch 5에서 Elasticsearch 6으로 업그레이드
Elasticsearch 5에서 Elasticsearch 6으로 업데이트할 때 인증서 문제로 인해 Jaeger 인스턴스를 삭제한 다음 Jaeger 인스턴스를 다시 생성해야 합니다. Jaeger 인스턴스 트리거를 다시 생성하여 새 인증서 세트를 생성합니다. 영구 스토리지를 사용하는 경우, 새 Jaeger 인스턴스의 Jaeger 이름과 네임스페이스가 삭제된 Jaeger 인스턴스와 동일하다면 새 Jaeger 인스턴스에 대해 동일한 볼륨을 마운트할 수 있습니다.
Jaeger가 Red Hat Service Mesh의 일부로 설치된 경우 프로세스
Jaeger 사용자 정의 리소스 파일의 이름을 결정합니다.
$ oc get jaeger -n istio-system
다음과 같은 내용이 표시됩니다.
NAME AGE jaeger 3d21h
생성된 사용자 정의 리소스 파일을 임시 디렉터리에 복사합니다.
$ oc get jaeger jaeger -oyaml -n istio-system > /tmp/jaeger-cr.yaml
Jaeger 인스턴스를 삭제합니다.
$ oc delete jaeger jaeger -n istio-system
사용자 정의 리소스 파일의 사본에서 Jaeger 인스턴스를 재생성합니다.
$ oc create -f /tmp/jaeger-cr.yaml -n istio-system
생성된 사용자 정의 리소스 파일의 사본을 삭제합니다.
$ rm /tmp/jaeger-cr.yaml
Jaeger가 Red Hat Service Mesh의 일부로 설치되지 않은 경우 프로세스
시작하기 전에 Jaeger 사용자 정의 리소스 파일의 사본을 만듭니다.
사용자 정의 리소스 파일을 삭제하여 Jaeger 인스턴스를 삭제합니다.
$ oc delete -f <jaeger-cr-file>
예를 들면 다음과 같습니다.
$ oc delete -f jaeger-prod-elasticsearch.yaml
사용자 정의 리소스 파일의 백업 사본에서 Jaeger 인스턴스를 재생성합니다.
$ oc create -f <jaeger-cr-file>
Pod가 다시 시작되었는지 확인합니다.
$ oc get pods -n jaeger-system -w
2.1.5.19. Red Hat OpenShift Service Mesh 1.1.3 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 CVE(Common Vulnerabilities and Exposures) 및 버그 수정을 제공합니다.
2.1.5.20. Red Hat OpenShift Service Mesh 1.1.2 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 보안 취약점을 해결합니다.
2.1.5.21. Red Hat OpenShift Service Mesh 1.1.1 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스는 연결이 중단된 설치를 지원합니다.
2.1.5.22. Red Hat OpenShift Service Mesh 1.1.0 새 기능
이번 Red Hat OpenShift Service Mesh 릴리스에는 Istio 1.4.6 및 Jaeger 1.17.1에 대한 지원이 추가되었습니다.
2.1.5.22.1. 1.0에서 1.1로 수동 업데이트
Red Hat OpenShift Service Mesh 1.0에서 1.1로 업데이트하는 경우 컨트롤 플레인 구성 요소를 새 버전으로 업데이트하기 위해 ServiceMeshControlPlane
리소스를 업데이트해야 합니다.
- 웹 콘솔에서 Red Hat OpenShift Service Mesh Operator를 클릭합니다.
-
프로젝트 메뉴를 클릭하고
ServiceMeshControlPlane
이 목록에서 배포되는 프로젝트를 선택합니다(예:istio-system
). -
컨트롤 플레인의 이름을 클릭합니다(예:
basic-install)
. -
YAML 을 클릭하고
ServiceMeshControlPlane
리소스의spec:
에 버전 필드를 추가합니다. 예를 들어 Red Hat OpenShift Service Mesh 1.1.0으로 업데이트하려면version: v1.1
을 추가합니다.
spec: version: v1.1 ...
version 필드는 설치할 Service Mesh 버전을 지정하고 기본값을 최신 사용 가능한 최신 버전으로 지정합니다.
Red Hat OpenShift Service Mesh v1.0 지원은 2020년 10월에 종료되었습니다. v1.1 또는 v2.0으로 업그레이드해야 합니다.
2.1.6. 더 이상 사용되지 않는 기능
이전 릴리스에서 사용 가능하던 일부 기능이 더 이상 사용되지 않거나 삭제되었습니다.
더 이상 사용되지 않는 기능은 여전히 OpenShift Container Platform에 포함되어 있으며 계속 지원됩니다. 그러나 이 기능은 향후 릴리스에서 제거될 예정이므로 새로운 배포에는 사용하지 않는 것이 좋습니다.
2.1.6.1. Red Hat OpenShift Service Mesh 1.1.5의 중단된 기능
다음 사용자 정의 리소스는 릴리스 1.1.5에서 더 이상 사용되지 않으며 릴리스 1.1.12에서 제외되었습니다.
-
Policy
-Policy
리소스는 더 이상 사용되지 않으며 향후 릴리스에서는PeerAuthentication
리소스로 대체됩니다. -
MeshPolicy
-MeshPolicy
리소스는 더 이상 사용되지 않으며 향후 릴리스에서는PeerAuthentication
리소스로 대체됩니다. v1alpha1
RBAC API -The v1alpha1 RBAC 정책은 v1beta1AuthorizationPolicy
에서 더 이상 사용되지 않습니다. RBAC(Role Based Access Control)는ServiceRole
및ServiceRoleBinding
오브젝트를 정의합니다.-
ServiceRole
-
ServiceRoleBinding
-
RbacConfig
-RbacConfig
는 Istio RBAC 동작을 제어하기 위해 사용자 정의 리소스 정의를 구현합니다.-
ClusterRbacConfig
(Red Hat OpenShift Service Mesh 버전 1.0 이전) -
ServiceMeshRbacConfig
(Red Hat OpenShift Service Mesh 버전 1.0 이상)
-
-
Kiali에서는
login
및LDAP
전략이 더 이상 사용되지 않습니다. 향후 버전에서는 OpenID 공급자를 사용한 인증을 도입할 예정입니다.
다음 구성 요소는 이 릴리스에서 더 이상 사용되지 않으며 향후 릴리스에서 Istiod 구성 요소로 대체됩니다.
- Mixer - 액세스 제어 및 사용 정책
- Pilot - 서비스 검색 및 프록시 구성
- Citadel - 인증서 생성
- Galley - 구성 검증 및 배포
2.1.7. 확인된 문제
이러한 제한 사항은 Red Hat OpenShift Service Mesh에 있습니다.
- Red Hat OpenShift Service Mesh는 IPv6를 지원하지 않습니다. 업스트림 Istio 프로젝트에서 지원하지 않거나 OpenShift Container Platform에서 완전히 지원하지 않기 때문입니다.
- 그래프 레이아웃 - 애플리케이션 아키텍처 및 표시할 데이터(그래프 노드 및 상호 작용 수)에 따라 Kiali 그래프의 레이아웃이 다르게 렌더링됩니다. 모든 상황에 적합하게 렌더링되는 단일 레이아웃을 만드는 것이 불가능하지는 않지만 어렵기 때문에 Kiali는 다양한 레이아웃 옵션을 제공합니다. 다른 레이아웃을 선택하려면 그래프 설정 메뉴에서 다른 레이아웃 스키마를 선택할 수 있습니다.
- Kiali 콘솔의 Jaeger 및 Grafana와 같은 관련 서비스에 처음 액세스하는 경우 인증서를 수락하고 OpenShift Container Platform 로그인 자격 증명을 사용하여 다시 인증해야 합니다. 이것은 프레임워크가 콘솔에 포함된 페이지를 표시하는 방법에 문제가 있기 때문입니다.
2.1.7.1. 서비스 메시의 알려진 문제
이는 Red Hat OpenShift Service Mesh에서 알려진 문제입니다.
Jaeger/Kiali Operator 업그레이드가 operator 보류로 차단됩니다. Service Mesh 1.0.x가 설치된 Jaeger 또는 Kiali Operator를 업그레이드할 때 Operator 상태가 보류 중으로 표시됩니다.
해결방법: 자세한 내용은 연결된 기술 자료 문서를 참조하십시오.
- Istio-14743 이 Red Hat OpenShift Service Mesh 릴리스의 기반이 되는 Istio 버전의 제한으로 인해 현재 Service Mesh와 호환되지 않는 여러 애플리케이션이 있습니다. 자세한 내용은 링크 커뮤니티 관련 문제를 참조하십시오.
MAISTRA-858 Istio 1.1.x와 관련된 더 이상 사용하지 않는 옵션 및 구성을 설명하는 다음과 같은 Envoy 로그 메시지가 예상됩니다.
- [2019-06-03 07:03:28.943][19][warning][misc] [external/envoy/source/common/protobuf/utility.cc:129] Using deprecated option 'envoy.api.v2.listener.Filter.config'. 이 구성은 곧 Envoy에서 삭제될 예정입니다.
- [2019-08-12 22:12:59.001][13][warning][misc] [external/envoy/source/common/protobuf/utility.cc:174] Using deprecated option 'envoy.api.v2.Listener.use_original_dst' from file lds.proto. 이 구성은 곧 Envoy에서 삭제될 예정입니다.
MAISTRA-806 제거된 Istio Operator pod로 인해 메시 및 CNI가 배포되지 않습니다.
해결방법: 제어 창을 배포하는 동안
istio-operator
Pod가 제거되면 제거된istio-operator
Pod를 삭제합니다.- MAISTRA-681 컨트롤 플레인에 네임스페이스가 많은 경우 성능 문제가 발생할 수 있습니다.
- MAISTRA-465 Maistra Operator가 Operator 지표에 대한 서비스를 생성하지 못합니다.
-
MAISTRA-453 새 프로젝트를 생성하고 즉시 pod를 배포하면 사이드카 삽입이 발생하지 않습니다. pod가 생성되기 전에 Operator에서
maistra.io/member-of
를 추가하지 못하므로 사이드카 삽입을 수행하려면 pod를 삭제하고 다시 생성해야 합니다. - MAISTRA-158 동일한 호스트 이름을 참조하는 여러 게이트웨이를 적용하면 모든 게이트웨이가 작동을 중지합니다.
2.1.7.2. Kiali의 확인된 문제
Kiali의 새로운 문제는 OpenShift Service Mesh 프로젝트에서 생성되어야 하며 Component
가 Kiali
로 설정되어야 합니다.
다음은 Kiali에서 알려진 문제입니다.
- KIALI-2206 처음으로 Kiali 콘솔에 액세스했을 때 Kiali에 대해 캐시된 브라우저 데이터가 없는 경우 Kiali 서비스 상세 정보 페이지의 Metrics 탭에 있는 ‘Grafana에서 보기’ 링크가 잘못된 위치로 리디렉션됩니다. 이 문제가 발생하는 유일한 상황은 Kiali에 처음 액세스하는 경우입니다.
- KIALI-507 Kiali는 Internet Explorer 11을 지원하지 않습니다. 기본 프레임워크가 Internet Explorer를 지원하지 않기 때문입니다. Kiali 콘솔에 액세스하려면 Chrome, Edge, Firefox 또는 Safari 브라우저의 두 가지 최신 버전 중 하나를 사용하십시오.
2.1.7.3. Red Hat OpenShift distributed tracing 알려진 문제
이러한 제한 사항은 Red Hat OpenShift distributed tracing에 있습니다.
- Apache Spark가 지원되지 않습니다.
- AMQ/Kafka를 통한 스트리밍 배포는 IBM Z 및 IBM Power Systems에서는 지원되지 않습니다.
다음은 Red Hat OpenShift distributed tracing에 대해 알려진 문제입니다.
-
OECDHEA-220 분산 추적 데이터 컬렉션을 사용하여 이미지를 가져오려고 하는 경우 이미지 가져오기가 실패하고
이미지 오류 메시지를 가져오지 못했습니다
. 이 문제에 대한 해결방법이 없습니다. TRACING-2057 Kafka API가 Strimzi Kafka Operator 0.23.0을 지원하도록
v1beta2
로 업데이트되었습니다. 그러나 이 API 버전은 AMQ Streams 1.6.3에서 지원되지 않습니다. 다음 환경의 경우 Jaeger 서비스가 업그레이드되지 않으며 새 Jaeger 서비스를 생성하거나 기존 Jaeger 서비스를 수정할 수 없습니다.- Jaeger Operator 채널: 1.17.x stable 또는 1.20.x stable
AMQ Streams Operator 채널: amq-streams-1.6.x
이 문제를 해결하려면 AMQ Streams Operator의 서브스크립션 채널을 amq-streams-1.7.x 또는 stable로 전환합니다.
2.1.8. 수정된 문제
현재 릴리스에서 다음 문제가 해결되었습니다.
2.1.8.1. 서비스 메시의 수정된 문제
- MAISTRA-2371 listerInformer에서 tombstones를 처리합니다. 업데이트된 캐시 코드베이스는 네임스페이스 캐시에서 집계된 캐시로 이벤트를 변환할 때 tombstones를 처리하지 않아 go 루틴에서 패닉이 발생했습니다.
- OSSM-542 Galley는 순환 후 새 인증서를 사용하지 않습니다.
- OSSM-99 레이블 없이 직접 Pod에서 생성된 워크로드는 Kiali를 충돌할 수 있습니다.
- OSSM-93 IstioConfigList는 두 개 이상의 이름으로 필터링할 수 없습니다.
- OSSM-92 VS/DR YAML 편집 페이지에서 저장되지 않은 변경 사항을 취소해도 변경 사항이 취소되지 않습니다.
- OSSM-90 추적은 서비스 세부 정보 페이지에서 사용할 수 없습니다.
- MAISTRA-1649 헤드리스 서비스가 다른 네임스페이스에서 충돌합니다. 다른 네임스페이스에 헤드리스 서비스를 배포할 때 끝점 구성이 병합되고 잘못된 Envoy 구성이 사이드카로 푸시됩니다.
-
MAISTRA-1541 컨트롤러가 소유자 참조에 설정되지 않은 경우 kubernetesenv에서 패닉이 발생합니다. pod에 컨트롤러를 지정하지 않는 ownerReference가 있는 경우
kubernetesenv cache.go
코드 내에서 패닉이 발생할 수 있습니다. - MAISTRA-1352 컨트롤 플레인 설치의 Cert-manager CRD(Custom Resource Definitions)가 이 릴리스와 향후 릴리스에서 제외됩니다. Red Hat OpenShift Service Mesh를 이미 설치한 경우 cert-manager가 사용되지 않는 경우 CRD를 수동으로 제거해야 합니다.
-
MAISTRA-1001 HTTP/2 연결을 종료하면
istio-proxy
에서 세그먼트 오류가 발생할 수 있습니다. -
MAISTRA-932 Jaeger Operator와 OpenShift Elasticsearch Operator 간의 종속성 관계를 추가하기 위해
requires
메타데이터를 추가했습니다. Jaeger Operator가 설치되면 사용할 수 없는 경우 OpenShift Elasticsearch Operator가 자동으로 배포됩니다. - MAISTRA-862 Galley는 여러 네임스페이스를 삭제하고 다시 만든 뒤, 감시를 중단하고 다른 구성 요소에 대한 구성 제공을 중단했습니다.
- MAISTRA-833 Pilot은 여러 네임스페이스를 삭제하고 다시 만든 뒤, 구성 전달을 중단했습니다.
-
MAISTRA-684
istio-operator
의 기본 Jaeger 버전은 1.12.0이며, 이는 Red Hat OpenShift Service Mesh 0.12.TechPreview에 제공된 Jaeger 버전 1.13.1과 일치하지 않습니다. - MAISTRA-622 Maistra 0.12.0/TP12에서는 허용 모드가 작동하지 않습니다. 사용자에게는 일반 텍스트 모드 또는 상호 TLS 모드를 사용하는 옵션이 있지만 허용되지는 않습니다.
- MAISTRA-572 Jaeger는 Kiali와 함께 사용할 수 없습니다. 이 릴리스에서 Jaeger는 OAuth 프록시를 사용하도록 구성되어 있지만, 브라우저를 통해서만 작동하도록 구성되어 서비스 액세스를 허용하지 않습니다. Kiali는 Jaeger 끝점과 올바르게 통신할 수 없으며 Jaeger가 비활성화된 것으로 간주합니다. 또한 TRACING-591을 참조하십시오.
- MAISTRA-357 AWS의 OpenShift 4 Beta에서는 기본적으로 포트 80 이외의 포트에서 수신 게이트웨이를 통해 TCP 또는 HTTPS 서비스에 액세스할 수 없습니다. AWS 로드 밸런서에는 서비스 끝점의 포트 80이 활성화되어 있는지 확인하는 상태 점검 기능이 있습니다. 포트 80에서 서비스를 실행하지 않으면 로드 밸런서 상태 점검에 실패합니다.
- MAISTRA-348 AWS의 OpenShift 4 Beta는 80 또는 443 이외의 포트에서 수신 게이트웨이 트래픽을 지원하지 않습니다. 80 또는 443 이외의 포트 번호로 TCP 트래픽을 처리하도록 수신 게이트웨이를 구성하려면, 이 문제를 해결하기 위해 OpenShift 라우터 대신 AWS 로드 밸런서에서 제공하는 서비스 호스트 이름을 사용해야 합니다.
- MAISTRA-193 citadel에 대해 상태 확인이 활성화되면 예기치 않은 콘솔 정보 메시지가 표시됩니다.
- 버그 1821432 OpenShift Container Platform 제어 리소스 세부 정보 페이지의 토글 제어가 CR을 올바르게 업데이트하지 않습니다. OpenShift Container Platform 웹 콘솔의 SMCP(Service Mesh Control Plane) 개요 페이지의 UI 토글 제어가 리소스에서 잘못된 필드를 업데이트하는 경우가 있습니다. ServiceMeshControlPlane 리소스를 업데이트하려면 토글 제어를 클릭하는 대신 YAML 콘텐츠를 직접 편집하거나 명령줄에서 리소스를 업데이트합니다.
2.1.8.2. Kiali의 수정된 문제
- KIALI-3239 Kiali Operator Pod가 "Evicted" 상태로 실패한 경우 Kiali Operator가 배포되지 않습니다. 해결방법은 Evicted pod를 삭제하고 Kiali Operator를 재배포하는 것입니다.
- KIALI-3118 ServiceMeshMemberRoll을 변경(예: 프로젝트 추가 또는 삭제)한 후 Kiali pod가 다시 시작되며, Kiali pod가 다시 시작되는 동안 그래프 페이지에 오류가 표시됩니다.
- KIALI-3096 서비스 메시에서 런타임 지표가 실패합니다. 서비스 메시와 Prometheus 사이에 OAuth 필터가 있으며 액세스 권한이 부여되기 전에 전달자 토큰을 Prometheus에 전달해야 합니다. Kiali는 Prometheus 서버와 통신할 때 이 토큰을 사용하도록 업데이트되었지만 현재 애플리케이션 지표에 403 오류가 발생하고 있습니다.
- KIALI-3070 이 버그는 기본 대시보드가 아닌 사용자 정의 대시보드에만 영향을 미칩니다. 지표 설정에서 레이블을 선택하고 페이지를 새로 고침하면 선택 사항이 메뉴에는 유지하지만 차트에 표시되지 않습니다.
- KIALI-2686 컨트롤 플레인에 네임스페이스가 많은 경우 성능 문제가 발생할 수 있습니다.
2.1.8.3. Red Hat OpenShift distributed tracing 고정 문제
- OSSM-1910 버전 2.6에서 발생한 문제로 인해 OpenShift Container Platform Service Mesh를 사용하여 TLS 연결을 설정할 수 없었습니다. 이번 업데이트에서는 OpenShift Container Platform Service Mesh 및 Istio에서 사용하는 규칙과 일치하도록 서비스 포트 이름을 변경하여 문제를 해결합니다.
- 이 업데이트 이전에는 기본 200m CPU 및 256Mi 메모리 리소스 제한이 분산 추적 데이터 수집이 대규모 클러스터에서 지속적으로 다시 시작될 수 있습니다. 이번 업데이트에서는 이러한 리소스 제한을 제거하여 문제를 해결합니다.
- OECDHEA-222 이번 업데이트 이전에는 OpenShift Container Platform 분산 추적 플랫폼에서 기간을 삭제할 수 있었습니다. 이 문제가 발생하지 않도록하기 위해 이 릴리스에서는 버전 종속성을 업데이트합니다.
TRACING-2337 Jaeger는 다음과 유사한 Jaeger 로그에 반복적인 경고 메시지를 기록합니다.
{"level":"warn","ts":1642438880.918793,"caller":"channelz/logging.go:62","msg":"[core]grpc: Server.Serve failed to create ServerTransport: connection error: desc = \"transport: http2Server.HandleStreams received bogus greeting from client: \\\"\\\\x16\\\\x03\\\\x01\\\\x02\\\\x00\\\\x01\\\\x00\\\\x01\\\\xfc\\\\x03\\\\x03vw\\\\x1a\\\\xc9T\\\\xe7\\\\xdaCj\\\\xb7\\\\x8dK\\\\xa6\\\"\"","system":"grpc","grpc_log":true}
이 문제는 gRPC 포트가 아닌 쿼리 서비스의 HTTP(S) 포트만 노출하여 해결되었습니다.
- TRACING-2009 Jaeger Operator가 Strimzi Kafka Operator 0.23.0에 대한 지원을 포함하도록 업데이트되었습니다.
-
TRACING-1907 애플리케이션 네임스페이스에서 구성 맵이 누락되어 Jaeger 에이전트 사이드카 삽입이 실패했습니다. 잘못된
OwnerReference
필드 설정으로 인해 구성 맵이 자동으로 삭제되었으며 결과적으로 애플리케이션 Pod가 "ContainerCreating" 단계를 통과하지 않았습니다. 잘못된 설정이 제거되었습니다. - TRACING-1725 TRACING-1631에 대한 후속 조치입니다. 동일한 이름을 사용하지만 다른 네임스페이스 내에 Jaeger 프로덕션 인스턴스가 여러 개인 경우 Elasticsearch 인증서가 올바르게 조정되는지 확인하기 위한 추가 수정 사항입니다. BZ-1918920도 참조하십시오.
- TRACING-1631 동일한 이름을 사용하지만 다른 네임스페이스 내의 여러 Jaeger 프로덕션 인스턴스로, Elasticsearch 인증서 문제를 발생시킵니다. 여러 서비스 메시가 설치되면 모든 Jaeger Elasticsearch 인스턴스에 개별 시크릿 대신 동일한 Elasticsearch 시크릿이 있어 OpenShift Elasticsearch Operator가 모든 Elasticsearch 클러스터와 통신할 수 없습니다.
- TRACING-1300 Istio 사이드카를 사용할 때 에이전트와 수집기 간의 연결에 실패했습니다. Jaeger Operator 업데이트는 Jaeger 사이드카 에이전트와 Jaeger 수집기 간의 TLS 통신을 기본적으로 활성화했습니다.
-
TRACING-1208 Jaeger UI에 액세스할 때 인증 “500 Internal Error”입니다. OAuth를 사용하여 UI를 인증할 때 oauth-proxy 사이드카가
additionalTrustBundle
로 설치할 때 정의된 사용자 정의 CA 번들을 신뢰하지 않기 때문에 500 오류가 발생합니다. -
TRACING-1166 현재 연결이 끊긴 환경에서 Jaeger 스트리밍 전략을 사용할 수 없습니다. Kafka 클러스터가 프로비저닝 중인 경우
Failed to pull image registry.redhat.io/amq7/amq-streams-kafka-24-rhel7@sha256:f9ceca004f1b7dccb3b82d9a8027961f9fe4104e0ed69752c0bdd8078b4a1076
와 같은 오류가 발생합니다. - TRACING-809 Jaeger Ingester는 Kafka 2.3과 호환되지 않습니다. Jaeger Ingester의 두 개 이상의 인스턴스와 트래픽이 충분한 경우 로그에 지속적으로 리밸런싱 메시지를 생성합니다. 이는 Kafka 2.3.1에서 수정된 Kafka 2.3의 문제의 재발로 인해 발생합니다. 자세한 내용은 Jaegertracing-1819를 참조하십시오.
BZ-1918920/LOG-1619 업데이트 후 Elasticsearch Pod가 자동으로 다시 시작되지 않습니다.
해결방법: Pod를 수동으로 다시 시작합니다.