1.8.18. 노드
-
이번 업데이트 이전에는 첫 번째 Pod에서 사용 가능한 모든 CPU 리소스를 소비하는 경우 두 번째 테스트 Pod가
보류단계에 남아 있을 것으로 예상했지만, 스케줄러에서 두 번째 Pod가Running단계에 진입할 수 있었습니다. 그 결과 "Expected pod 'testpod2' to be in phase Pending, but got phase: Running" 오류와 함께 테스트가 일관되게 실패했습니다. 이번 릴리스에서는 스케줄러에서 인플레이스 크기 조정 작업 중에 리소스 제약 조건을 올바르게 적용합니다. 결과적으로 테스트가 안정적으로 전달되고 Pod가 사용 가능한 노드 리소스에 따라 예약됩니다. (OCPBUGS-63132) -
이번 업데이트 이전에는
config-operator가 임시 API 서버 연결 문제를 다시 시작하거나 경험하는 경우 복구 중에 각 Tuned 리소스에 대해config-drift-monitoremittedConfigDriftMonitorStopped및RemoveSigtermProtection이벤트가 반복적으로 수행됩니다. 그 결과 경로적 이벤트 테스트에서 serial-techpreview 작업에서 실패했습니다. 이러한 이벤트가 20 번 이상 발생했다고 보고합니다. 이번 릴리스에서는config-drift-monitor를 사용하여 재시작 및 복구 시나리오 중에 이벤트 노이즈를 줄입니다. 결과적으로 경로적 이벤트 테스트는 serial-techpreview 작업에서 안정적으로 전달됩니다. (OCPBUGS-63307) -
이번 업데이트 이전에는
InPlacePodVerticalScaling기능 게이트를 사용하여 Pod 크기 조정 작업 중에 kubelet에서 리소스 용량을 계산하면 실제 값 대신 사용된 CPU 값을 매우 큰 숫자로 잘못 계산했습니다. 결과적으로 노드에서 충분한 CPU 용량을 사용할 수 있는 경우에도 Pod 크기 조정 요청이 "OutOfcpu" 오류로 실패했습니다. 이번 릴리스에서는 kubelet에서 크기 조정 작업 중에 사용된 CPU를 올바르게 계산합니다. 결과적으로 노드에 충분한 CPU 리소스가 있으면 인플레이스 Pod 수직 스케일링 요청이 성공적으로 수행됩니다. (OCPBUGS-64847) -
이번 업데이트 이전에는 호스팅된 컨트롤 플레인을 포함한 모든 토폴로지에 대해
AutoSizingReserved옵션을 사용하도록 설정하면 노드 크기에 따라 동적으로 시스템 예약 메모리가 증가하여 소규모 인스턴스 유형에서 할당 가능한 메모리가 크게 감소했습니다(예: 호스팅된 컨트롤 플레인 작업자 노드에 사용된 m5.large 및 m5.xlarge). 결과적으로 모니터링, DNS, 네트워킹 및 레지스트리와 같은 플랫폼 Pod는 할당 가능한 메모리가 부족하여 호스팅된 컨트롤 플레인 작업자 노드에 예약할 수 없어 클러스터 Operator의 성능이 저하되고 e2e 테스트가 실패할 수 있었습니다. 이번 릴리스에서는 호스팅된 컨트롤 플레인 작업자 노드(ControlPlaneTopology=External)에 대해AutoSizingReserved옵션이 비활성화됩니다. 결과적으로 호스팅되는 컨트롤 플레인 e2e 테스트와 호스팅된 컨트롤 플레인 작업자 노드에는 모든 플랫폼 Pod가 성공적으로 예약될 수 있는 충분한 메모리가 있습니다. (OCPBUGS-79502) -
이번 업데이트 이전에는 매우 큰 NUMA(Non-Uniform Memory Access) 토폴로지(예: 34 NUMA 노드가 있는 NVIDIA GB200 시스템)가 있는 시스템에서 PCI 장치를 요청하는 Pod를 예약할 때, kubelet TopologyManager는 힌트 생성의 조합화로 인해 컴퓨팅 토폴로지 힌트를 완료하지 않습니다. 결과적으로 GPU, InfiniBand 또는 NVMe(Non-Volatile Memory Express) 장치를 요청하는 Pod는 무기한
보류 중상태로 유지되었으며hostDevices를 사용하는 KubeVirt VirtualMachineInstances는 Running으로 전환되지 않았습니다. 이번 릴리스에서는 TopologyManager 힌트 생성 알고리즘이 많은 NUMA 노드가 있는 시스템에서도 제한된 시간에 힌트를 계산하도록 최적화되었습니다. 결과적으로 PCI 호스트 장치를 요청하는 Pod 및 VM은 GB200급 하드웨어와 같은 대규모 NUMA 시스템에서 성공적으로 시작됩니다. (OCPBUGS-83502) -
이번 업데이트 이전에는 OpenShift Container Platform이 기본 운영 체제로 RHEL 10으로 전환되었지만
runcOCI 런타임 바이너리는 RHCOS 10 이미지에 포함되지 않았습니다. 결과적으로 CRI-O에서$PATH에서runc실행 파일을 찾을 수 없기 때문에 부트스트랩 중에runc를 사용하도록 구성된 모든 CI 작업이 컨테이너 런타임 초기화를 방지합니다. 이번 릴리스에서는 runc 기반 작업에 대한 CI 인프라가 업데이트되어 RHCOS 10 환경에서 runc 바이너리를 사용할 수 있습니다. 결과적으로 runc 기반 CI 작업이 성공적으로 부트 스트랩되고 런타임 오류 없이 완료됩니다. (OCPBUGS-89267) -
이번 업데이트 이전에는
oc debug노드를 통해 kubelet을 다시 시작하는 동안 CNV(Container-Native Virtualization)의 경우 kubelet LimitedSwap Drop-in Configuration Test case (TC6)에 실패했습니다. 이 경우 작업자 노드 및 왼쪽 시스템 구성 아티팩트(system_compressible및reserved-cpu-testremnants)가 저하되었습니다. 결과적으로 중단된장기 실행 제품군의 후속테스트에서는 완료하는 데 더 많은 시간이 필요하고 전체 테스트 모음이 시간 초과되었습니다. 이번 릴리스에서는 테스트에서 노드 구성을 올바르게 정리하고 노드를 저하시키지 않고 kubelet이 재시작되도록 합니다. 결과적으로 중단기간 동안 실행 중인테스트 모음이 시간 초과 실패 없이 예상되는 시간 내에 완료됩니다. (OCPBUGS-90507) -
이번 업데이트 이전에는
CRIOCredentialProviderConfigCRD(사용자 정의 리소스 정의)를 처음 도입할 때v1을 스토리지 버전으로 즉시 설정합니다. 결과적으로 스토리지 버전 변경이 점진적으로 변경되지 않았기 때문에 이 CRD가 포함된 버전으로 업그레이드된 클러스터는 이전 버전으로 안전하게 롤백할 수 없었습니다. 이번 릴리스에서는 CRD에서 롤백 안전 버전 관리 패턴을 따르며 도입 시 스토리지 버전을 즉시 변경하지 않습니다. 결과적으로 클러스터 관리자는 CRD 스토리지 버전 비호환성 없이 업그레이드를 안전하게 롤백할 수 있습니다. (OCPBUGS-94869) - 이번 업데이트 이전에는 DRA(Dynamic Resource Assignment) 확장 리소스에 대한 업스트림 Kubernetes 테스트에서 별도의 노드에 DRA 드라이버 및 샘플 장치 플러그인을 배포했으며 드라이버 설정이 장치 플러그인과 상호 작용할 때 테스트 인프라에 문제가 발생했습니다. 결과적으로 테스트는 직렬 제품군의 약 53%에 실패했으며 "등록된 리소스: example.com/resource"에 대한 캐시에서 찾을 수 없는 오류와 같은 오류가 발생했습니다. 이번 릴리스에서는 일반 직렬 레인에서 테스트를 생략하고 드라이버 설정이 더 안정적인 전용 차선에서 DRA 테스트의 업스트림 접근 방식과 일치합니다. 결과적으로 직렬 제품군은 더 이상 이러한flaky DRA 테스트 인프라에서 발생하는 빈번한 오류가 발생하지 않습니다. (OCPBUGS-99058)
-
이번 업데이트 이전에는 모든
openshift-*네임스페이스를 열거하고 해당 네임스페이스에workload.openshift.io/allowed:management주석이 있어야 하지만oc debug node/명령으로 생성된 임시openshift-debug-*네임스페이스는 병렬SecurityPenetration테스트에서 제외되지 않았습니다. 결과적으로SecurityPenetration테스트가 CPU Partitioning 테스트와 동시에 실행되면 디버그 네임스페이스에 management 주석이 없기 때문에 CPU 파티셔닝 테스트가 실패했습니다. 이번 릴리스에서는 테스트에서 주석 검사에서openshift-debug-*네임스페이스를 제외합니다. 결과적으로SecurityPenetration테스트가 병렬로 실행되는 경우에도 CPU 파티션 테스트는 안정적으로 통과합니다. (OCPBUGS-100392) - 이번 업데이트 이전에는 이미지 볼륨과 동일한 OCI 이미지를 마운트하는 각 Pod와 동일한 노드에서 약 100개의 Pod를 동시에 생성할 때 CRI-O는 컨테이너/스토리지 계층을 통해 모든 마운트 작업에 대해 쓰기 잠금을 취득했습니다. 결과적으로 이미지 계층이 노드에 이미 있었지만 단일 잠금 뒤에 직렬화된 모든 마운트 작업으로 인해 Pod 시작 시간이 EmptyDir 볼륨 사용에 비해 약 80% 증가합니다. 이번 릴리스에서는 CRI-O가 이미 표시된 이미지 계층을 마운트할 때 불필요한 잠금 경합을 방지하기 위해 이미지 볼륨 마운트 경로를 최적화합니다. 결과적으로 노드의 여러 Pod에 동일한 이미지를 마운트해도 더 이상 Pod 시작 성능이 저하되지 않습니다. (OCPBUGS-108950)