1.8.12. 네트워킹
-
이번 업데이트 이전에는 기본 OpenShift Container Platform TLS(Transport Layer Security) 보안 프로필(Old, Intermediate 및 Modern)에 FIPS와 호환되지 않는
TLS_CHACHA20_POLY1305_SHA256암호화 제품군이 포함되어 있었습니다. FIPS 지원 클러스터에서 기본 OpenSSL 라이브러리가 이 암호를 올바르게 비활성화했지만 Ingress 컨트롤러(HAProxy)는 TLS 1.3 암호화 목록에 계속 제공하도록 구성되어 있습니다. 그 결과 HAProxy는 다른 FIPS 호환 암호를 협상하려고 시도하여 규정 준수 대안으로 건너뛰지 않고 연결에 실패했기 때문에 클라이언트가TLS_CHACHA20_POLY1305_SHA256우선 순위를 지정한 경우 TLS 핸드셰이크가 실패했습니다. 이번 릴리스에서는 Cluster Ingress Operator에서 클러스터가 FIPS 사용 여부를 감지하고 Ingress 컨트롤러 구성에서TLS_CHACHA20_POLY1305_SHA256과 같은 비호환 TLS 1.3 암호화 제품군을 자동으로 필터링합니다. 결과적으로 FIPS 지원 클러스터의 클라이언트는 초기 암호화 기본 설정 순서에 관계없이 규정 준수 암호화 제품군을 사용하여 TLS 연결을 성공적으로 협상합니다. (OCPBUGS-3917) -
이번 업데이트 이전에는 기본 Ingress 컨트롤러의 mTLS(Transport Layer Socket) 구성으로 인해 카나리아 및 콘솔 상태 점검이 실패하여 필수 클라이언트 인증서로 인해 Ingress 및 Console Operator가 저하되었습니다. 이번 릴리스에서는
IngressControllermTLS 설정이 더 이상 카나리아 및 콘솔 상태 점검을 중단하지 않습니다. 결과적으로 mTLS 설정에서 더 이상 클러스터에서 불안정성을 유발하지 않아 Ingress 및 Console Operator가 올바르게 작동합니다. (OCPBUGS-9037) - 이번 업데이트 이전에는 컴퓨팅 노드가 업그레이드되는 동안 Cluster DNS Operator에서 성능이 저하된 상태를 잘못 보고했습니다. 그 결과 Operator 상태가 업그레이드가 정상적으로 진행되었을 때 문제를 나타내는 것으로 표시되었습니다. 이번 릴리스에서는 Cluster DNS Operator가 일시적인 진행 상태를 올바르게 구분합니다. 결과적으로 Operator는 실제 성능 저하를 나타내는 긴 진행 상태가 없으면 업그레이드 중에 성능이 저하되지 않고 진행 상황을 정확하게 보고합니다. (OCPBUGS-14346)
-
이번 업데이트 이전에는 초기 클러스터 설치 후 Ingress 구성
spec.domain필드를 수정할 수 있었습니다. 결과적으로 도메인 값을 변경하면 일부 클러스터 Operator가 성능 저하된 상태가 되었습니다. 이번 릴리스에서는 불변성 검증으로 설정된 후 Ingress 구성spec.domain필드를 수정하지 않습니다. 결과적으로spec.domain필드를 더 이상 변경할 수 없으므로 클러스터 Operator의 성능이 저하되지 않습니다. (OCPBUGS-32275) -
이번 업데이트 이전에는
baremetal-runtimecfg구성 요소가 종종 Kubernetes API 서버를 검색하여 최신 노드 목록을 유지 관리하여 API 서버 성능이 저하되었습니다. 그 결과 API 서버에 성능 문제가 발생했습니다. 이번 릴리스에서는 캐싱 메커니즘이 API 호출 수를 줄입니다. 결과적으로 API 서버 성능이 향상됩니다. (OCPBUGS-42805) -
이번 업데이트 이전에는 두 개의
EgressIPCR(사용자 정의 리소스)에서 동일한 IP 주소를 사용하고 OVN-Kubernetes 컨트롤 플레인 Pod가 재시작되거나 노드가 재부팅되면 IP 주소가 두 개 이상의 송신 노드에 잘못 할당되었습니다. 결과적으로 여러 송신 노드가 동일한 IP 주소를 공유하여 라우팅 동작을 예측할 수 없게 되었습니다. 이번 릴리스에서는 OVN-Kubernetes를 사용하면 첫 번째 할당된 IP 주소만 송신 노드에 다시 할당되지만 중복 할당이 방지됩니다. 결과적으로 하나의 송신 노드만EgressIPCR에 정의된 IP 주소가 할당되어 주소 충돌이 발생하지 않습니다. (OCPBUGS-49368) -
이번 업데이트 이전에는 플랫폼 유형이
external인 클러스터를 설치할 때nodeip-configurationsystemd 서비스가 비활성화되었습니다. 결과적으로 노드가 재부팅된 후/etc/systemd/system/kubelet.service.d/20-nodenet.conf파일이 누락되어nodeip-configuration서비스가 실행되지 않았기 때문에 kubelet에서 RHCOS 노드에 정적으로 구성된 IP 주소를 사용하지 않았습니다. 이번 릴리스에서는 MCO(Machine Config Operator)에 플랫폼 유형external의nodeip-configuration서비스를 활성화하는 논리가 포함되어 있으며 플랫폼 유형 없음의 기존 논리와유사합니다. 결과적으로 platform typeexternal이 있는 클러스터에서nodeip-configuration서비스가 활성화되고 재부팅 후 노드는 정적으로 구성된 IP 주소를 유지합니다. (OCPBUGS-56717) -
이번 업데이트 이전에는 Cluster Ingress Operator에서
canary-serving-cert시크릿의 변경 사항을 모니터링하는 메커니즘 없이ingress-canary데몬 세트를 배포했습니다. 결과적으로service-ca에서canary-serving-cert가 자동으로 순환되면ingress-canaryPod에서 업데이트된 인증서를 다시 로드하지 않아 카나리아 확인 중에 인증서 만료 문제가 발생할 수 있었습니다. 이번 릴리스에서는 Cluster Ingress Operator에서 TLS 시크릿의 해시를 계산하고ingress-canaryPod 템플릿에 주석으로 삽입합니다. 또한 Operator는 카나리아 제공 인증서 보안에 변경 사항을 적극적으로 감시합니다. 결과적으로 인증서가 교체되면 생성되는 해시 변경으로 인해 새로 교체된 인증서가 있는 새수신스캔 Pod를 자동으로 롤아웃하는 조정이 트리거되어 만료가 실패하지 않습니다. (OCPBUGS-58145) -
이번 업데이트 이전에는 사용 가능한 node-resolver Pod 수가 충분하지 않기 때문에 노드 재부팅 중에 DNS Operator에서
Progressing=True를 보고했습니다. 이로 인해 노드 재부팅과 관련된 클러스터 업그레이드 또는 유지 관리 작업 중에 잘못된 경보 및 실패한 상태 점검이 발생할 수 있었습니다. 이번 업데이트를 통해 노드 재부팅을 고려하여 DNS Operator 보고 메커니즘의 상태가 업데이트되었습니다. 이번 릴리스에서는 재부팅 노드만으로 Operator에서 진행 상황을 보고하지 않습니다. 결과적으로 DNS Operator는 불필요한Progressing=True상태를 보고하지 않고 노드 재부팅을 올바르게 처리하여 클러스터 유지 관리 중에 false positive를 줄입니다. (OCPBUGS-62623) -
이번 업데이트 이전에는
insecureEdgeTerminationPolicy: Redirect로 경로를 구성한 경우 HAProxy는 리디렉션 위치에 호스트 헤더의 포트 번호를 보존했습니다. 이로 인해 클라이언트가 암호화되지 않은 포트에서 HTTPS 연결을 시도하여 TLS 핸드셰이크 실패 및 리디렉션이 중단되었습니다. 이번 릴리스에서는 리디렉션 URL을 구성하기 전에 호스트 헤더에서 포트 번호를 명시적으로 제거하도록 HAProxy 구성 템플릿이 업데이트되었습니다. 결과적으로 HTTP를 HTTPS로 리디렉션하면 원래 포트를 올바르게 생략하여 클라이언트가 표준 HTTPS 포트(443)에 성공적으로 연결되도록 합니다. (OCPBUGS-65482) -
이번 업데이트 이전에는 HyperShift KubeVirt 게스트 클러스터에서
routingViaHost및ipForwarding을 활성화하면 관리 클러스터에routingViaHost도 활성화된 경우 라우팅 충돌이 발생했습니다. 그 결과 콘솔과 Ingress Cluster Operator의 성능이 저하되고 외부 클라이언트에서 경로에 액세스할 수 있는 경우에도 경로 상태 점검이 클러스터 내에서 실패했습니다. 이번 릴리스에서는 게스트 클러스터에서 서브넷 게이트웨이 IP를 기본 게이트웨이로 사용하여 라우팅 충돌을 해결합니다. 결과적으로 관리 및 게스트 클러스터에서routingViaHost가 활성화된 경우 Console 및 Ingress Cluster Operator가 정상으로 유지됩니다. (OCPBUGS-65688) -
이번 업데이트 이전에는 라우터 활성 프로브에서 HTTP 백엔드 검사를 사용하여 HAProxy 상태를 모니터링합니다. 결과적으로 HAProxy가 클라이언트 트래픽으로 인해
maxconn연결 제한에 도달하면 HTTP 상태 점검이 실패하고 Kubernetes가 라우터 Pod를 불필요하게 다시 시작합니다. 이번 릴리스에서는 라우터 활성 상태 프로브에서 HTTP 백엔드 확인 대신 HAProxy 관리 소켓 검사를 사용합니다. 결과적으로 HAProxy가 합법적인 클라이언트 트래픽으로 인해maxconn연결 제한에 도달하면 라우터 Pod가 안정적으로 유지되어 불필요한 재시작이 발생하지 않습니다. (OCPBUGS-67161) -
이번 업데이트 이전에는 중요한 결함을 해결하는 동안
IngressControllerDynamicConfigurationManager기능 게이트가TechPreviewNoUpgrade기능 세트에서 일시적으로 제거되었습니다. 그 결과TechPreviewNoUpgrade기능으로 라우터의 동적 구성 관리자 기능을 사용할 수 없었습니다. 이번 릴리스에서는IngressControllerDynamicConfigurationManager기능 게이트가TechPreviewNoUpgrade기능 세트로 복원되었습니다. 결과적으로 OpenShift Container Platform 라우터에는TechPreviewNoUpgrade기능 세트를 활성화하는 클러스터에 Dynamic Configuration Manager 옵션이 포함되어 있습니다. (OCPBUGS-67232) -
이번 업데이트 이전에는 다수의 노드가 클러스터에 동시에 추가되면 노드가 300초 타임아웃에 도달하여
컨텍스트 데드라인 초과오류로 실패했습니다. 결과적으로 대규모 클러스터 확장 중에 노드 초기화에 실패했습니다. 이번 릴리스에서는 노드의 각 네트워크 준비 상태가 독립적으로 결정됩니다. 결과적으로 노드가 초기화를 완료하면 점진적으로 준비되어 대규모 노드 추가 중에 시간 초과 오류가 발생하지 않습니다. (OCPBUGS-70130) -
이번 업데이트 이전에는 OpenShift Container Platform 4.21의
controller-runtime라이브러리가 변경되어 Cluster Ingress Operator의 일부 컨트롤러에 대해 로깅이 초기화되지 않았습니다. 그 결과 Cluster Ingress Operator에서gateway-labeler, gateway-service-dns 및컨트롤러에 대한 컨트롤러 초기화 또는 조정 오류를 기록하지 않았습니다. 이번 릴리스에서는 Operator가 이러한 컨트롤러에 대한 로깅을 초기화하도록 업데이트되었습니다. 결과적으로 Operator는 이러한 컨트롤러에 대한 초기화 및 조정 오류를 기록합니다. (OCPBUGS-70211)gatewayclass -
이번 업데이트 이전에는 듀얼 카드 경계 클럭(T-BC) 시스템에서 초기 클럭 오프셋으로 인해 시작 중에 불안정성이 발생했습니다. 결과적으로 PTP(Precision Time Protocol) 데몬은 재부팅 후
Locked상태를 달성하는 데 과도한 시간이 걸렸습니다. 이번 릴리스에서는 소스 클럭이 10ns 내에 수렴될 때까지 디지털 단계 잠금 루프(DPLL) 입력이 억제되어 DPLL이 불안정한 소스에 종속되지 않습니다. 결과적으로 재부팅 후 시스템이 안정된 잠금을 훨씬 빠르게 얻을 수 있습니다. (OCPBUGS-71194) - 이번 업데이트 이전에는 PTP Operator가 DPDK(digital phase-locked loop) 오프셋을 모니터링하고 DPLL이 steady 상태에 도달하면 오프셋의 높은 변동성으로 인해 오프셋 값이 잠긴 것으로 간주될 수 있습니다. 그 결과 PTP 경계 클럭(T-BC)에서 ptp4l 프로그램보다 먼저 클럭 클래스를 알리고 DPLL은 잠긴 상태에 도달했습니다. 이번 릴리스에서는 최소 샘플 수 후에만 클럭 클래스 결정이 시작됩니다. 결과적으로 DPLL이 안정된 후 클럭 클래스가 발표됩니다. (OCPBUGS-74358)
-
이번 업데이트 이전에는
x-k8s.io 그룹에속하는 실험 채널에서 게이트웨이 API CRD를 설치하지 않아 설치 시도 시 즉시 차단되었습니다. 이번 릴리스에서는x-k8s.io그룹 CRD에 대한 제한이 제거되었습니다. 이제x-k8s.io그룹의 일부인 실험 채널에서 게이트웨이 API CRD를 설치할 수 있습니다. (OCPBUGS-74693) -
이번 업데이트 이전에는 최소 샘플 수를 충족하지 않은 보고 오프셋을 시작하면서
ts2phc에 대해 새 데이터 세트를 보류하는 경우 보고 오프셋을 시작했습니다. 그 결과 PTP Operator에서 freeRUN클럭 상태를 즉시 잘못 보고했습니다. 이번 릴리스에서는 오프셋을 보류하는 경우 홀드오버 임계값에 정의된 기울기를 기반으로 계산됩니다. 결과적으로 임계값을 초과할 때까지 오프셋이 지속적으로 증가합니다. 클럭 상태는 HOLDOVER에서로 올바르게 전환되고 마지막으로 FreeHOLDOVEROUT-OF-SPECRUN로전환됩니다. (OCPBUGS-77011) -
이번 업데이트 이전에는 YAML 매니페스트 또는 CLI를 사용하여
NetworkAttachmentDefinition(NAD)을 생성할 때 네트워크 구성이 올바르게 작동하더라도 웹 콘솔에 Type 열에Not Available이 표시되었습니다. 이번 릴리스에서는 웹 콘솔이 올바른 구문 분석 및 표시 됩니다. (OCPBUGS-77174) -
이번 업데이트 이전에는 Red Hat OpenShift AI 및 Red Hat Connectivity Link와 같은 계층화된 제품에서 사용하는 게이트웨이 Pod가 Wasm 플러그인을 가져오려고 할 때 클러스터 전체 송신 프록시 구성을 인식하지 못했습니다. 결과적으로 엔터프라이즈 HTTP 프록시 뒤의 연결이 끊긴 환경에서 게이트웨이 Pod가 필요한 Wasm 플러그인을 다운로드할 수 없었습니다. 이로 인해 HTTP 403 역할 기반 액세스 제어(RBAC) 오류 및 실패한 추론 요청이 발생했습니다. 이번 릴리스에서는 클러스터 전체 송신 프록시 구성(
proxies.config.openshift.io/cluster)을 준수하도록 Ingress Operator에서 Istio 컨트롤 플레인을 구성합니다. 결과적으로 게이트웨이 Pod는 수동 구성없이 프록시된 환경에서 Wasm 플러그인을 성공적으로 가져옵니다. (OCPBUGS-77457) - 이번 업데이트 이전에는 PTP Operator의 경쟁 조건으로 인해 하나 이상의 u-blox 글로벌 탐색 Satellite 시스템(GNSS) 초기화 명령이 무시되었습니다. 그 결과 u-blox GNSS가 완전히 초기화되지 않아 GNSS 동기화의 CPU 부하 또는 손실이 증가했습니다. 이번 릴리스에서는 경쟁 조건을 제거하도록 초기화 순서가 수정되었습니다. 결과적으로 모든 시작 시 u-blox GNSS가 완전히 초기화됩니다. (OCPBUGS-77480)
-
이번 업데이트 이전에는 암호화된 etcd가 있는 사용자 클러스터에서
kube-apiserver롤아웃으로 인해 TCP(Transmission Control Protocol) Reset (RST) 이고 이로 인해 애플리케이션 Pod 트래픽이 삭제됩니다. 이번 릴리스에서는 문제가 해결되었으며kube-apiserver롤아웃으로 인해 암호화된 클러스터에서 트래픽이 감소되지 않아 서비스 안정성이 향상됩니다. (OCPBUGS-77510) -
이번 업데이트 이전에는 일반적으로 클러스터 업그레이드 중에 발생하는
ovnkube-controller재시작으로 인해 사용자 정의 네트워크(UDN)에 대한 DHCP(Dynamic Host Configuration Protocol) 옵션이 제거되었습니다. 이로 인해 컨트롤러에서 자체 리스와 다른 컨트롤러의 리스를 구분하지 못했기 때문에 기본 UDN 인터페이스의 VM(가상 머신) IP 주소가 DHCP 임대 시간이 초과되면 손실되었습니다. 이번 릴리스에서는 기본 네트워크 컨트롤러가 외부 네트워크 컨트롤러에 속하는 DHCP 옵션을 실수로 제거하지 않도록 업데이트되었습니다. (OCPBUGS-77759) -
이번 업데이트 이전에는 OpenShift Container Platform DNS 서비스를 업데이트할 때 Cluster DNS Operator가 IPv6 구성을 중단하여 Operator가 듀얼 스택에서 단일 스택 IPv4로 되돌아갑니다. 그 결과 듀얼 스택 DNS 기능이 영구적으로 중단되었습니다. 이번 릴리스에서는 서비스 업데이트 중에
ClusterIPs,IPFamilies및IPFamilyPolicy필드를 명시적으로 보존하도록 Operator가 업데이트되었습니다. 결과적으로 업데이트 시 OpenShift Container Platform DNS 서비스가 듀얼 스택 구성을 올바르게 유지합니다. (OCPBUGS-78085) -
이번 업데이트 이전에는 Cluster Ingress Operator의
gatewayapi_controller에서syncOnce를 사용하여GatewayClass필드 인덱서를 설정했습니다.sync.Once실행 시 Gateway API CRD가 API 서버에 완전히 등록되지 않은 경우 재시도 경로 없이 인덱서 설정이 영구적으로 실패했습니다. 그 결과 Ingress Cluster Operator가Available,Progressing또는Degraded상태 조건이 보고되지 않았습니다. 중지된 위치에서는 클러스터 설치 및 상태 점검을 차단할 수 있습니다. 이는 HyperShift 호스팅 컨트롤 플레인과 같은 Ingress Operator가 시작될 때 CRD 등록이 여전히 진행 중인 환경에서 타이밍 종속 경합 상태였습니다. 이번 릴리스에서는sync.Once가 재시도 메커니즘으로 교체되어 초기 시도가 실패하면GatewayClass필드 인덱서 설정이 다시 시도됩니다. 결과적으로 Gateway API CRD가 등록하는 데 시간이 걸리는 경우에도 Ingress Cluster Operator에서 상태 조건을 올바르게 보고하여 Operator가 영구적으로 중단되지 않습니다. (OCPBUGS-78523) - 이번 업데이트 이전에는 PTP(Precision Time Protocol) 관리 클라이언트(PMC) 프로세스가 종료될 때 PMC에서 컨테이너가 충돌할 때까지 새 프로세스를 지속적으로 생성했습니다. 결과적으로 컨테이너가 다시 시작됩니다. 이번 릴리스에서는 과도한 프로세스를 생성하지 않고 PMC 프로세스가 다시 시작됩니다. (OCPBUGS-78814)
-
이번 업데이트 이전에는 Gateway API에서
백엔드TLSPolicyCRD 및 기타 다운스트림 문제와 관련된 버그가 포함된 OSM(OpenShift Service Mesh) 3.3.0을 사용했습니다. 결과적으로 Gateway API를 사용하는 클러스터는BackendTLSPolicy구성에 안정성 및 기능 문제가 발생할 수 있었습니다. 이번 릴리스에서는 게이트웨이 API가 OSSM 3.3.1 및 Istio v1.28.5로 업그레이드되어 이러한 문제를 해결합니다. 결과적으로 Gateway API는 향상된 안정성과 올바른BackendTLSPolicyCRD 처리로 작동합니다. (OCPBUGS-79376) -
이번 업데이트 이전에는
RouteAdvertisements기능 또는 과도한 Pod 라이프사이클 churn과 동시에 MetalLB Operator를 통해 패브릭에서 BGP(Border Gateway Protocol) 경로를 학습하는 데 FRR-K8을 사용하면 학습한 BGP 경로가 클러스터에서 제거되어 해당 경로에 의존하는 트래픽이 발생할 수 있습니다. 이번 릴리스에서는 기본 FR BGP 백엔드가 v8에서 v10으로 업그레이드되어 버그를 해결하고 학습한 BGP 경로가 안정적이고 올바르게 설치되었는지 확인합니다. (OCPBUGS-84960) -
이번 업데이트 이전에는 제로 작업자 호스팅 클러스터에서 컨트롤 플레인을 업그레이드하는 동안 Cluster Network Operator는 작업자 노드 롤아웃에 대해 무기한 대기하여
ovnkube-control-plane이 업데이트되지 않고 업그레이드가 완료되지 못하도록 했습니다. 이번 릴리스에서는 작업자가 없을 때 Operator가 더 이상 작업자 롤아웃을 차단하지 않으므로 컨트롤 플레인 업그레이드가 성공적으로 완료될 수 있습니다. (OCPBUGS-85657)