1.6. 버그 수정

API 서버 및 인증
  • 이전 버전에서는 workloadIsBeingUpdatedTooLong 오류를 수신한 후 Cluster Authentication Operator 상태가 progressing = false 로 설정되었습니다. 동시에 degraded = false 가 정의된 inertia 의 시간 동안 유지되었습니다. 결과적으로 진행 중인 진행 시간과 성능 저하 시간이 단축되면 진행 = false 및 degraded = false 가 조기에 설정된 상황이 발생할 수 있었습니다. 이로 인해 상태가 정상이라고 가정되었기 때문에 일치하지 않는 OpenShift CI 테스트가 발생했습니다. 이 문제는 workloadIsBeingUpdatedTooLong 오류가 반환된 후 progressing = false 설정을 제거하여 해결되었습니다. 이제 진행 중인 = false 상태가 없으므로 OpenShift CI 테스트가 더 일관되게 유지됩니다. (BZ#2111842)
베어 메탈 하드웨어 프로비저닝
  • 최근 버전의 서버 펌웨어에서는 서버 작업 간의 시간이 증가했습니다. 이로 인해 OpenShift Container Platform 설치 프로그램이 BMC(Baseboard Management Controller)에서 응답을 대기하는 경우 설치 관리자가 프로비저닝한 인프라 설치 중에 시간 초과가 발생합니다. 새로운 python3-sushy 릴리스에서는 서버 측에서 BMC에 연결하려고 시도하는 수를 늘립니다. 이번 업데이트에서는 연장된 대기 시간을 고려하여 설치 중에 시간 초과를 방지합니다. (OCPBUGS-4097)
  • 이번 업데이트 이전에는 Ironic 프로비저닝 서비스에서 엄격한 eTag 검증과 결합된 약한 eTags를 사용하는 BMC(Baseboard Management Controller)를 지원하지 않았습니다. 설계에 따라 BMC에서 약한 eTag를 제공하는 경우 Ironic은 약한 eTag를 지원하지 않는 BMC와의 호환성을 위해 원래 eTag와의 호환성을 위해 원래 eTags를 반환합니다. Ironic은 두 개의 eTags를 보낼 수 있지만 엄격한 eTag 검증을 사용하는 BMC는 두 번째 eTag가 존재하기 때문에 이러한 요청을 거부합니다. 그 결과 일부 이전 서버 하드웨어에서 베어 메탈 프로비저닝에 실패하고 HTTP 412 Precondition Failed 오류가 발생했습니다. OpenShift Container Platform 4.12 이상에서는 이러한 동작 변경 및 Ironic에서 약한 eTag가 제공되는 경우 더 이상 두 개의 eTags를 전송하지 않습니다. 대신 eTag 검증 오류와 함께 eTag에 의존하는 Redfish 요청이 실패하면 Ironic에서 알려진 해결 방법으로 요청을 다시 시도합니다. 따라서 엄격한 eTag 검증으로 머신에서 베어 메탈 프로비저닝 실패 위험을 최소화합니다. (OCPBUGS-3479)
  • 이번 업데이트 이전에는 Redfish 시스템에 설정 URI가 있는 경우 Ironic 프로비저닝 서비스에서 항상 이 URI를 사용하여 부팅 관련 BIOS 설정을 변경합니다. 그러나 BMC(Baseboard Management Controller)에 설정 URI가 있지만 이 설정 URI를 사용하여 특정 BIOS 설정 변경을 지원하지 않는 경우 베어 메탈 프로비저닝이 실패합니다. OpenShift Container Platform 4.12 이상에서 시스템에 설정 URI가 있는 경우 Ironic은 계속하기 전에 설정 URI를 사용하여 특정 BIOS 설정을 변경할 수 있는지 확인합니다. 그렇지 않으면 Ironic은 시스템 URI를 사용하여 변경 사항을 구현합니다. 이 추가 논리를 통해 Ironic에서 부팅 관련 BIOS 설정 변경 사항을 적용할 수 있으며 베어 메탈 프로비저닝이 성공할 수 있습니다. (OCPBUGS-2052)
빌드
클라우드 컴퓨팅
  • 이전에는 인스턴스가 자동 재시작을 위해 GCP 인프라 기본 옵션을 고려하지 않았습니다. 결과적으로 자동 재시작을 위해 인프라 기본값을 사용하지 않고 인스턴스를 생성할 수 있었습니다. 이로 인해 인스턴스가 GCP에서 종료되었지만 연결된 머신이 자동으로 다시 시작되지 않았기 때문에 Running 상태에 나열되어 있습니다. 이번 릴리스에서는 자동 재시작 옵션을 전달하는 코드가 개선되어 사용자의 기본 옵션 선택을 더 잘 감지하고 전달할 수 있습니다. 이제 인스턴스에서 인프라 기본값을 올바르게 사용하며 사용자가 기본 기능을 요청할 때 자동으로 다시 시작됩니다. (OCPBUGS-4504)
  • Kubernetes에서 PodDisruptionBudget 오브젝트의 v1beta1 버전이 더 이상 사용되지 않습니다. 이번 릴리스에서는 v1beta1 에 대한 내부 참조가 v1 로 교체됩니다. 이러한 변경은 클러스터 자동 스케일러 내부이며 OpenShift Container Platform 4.12 Red Hat 지식베이스 문서로 업그레이드 준비에 있는 지침 이외의 사용자 작업이 필요하지 않습니다. (OCPBUGS-1484)
  • 이전에는 GCP 머신 컨트롤러에서 10시간마다 머신 상태를 조정했습니다. 다른 공급자는 이 값을 10분으로 설정하여 Machine API 시스템 외부에서 발생하는 변경 사항이 짧은 기간 내에 감지됩니다. GCP의 조정 기간이 길어지면 외부 IP 주소가 추가되었지만 장기간 감지되지 않아 CSR(인증서 서명 요청) 승인과 같은 예기치 않은 문제가 발생할 수 있습니다. 이번 릴리스에서는 다른 플랫폼과 일치하도록 GCP 머신 컨트롤러가 10분마다 조정되도록 업데이트되어 외부 변경 사항을 더 빨리 선택할 수 있습니다. (OCPBUGS-4499)
  • 이전 버전에서는 Cluster Machine Approver Operator에 대한 배포 잘못된 구성으로 인해 TechPreviewNoUpgrade 기능 세트를 사용하면 오류가 발생하고 sporadic Operator degradation이 발생했습니다. TechPreviewNoUpgrade 기능 세트가 활성화된 클러스터에서는 Cluster Machine Approver Operator의 두 인스턴스를 사용하고 동일한 포트 세트를 사용한 배포 모두를 사용하므로 단일 노드 토폴로지에 오류가 발생하는 충돌이 있었습니다. 이번 릴리스에서는 다른 배포에 다른 포트 세트를 사용하도록 Cluster Machine Approver Operator 배포가 업데이트되었습니다. (OCPBUGS-2621)
  • 이전에는 Azure의 0 기능에서 스케일링이 정적으로 컴파일된 인스턴스 유형 목록을 사용하여 인스턴스 유형의 이름을 CPU 수 및 인스턴스 유형에 할당된 메모리 양으로 매핑했습니다. 이 목록은 시간이 지남에 따라 증가했습니다. 이 릴리스에서는 목록이 오래되지 않도록 Azure API에서 인스턴스 유형 크기에 대한 정보가 동적으로 수집됩니다. (OCPBUGS-2558)
  • 이전에는 Machine API 종료 처리기 Pod가 스팟 인스턴스에서 시작되지 않았습니다. 그 결과 테인트된 스팟 인스턴스에서 실행 중인 Pod에서 인스턴스가 종료되면 종료 신호가 수신되지 않았습니다. 이로 인해 워크로드 애플리케이션에서 데이터가 손실될 수 있습니다. 이번 릴리스에서는 테인트가 있는 Spot 인스턴스에서 실행되는 테인트 및 Pod를 허용하도록 Machine API 종료 처리기 배포가 수정되어 이제 종료 신호가 수신됩니다. (OCPBUGS-1274)
  • 이전에는 Azure 클러스터의 오류 메시지에서 내부 게시 전략만 사용하는 연결이 끊긴 설치의 공용 IP 주소로 새 머신을 생성할 수 없다고 설명하지 않았습니다. 이번 릴리스에서는 명확성 향상을 위해 오류 메시지가 업데이트되었습니다. (OCPBUGS-519)
  • 이전에는 Cloud Controller Manager Operator에서 AWS 클러스터의 cloud-config 구성 파일을 확인하지 않았습니다. 결과적으로 구성 파일을 사용하여 AWS 클라우드 컨트롤러 관리자 구성 요소에 추가 설정을 전달할 수 없었습니다. 이번 릴리스에서는 사용자가 추가 설정을 구성할 수 있도록 Cloud Controller Manager Operator가 인프라 리소스를 확인하고 cloud-config 구성 파일에 대한 참조를 구문 분석합니다. (BZ#2104373)
  • 이전에는 Azure에서 새 인스턴스 유형을 추가하고 이전에 없는 인스턴스 유형에 대한 네트워킹 지원을 가속화할 때 머신 컨트롤러의 Azure 인스턴스 목록이 오래되었습니다. 결과적으로 머신 컨트롤러는 Azure에서 이 기능을 지원하는 경우에도 이전에 가속 네트워킹을 지원하지 않는 인스턴스 유형으로 머신을 생성할 수 없었습니다. 이번 릴리스에서는 머신 컨트롤러가 새롭고 업데이트된 인스턴스 유형으로 머신을 생성할 수 있도록 머신을 최신 상태로 유지하기 전에 Azure API에서 필요한 인스턴스 유형 정보를 검색합니다. 이 수정은 나중에 추가된 모든 인스턴스 유형에도 적용됩니다. (BZ#2108647)
  • 이전 버전에서는 클러스터 자동 스케일러가 Cluster API 공급자를 사용할 때 CSI 드라이버의 AWS, IBM Cloud 및ECDHE Cloud 토폴로지 라벨을 고려하지 않았습니다. 그 결과 스케일 아웃 이벤트 중에 노드의 균형을 조정할 때 자동 스케일러가 토폴로지 라벨이 있는 노드가 제대로 처리되지 않았습니다. 이번 릴리스에서는 자동 스케일러의 사용자 지정 프로세서가 이 라벨을 준수하도록 업데이트됩니다. 자동 스케일러는 AWS, IBM Cloud 또는ECDHE CSI 라벨에 의해 라벨이 지정된 유사한 노드 그룹의 균형을 조정할 수 있습니다. (BZ#2001027)
  • 이전 버전에서는 Power VS 클라우드 공급자가 DHCP 서버에서 시스템 IP 주소를 가져올 수 없었습니다. IP 주소를 변경하면 노드가 업데이트되지 않아 보류 중인 인증서 서명 요청과 같은 일부 불일치가 발생했습니다. 이 릴리스에서는 노드의 IP 주소가 머신 IP 주소와 일치하도록 DHCP 서버에서 시스템 IP 주소를 가져오도록 Power VS 클라우드 공급자가 업데이트되었습니다. (BZ#2111474)
  • 이전에는 초기 버전의 OpenShift Container Platform에서 잘못된 구성으로 생성된 머신을 삭제할 수 없었습니다. 이번 릴리스에서는 잘못된 구성이 있는 머신 생성을 방지하는 Webhook에서 더 이상 유효하지 않은 머신이 삭제되지 않습니다. 이제 이러한 시스템의 종료자를 수동으로 제거하여 클러스터에서 이러한 시스템을 제거할 수 있습니다. (BZ#2101736)
  • 이전 버전에서는 NetworkManager 가 데몬으로 실행되지 않거나 연속 모드로 인해 시스템이 정지되어 초기 프로비저닝 중에 시스템이 중단되어 클러스터의 노드가 되지 않았습니다. 이번 릴리스에서는 머신이 이 상태로 유지되면 자동으로 삭제되고 다시 생성되도록 추가 검사가 추가되었습니다. 이 네트워크 조건의 영향을 받는 머신은 머신 API 컨트롤러에서 재부팅한 후 노드가 될 수 있습니다. (BZ#2115090)
  • 이전에는 IBM Cloud에 존재하지 않는 머신 프로필을 사용하여 새 머신 리소스를 생성할 때 머신이 프로비저닝 단계에 있게 되었습니다. 이번 릴리스에서는 머신 프로필이 있는지 확인하기 위해 IBM Cloud Machine API 공급자에 검증이 추가되고 Machine API에서 잘못된 머신 프로필이 있는 머신을 거부합니다. (BZ#2062579)
  • 이전에는 AWS의 Machine API 공급자가 머신 사양에 정의된 보안 그룹이 존재하는지 확인하지 않았습니다. 이 경우 오류를 반환하는 대신 OpenShift Container Platform 머신에는 사용할 수 없는 기본 보안 그룹을 사용하고 사용자에게 default 그룹을 사용했음을 알리지 않고 시스템을 성공적으로 생성했습니다. 이번 릴리스에서는 머신 사양에 잘못된 또는 빈 보안 그룹 이름을 설정한 경우 Machine API에서 오류를 반환합니다. (BZ#2060068)
  • 이전에는 Machine API 공급자 Azure에서 인스턴스 유형의 사용자 제공 값을 대소문자를 구분함으로 처리하지 않았습니다. 이로 인해 인스턴스 유형이 올바르지만 케이스와 일치하지 않는 경우 false-positive 오류가 발생했습니다. 이번 릴리스에서는 일치하지 않는 케이스에 대한 잘못된 오류 없이 올바른 결과를 얻을 수 있도록 인스턴스 유형이 소문자로 변환됩니다. (BZ#2085390)
  • 이전에는 오브젝트에 액세스를 시도하기 전에 머신 오브젝트의 주석에 nil 값을 확인하지 않았습니다. 이 상황은 드물지만 머신을 조정할 때 머신 컨트롤러가 패닉 상태가되었습니다. 이번 릴리스에서는 nil 값을 확인하고 머신 컨트롤러에서 주석 없이 머신을 조정할 수 있습니다. (BZ#2106733)
  • 이전 버전에서는 클러스터 CPU 및 메모리 사용량에 대한 클러스터 자동 스케일러 메트릭이 ClusterAutoscaler 리소스에서 설정한 제한에 도달하거나 초과하지 않았습니다. 그 결과 리소스 제한으로 인해 클러스터 자동 스케일러를 확장할 수 없는 경우 경고가 실행되지 않았습니다. 이번 릴리스에서는 리소스 제한에 도달하거나 초과할 시기를 보다 정확하게 감지하기 위해 cluster_autoscaler_skipped_scale_events_count 라는 새 메트릭이 클러스터 자동 스케일러에 추가되었습니다. 이제 클러스터 리소스 제한에 도달했기 때문에 클러스터 자동 스케일러가 클러스터를 확장할 수 없는 경우 경고가 실행됩니다. (BZ#1997396)
  • 이전 버전에서는 머신 API 공급자가 머신 IP 주소를 가져오지 못하면 내부 DNS 이름을 설정하지 않았으며 시스템 인증서 서명 요청이 자동으로 승인되지 않았습니다. 이 릴리스에서는 IP 주소를 가져오지 못하더라도 서버 이름을 내부 DNS 이름으로 설정하도록 Power VS 시스템 공급자가 업데이트되었습니다. (BZ#2111467)
  • 이전에는 머신 API vSphere 머신 컨트롤러에서 VM을 복제할 때 PowerOn 플래그를 설정했습니다. 이로 인해 머신 컨트롤러가 인식하지 못한 PowerOn 작업이 생성되었습니다. PowerOn 작업이 실패하면 시스템이 프로비저닝 단계에 있지만 전원이 켜지지 않았습니다. 이 릴리스에서는 문제를 방지하도록 복제 시퀀스가 변경되었습니다. 또한 머신 컨트롤러에서 오류가 발생한 경우 VM의 전원 켜기를 다시 시도합니다. (BZ#2087981, OCPBUGS-954)
  • 이번 릴리스에서는 AWS 보안 그룹은 생성 후 즉시 태그됩니다. 즉, AWS로 전송되는 요청은 줄어들고 필요한 사용자 권한이 줄어듭니다. (BZ#2098054, OCPBUGS-3094)
  • 이전에는 RHOSP 레거시 클라우드 공급자의 버그로 인해 인증이 실패한 후 특정 RHOSP 작업이 시도되면 충돌이 발생했습니다. 예를 들어 서버를 종료하면 Kubernetes 컨트롤러 관리자가 RHOSP에서 서버 정보를 가져와서 이 버그를 트리거했습니다. 그 결과 초기 클라우드 인증이 실패하거나 잘못 구성된 경우 서버를 종료하면 Kubernetes 컨트롤러 관리자가 충돌했습니다. 이번 릴리스에서는 RHOSP 레거시 클라우드 공급자가 이전에 인증되지 않은 경우 RHOSP API 호출을 시도하지 않도록 업데이트되었습니다. 이제 잘못된 클라우드 인증 정보를 사용하여 서버를 종료하면 Kubernetes 컨트롤러 관리자가 더 이상 충돌하지 않습니다. (BZ#2102383)
개발자 콘솔
  • 이전 버전에서는 openshift-config 네임스페이스가 ProjectHelmChartRepository 사용자 정의 리소스의 동일한 네임스페이스인 HelmChartRepository 사용자 정의 리소스에 대해 하드 코딩되었습니다. 이로 인해 사용자가 원하는 네임스페이스에 개인 ProjectHelmChartRepository 사용자 정의 리소스를 추가하지 못했습니다. 결과적으로 사용자가 openshift-config 네임스페이스의 시크릿 및 구성 맵에 액세스할 수 없었습니다. 이번 업데이트에서는 올바른 권한이 있는 사용자가 선택한 네임스페이스에서 시크릿 및 구성 맵을 읽을 수 있는 namespace 필드를 사용하여 ProjectHelmChartRepository 사용자 정의 리소스 정의를 수정합니다. 또한 사용자는 액세스 가능한 네임스페이스에 시크릿 및 구성 맵을 추가할 수 있으며, 생성 리소스를 사용하는 네임스페이스에 개인 Helm 차트 리포지터리를 추가할 수 있습니다. (BZ#2071792)
이미지 레지스트리
  • 이전에는 이미지 트리거 컨트롤러에 오브젝트를 변경할 수 있는 권한이 없었습니다. 결과적으로 이미지 트리거 주석이 일부 리소스에서 작동하지 않았습니다. 이번 업데이트에서는 컨트롤러에 주석에 따라 오브젝트를 업데이트하는 데 필요한 권한을 제공하는 클러스터 역할 바인딩을 생성합니다. (BZ#2055620)
  • 이전에는 Image Registry Operator에 node-ca 데몬 세트에 대한 진행 조건이 없고 잘못된 오브젝트의 생성 을 사용했습니다. 결과적으로 Operator가 계속 실행되는 동안 node-ca 데몬 세트가 degraded 로 표시될 수 있었습니다. 이번 업데이트에서는 설치가 완료되지 않았음을 나타내는 진행 조건이 추가되었습니다. 결과적으로 Image Registry Operator가 node-ca 데몬 세트를 성공적으로 설치하고 설치 프로그램이 완전히 배포될 때까지 기다립니다. (BZ#2093440)
설치 프로그램
  • 이전 버전에서는 지원되는 사용자 정의 태그 수가 8이었으며 예약된 OpenShift Container Platform 태그는 AWS 리소스에 대해 2였습니다. 이번 릴리스에서는 지원되는 사용자 정의 태그 수가 25개이며 예약된 OpenShift Container Platform 태그는 AWS 리소스의 경우 25개입니다. 이제 설치 중에 최대 25개의 사용자 태그를 추가할 수 있습니다. (CFE#592)
  • 이전에는 Amazon Web Services에 클러스터를 설치한 다음 IAM 관리 사용자에게 s3:GetBucketPolicy 권한이 할당되지 않은 경우 실패했습니다. 이번 업데이트에서는 설치 프로그램이 필요한 모든 권한이 할당되도록 설치 프로그램이 사용하는 검사 목록에 이 정책을 추가합니다. 결과적으로 설치 프로그램에서 IAM 관리 사용자에게 s3:GetBucketPolicy 권한이 누락되었음을 경고하여 설치를 중지합니다. (BZ#2109388)
  • 이전 버전에서는 Azure DCasv5 시리즈 또는 DCadsv5 시리즈의 기밀 VM이 컨트롤 플레인 노드로 지정되면 Microsoft Azure에 클러스터를 설치하지 못했습니다. 이번 업데이트를 통해 이제 설치 프로그램에서 기밀 VM이 아직 지원되지 않는 오류와 함께 설치를 중지합니다. (BZ#2055247)
  • 이전에는 컨트롤 플레인 시스템이 실행될 때까지 부트스트랩 로그를 수집할 수 없었습니다. 이번 업데이트를 통해 이제 부트스트랩 로그를 수집하려면 부트스트랩 시스템을 사용할 수 있어야 합니다. (BZ#2105341)
  • 이전에는 서비스 계정에 충분하지 않은 권한이 있었기 때문에 클러스터를 Google Cloud Platform에 설치하지 못한 경우 오류 메시지가 실패 원인으로 언급되지 않았습니다. 이번 업데이트에서는 오류 메시지가 개선되어 이제 사용자에게 서비스 계정에 할당된 권한을 확인하도록 지시합니다. (BZ#2103236)
  • 이전에는 잘못된 GCP 리전을 지정했기 때문에 GCP(Google Cloud 공급자)에 설치가 실패한 경우 오류 메시지가 실패 원인으로 표시되지 않았습니다. 이번 업데이트에서는 오류 메시지가 개선되어 이제 리전이 유효하지 않습니다. (BZ#2102324)
  • 이전 버전에서는 Hive를 사용한 클러스터 설치에 이전 버전의 install-config.yaml 파일을 사용하는 경우 실패할 수 있었습니다. 이번 업데이트를 통해 설치 프로그램에서 Hive에서 제공하는 이전 버전의 install-config.yaml 파일을 허용할 수 있습니다. (BZ#2098299)
  • 이전에는 설치 프로그램에서 약어 형식으로 주소를 나열하는 것과 같이 주소가 다르게 표시되는 경우 apiVIPingressVIP 매개변수가 동일한 IPv6 주소를 사용하도록 잘못 허용했습니다. 이번 업데이트에서는 설치 프로그램이 포맷에 관계없이 이러한 두 매개 변수의 유효성을 올바르게 검증하므로 각 매개변수에 대해 별도의 IP 주소가 필요합니다. (BZ#2103144)
  • 이전 버전에서는 설치 프로그램을 사용하여 클러스터를 제거하면 클러스터 이름이 22자를 초과하면 GCP에 설치된 클러스터의 모든 리소스가 삭제되지 않았습니다. 이번 업데이트에서는 설치 프로그램을 사용하여 클러스터를 설치 제거할 때 클러스터 이름이 긴 경우 모든 GCP 클러스터 리소스를 올바르게 찾고 삭제합니다. (BZ#2076646)
  • 이전에는 machineNetwork 매개변수에 정의된 여러 네트워크를 사용하여 RHOSP(Red Hat OpenStack Platform)에 클러스터를 설치할 때 설치 프로그램에서 첫 번째 네트워크에 대한 보안 그룹 규칙만 생성했습니다. 이번 업데이트를 통해 설치 프로그램은 machineNetwork 에 정의된 모든 네트워크에 대한 보안 그룹 규칙을 생성하여 사용자가 설치 후 보안 그룹 규칙을 수동으로 편집할 필요가 없도록 합니다. (BZ#2095323)
  • 이전에는 OpenStack에 클러스터를 설치할 때 API 및 Ingress 가상 IP 주소를 DHCP 서버의 할당 풀과 충돌하는 값으로 수동으로 설정할 수 있었습니다. 이로 인해 DHCP 서버가 새 머신에 VIP 주소 중 하나를 할당하면 시작되지 않을 수 있습니다. 이번 업데이트에서 설치 프로그램은 사용자가 제공한 VIP 주소의 유효성을 확인하여 DHCP 풀과 충돌하지 않는지 확인합니다. (BZ#1944365)
  • 이전에는 폴더에 포함된 데이터 센터를 사용하여 vSphere에 클러스터를 설치할 때 설치 프로그램에서 데이터 센터 오브젝트를 찾을 수 없어 설치에 실패할 수 있었습니다. 이번 업데이트에서 설치 프로그램은 datacenter 오브젝트가 포함된 디렉터리를 트래버스하여 설치를 성공적으로 수행할 수 있습니다. (BZ#2097691)
  • 이전에는 설치 관리자 프로비저닝 인프라가 있는 ARM64 아키텍처를 사용하여 Azure에 클러스터를 설치할 때 hyperVGeneration V1의 이미지 정의 리소스에 아키텍처 값이 x64 가 잘못되었습니다. 이번 업데이트를 통해 hyperVGeneration V1의 이미지 정의 리소스에는ECDHE 64 의 올바른 아키텍처 값이 있습니다. (OCPBUGS-3639)
  • 이전에는 VMware vSphere에 클러스터를 설치할 때 사용자가 install-config.yaml 파일의 failureDomain 섹션에 사용자 정의 폴더를 지정한 경우 설치에 실패할 수 있었습니다. 이번 업데이트를 통해 설치 프로그램은 install-config.yaml 파일의 failureDomain 섹션에 있는 사용자 정의 폴더의 유효성을 올바르게 검증합니다. (OCPBUGS-3343)
  • 이전에는 VMware vSphere에서 설치에 실패한 후 부분적으로 배포된 클러스터를 삭제할 때 일부 가상 머신 폴더가 삭제되지 않았습니다. 이 오류는 여러 vSphere 데이터 센터 또는 여러 vSphere 클러스터로 구성된 클러스터에서 발생할 수 있습니다. 이번 업데이트를 통해 설치 실패 후 부분적으로 배포된 클러스터를 제거할 때 모든 설치 관리자 프로비저닝 인프라가 올바르게 삭제됩니다. (OCPBUGS-1489)
  • 이전 버전에서는 VMware vSphere에 클러스터를 설치할 때 사용자가 platform.vsphere.vcenters 매개변수를 지정했지만 install-config.yaml 파일에 platform.vsphere.failureDomains.topology.networks 매개변수를 지정하지 않은 경우 설치에 실패했습니다. 이번 업데이트를 통해 설치 프로그램은 platform.vsphere.failureDomains.topology.networks 필드를 지정하는 경우 사용자에게 platform.vsphere.vcenters 임을 알립니다. (OCPBUGS-1698)
  • 이전에는 VMware vSphere에 클러스터를 설치할 때 platform.vsphere.vcentersplatform.vsphere.failureDomains 매개변수를 정의했지만 platform.vsphere.defaultMachinePlatform.zones, 또는 compute.platform.vsphere.zonescontrolPlane.platform.vsphere.zones 를 정의하지 않은 경우 설치에 실패했습니다. 이번 업데이트를 통해 설치 프로그램에서 사용자가 설치 전에 다중 영역 또는 다중 영역 배포에 zones 매개변수를 정의한지 확인합니다. (OCPBUGS-1490)
Kubernetes 컨트롤러 관리자
  • 이전에는 Kubernetes Controller Manager Operator가 모니터링 스택이 없는 환경에서 성능이 저하된 것으로 보고되었습니다. 이번 업데이트를 통해 모니터링 스택이 없을 때 Kubernetes Controller Manager Operator에서 성능 저하에 대한 모니터링을 건너뜁니다. (BZ#2118286)
  • 이번 업데이트를 통해 Kubernetes Controller Manager 경고(KubeControllerManagerDown,PodDisruptionBudgetAtLimit,PodDisruptionBudgetLimit, GarbageCollectorSyncFailed)에 Github runbook에 대한 링크가 있습니다. runbook은 사용자가 이러한 경고를 디버깅하는 데 도움이 됩니다. (BZ#2001409)
Kubernetes 스케줄러
  • 이전 버전에서는 보조 스케줄러 사용자 정의 리소스가 삭제된 후 보조 스케줄러 배포가 삭제되지 않았습니다. 그 결과 Secondary Schedule Operator 및 Operand가 완전히 제거되지 않았습니다. 이번 업데이트를 통해 보조 스케줄러 사용자 정의 리소스에 올바른 소유자 참조가 설정되어 보조 스케줄러 배포를 가리킵니다. 결과적으로 보조 스케줄러 사용자 정의 리소스가 삭제되면 보조 스케줄러 배포가 삭제됩니다. (BZ#2100923)
  • OpenShift Container Platform 4.12 릴리스의 경우 Descheduler는 릴리스가 Descheduler의 프로필에 추가 RBAC(역할 기반 액세스 제어) 규칙을 추가하므로 API 그룹에 이벤트를 게시할 수 있습니다. (OCPBUGS-2330)
Machine Config Operator
  • 이전에는 중요한 인증서가 포함된 MCO(Machine Config Operator) ControllerConfig 리소스가 Operator의 데몬 동기화에 성공한 경우에만 동기화되었습니다. 데몬 동기화 중에 준비되지 않은 노드를 설계하면 데몬이 성공적으로 동기화되지 않으므로 준비되지 않은 노드가 간접적으로 ControllerConfig 리소스가 동기화되지 않아 해당 인증서가 동기화되지 않습니다. 이로 인해 ControllerConfig 리소스에 포함된 인증서를 순환할 수 없기 때문에 준비되지 않은 노드가 있는 경우 클러스터 성능이 저하되었습니다. 이번 릴리스에서는 ControllerConfig 리소스 동기화가 데몬 동기화에 더 이상 의존하지 않으므로 데몬 동기화에 실패해도 ControllerConfig 리소스가 계속 동기화됩니다. 즉, 준비되지 않은 노드는 더 이상 ControllerConfig 리소스가 동기화되지 않으므로 준비되지 않은 노드가 있는 경우에도 인증서가 계속 업데이트됩니다. (BZ#2034883)
관리 콘솔
  • 이전 버전에서는 Operator 세부 정보 페이지에서 여러 오류 메시지를 표시하려고 했지만 오류 메시지 구성 요소에는 한 번에 하나의 오류 메시지만 표시할 수 있었습니다. 그 결과 관련 오류 메시지가 표시되지 않았습니다. 이번 업데이트를 통해 Operator 세부 정보 페이지에 첫 번째 오류 메시지만 표시되므로 사용자에게 관련 오류가 표시됩니다. (OCPBUGS-3927)
  • 이전에는 CCO(Customer Case Management)에서 Azure Red Hat OpenShift의 제품 이름이 올바르지 않았습니다. 그 결과 콘솔에서 동일한 잘못된 제품 이름을 사용하여 CCM에 필드를 올바르게 채워야 했습니다. CCM의 제품 이름이 업데이트되면 콘솔도 업데이트해야 합니다. 이번 업데이트를 통해 콘솔에서 링크를 따를 때 CCM과 올바른 제품 이름이 올바른 Azure 제품 이름으로 올바르게 채워집니다. (OCPBUGS-869)
  • 이전 버전에서는 플러그인 페이지에 오류가 발생할 때 오류 페이지에서 벗어나면 오류가 재설정되지 않았으며 오류 원인이 아닌 페이지로 이동한 후 오류가 유지되었습니다. 이번 업데이트를 통해 사용자가 새 페이지로 이동하면 오류 상태가 기본값으로 재설정되고 새 페이지로 이동한 후에는 오류가 더 이상 유지되지 않습니다. (BZ#2117738, OCPBUGS-523)
  • 이전 버전에서는 설치된 Operator의 Operator 세부 정보 창에 있는 View it here 링크가 모든 네임스페이스 를 선택할 때 잘못 빌드되었습니다. 그 결과 링크가 모든 프로젝트의 CSV(클러스터 서비스 버전)의 Operator 세부 정보 페이지로 이동하려고 했습니다. 이는 잘못된 경로입니다. 이번 업데이트를 통해 CSV가 설치된 네임스페이스를 사용할 수 있는 View it here 링크가 올바르게 빌드되고 링크가 예상대로 작동합니다. (OCPBUGS-184)
  • 이전 버전에서는 5개 이상의 숫자가 있는 줄 숫자로 인해 라인 번호가 줄 번호와 라인 콘텐츠 간에 수직 분할기를 초과하여 읽기가 어려워졌습니다. 이번 업데이트를 통해 줄 번호에 사용할 수 있는 공간이 증가하여 더 긴 줄 번호를 설명하고 줄번호는 더 이상 수직 분할기를 오버레이하지 않습니다. (OCPBUGS-183)
  • 이전에는 웹 콘솔의 관리자 관점에서 Cluster Settings 페이지의 기본 업데이트 서버 팝업 창에 있는 OpenShift 로컬 업데이트서비스에 대한 더 많은 정보가 404 오류가 발생했습니다. 이번 업데이트를 통해 링크가 예상대로 작동합니다. (BZ#2098234)
  • 이전에는 MatchExpression 구성 요소에서 배열 유형 값을 고려하지 않았습니다. 결과적으로 이 구성 요소를 사용하여 폼을 통해 단일 값만 입력할 수 있었습니다. 이번 업데이트를 통해 MatchExpression 구성 요소에는 쉼표로 구분된 값을 배열로 사용할 수 있습니다. (BZ#207690)
  • 이전 버전에서는 모델을 중복 점검하여 탭을 다시 로드하고 이로 인해 다시 렌더링된 탭 내용이 손상될 수 있었습니다. 이번 업데이트를 통해 중복 모델 점검이 제거되었으며 모델은 한 번만 확인됩니다. 결과적으로 탭 콘텐츠는 flicker가 아니며 더 이상 다시 렌더링되지 않습니다. (BZ#2037329)
  • 이전 버전에서는 OpenShift Dedicated 노드 페이지의 작업 목록에서 edit 레이블을 선택할 때 응답이 일치하지 않았으며 웹 후크 오류가 반환되었습니다. 이 문제는 편집에 실패할 때만 오류 메시지가 반환되도록 수정되었습니다. (BZ#2102098)
  • 이전에는 문제가 보류 중인 경우 Insights 링크를 클릭하면 페이지가 충돌했습니다. 이 문제를 해결하려면 Insights 링크를 클릭하기 전에 변수가 초기화 될 때까지 기다릴 수 있습니다. 결과적으로 Insights 페이지가 예상대로 열립니다. (BZ#2052662)
  • 이전 버전에서는 MachineConfigPool 리소스가 일시 중지되면 일시 중지 해제 옵션에서 Resume rollouts 가 표시되었습니다. 이 단어가 업데이트되어 이제 Resume 업데이트가 표시되도록 업데이트되었습니다. (BZ#2094240)
  • 이전에는 마스터 및 작업자 노드를 계산할 때 잘못된 계산 방법이 사용되었습니다. 이번 업데이트를 통해 노드에 마스터 및 작업자 역할이 모두 있는 경우 올바른 작업자 노드가 계산됩니다. (BZ#1951901)
  • 이전 버전에서는 ImageManifestVulnreact-router 경로가 충돌하면 ~ 이름으로 ImageManifestVuln 의 세부 정보 페이지가 렌더링되었습니다. 이제 충돌하는 경로를 제거하고 Operator 세부 정보 페이지에서 동적 목록 및 세부 정보 페이지 확장 기능이 사용되도록 컨테이너 보안 플러그인이 업데이트되었습니다. 결과적으로 콘솔에서 ImageManifestVuln 의 올바른 생성, 목록 및 세부 정보 페이지를 렌더링합니다. (BZ#2080260)
  • 이전에는 불완전한 YAML이 사용자에게 동기화되지 않은 경우가 있었습니다. 이번 업데이트를 통해 동기화된 YAML이 항상 표시됩니다. (BZ#2084453)
  • 이전 버전에서는 사용하기 위해 CR(사용자 정의 리소스)을 생성해야 하는 Operator를 설치할 때 잘못된 네임스페이스를 가리켰기 때문에 Create resource button이 CR을 설치하지 못할 수 있었습니다. 이번 업데이트를 통해 리소스 생성 버튼이 예상대로 작동합니다. (BZ#2094502)
  • 이전에는 Cluster 업데이트 모달에 오류가 제대로 표시되지 않았습니다. 이로 인해 Cluster 업데이트 모달이 발생했을 때 오류를 표시하거나 설명하지 않았습니다. 이번 업데이트를 통해 Cluster Update modal에서 오류가 올바르게 표시됩니다. (BZ#2096350)
모니터링
  • 이번 업데이트 이전에는 클러스터 관리자가 예약 문제와 kubelet에서 시작할 수 없기 때문에 준비되지 않은 Pod를 구분할 수 없었습니다. 두 경우 모두 KubePodNotReady 경고가 실행됩니다. 이번 업데이트를 통해 예약 문제로 인해 Pod가 준비되지 않은 경우 KubePodNotScheduled 경고가 실행되고 kubelet에서 시작할 수 없기 때문에 Pod가 준비되지 않은 경우 KubePodNotReady 경고가 실행됩니다. (OCPBUGS-4431)
  • 이번 업데이트 이전에는 node_exporter 에서 tun 인터페이스, br 인터페이스, ovn-k8s-mp 인터페이스와 같은 가상 네트워크 인터페이스에 대한 지표를 보고합니다. 이번 업데이트를 통해 이러한 가상 인터페이스 지표가 더 이상 수집되지 않아 모니터링 리소스 사용량이 줄어듭니다. (OCPBUGS-1321)
  • 이번 업데이트 이전에는 DNS 확인 속도가 느리고 Alertmanager Pod가 시작되지 않아 Alertmanager pod 시작 시간이 초과될 수 있습니다. 이번 릴리스에서는 시간 초과 값이 7분으로 증가하여 Pod 시작 시간이 초과되지 않습니다. (BZ#2083226)
  • 이번 업데이트 이전에는 Prometheus Operator가 Prometheus Pod를 실행하거나 예약하지 못한 경우 시스템에서 오류에 대한 근본적인 이유를 제공하지 않았습니다. 이번 업데이트를 통해 Prometheus Pod가 실행되거나 예약되지 않는 경우 Cluster Monitoring Operator는 기본 문제를 해결하는 데 사용할 수 있는 오류로 clusterOperator 모니터링 상태를 업데이트합니다. (BZ#2043518)
  • 이번 업데이트 이전에는 OpenShift Container Platform 웹 콘솔의 개발자 관점에서 경고 음소거를 생성한 경우 경고와 일치하지 않는 외부 라벨이 포함되었습니다. 따라서 경고는 음소거되지 않았습니다. 이번 업데이트를 통해 이제 개발자 화면에서 음소거를 생성할 때 외부 레이블이 제외되어 새로 생성된 음소거가 예상대로 작동합니다. (BZ#2084504)
  • 이전 버전에서는 사용자 정의 프로젝트 전용 Alertmanager 인스턴스를 활성화하면 특정 상황에서 잘못된 구성이 발생할 수 있으며 사용자 정의 프로젝트 Alertmanager 구성 맵 설정이 기본 Alertmanager 인스턴스 또는 사용자 정의 프로젝트 전용 인스턴스에 로드되지 않았음을 알 수 없었습니다. 이번 릴리스에서는 이 잘못된 구성이 발생하면 Cluster Monitoring Operator에 문제를 알리고 해결 단계를 제공하는 메시지가 표시됩니다. (BZ#2099939)
  • 이번 업데이트 이전에는 CMO(Cluster Monitoring Operator)가 Prometheus를 업데이트하지 못한 경우 CMO에서 이전 배포가 실행 중인지 여부를 확인하지 않고 Prometheus Pod 중 하나가 여전히 실행 중인 경우에도 클러스터 모니터링을 사용할 수 없다고 보고했습니다. 이번 업데이트를 통해 이제 CMO에서 이 상황에서 Prometheus Pod가 실행 중인지 확인하고 Prometheus Pod가 실행되지 않는 경우에만 클러스터 모니터링을 사용할 수 없다고 보고합니다. (BZ#2039411)
  • 이번 업데이트 이전에는 OpsGenie를 경고 수신자로 구성한 경우 api_keyapi_key_file 이 상호 배타적이며 api_key 가 우선합니다. api_key_file 이 정의되지 않은 경우에도 이 경고가 표시됩니다. 이번 업데이트를 통해 api_keyapi_key_file 을 둘 다 정의한 경우에만 이 경고가 로그에 표시됩니다. (BZ#2093892)
  • 이 업데이트 이전에는 Telemeter Client(ECDHE)에서 수동으로 다시 시작할 때만 새 풀 시크릿을 로드했습니다. 따라서 풀 시크릿이 변경되거나 업데이트되고 TC가 다시 시작되지 않은 경우 TC는 서버에 인증하지 못했습니다. 이번 업데이트에서는 보안이 순환될 때 배포가 자동으로 다시 시작되고 업데이트된 토큰을 사용하여 인증할 수 있도록 이 문제가 해결되었습니다. (BZ#2114721)
네트워킹
  • 이전 버전에서는 종료 상태에 있는 라우터가 Pod가 종료될 때까지 oc adm must-gather 명령을 지연하는 oc cp 명령을 지연했습니다. 이번 업데이트를 통해 발행된 각 oc cp 명령의 타임아웃이 must-gather 명령이 실행되지 않도록 설정됩니다. 결과적으로 Pod를 종료하면 더 이상 must-gather 명령을 지연하지 않습니다. (BZ#2103283)
  • 이전 버전에서는 Private 끝점 게시 전략 유형 및 PROXY 프로토콜을 둘 다 사용하여 Ingress 컨트롤러를 구성할 수 없었습니다. 이번 업데이트를 통해 이제 프라이빗 끝점 게시 전략 유형과 PROXY 프로토콜을 모두 사용하여 Ingress 컨트롤러를 구성할 수 있습니다. (BZ#2104481)
  • 이전에는 routeSelector 매개변수에서 라우터 배포 전에 Ingress 컨트롤러의 경로 상태를 삭제했습니다. 이로 인해 경로 상태가 잘못 입력되었습니다. 오래된 데이터를 사용하지 않도록 경로 상태 탐지가 더 이상 Kubernetes 오브젝트 캐시를 사용하지 않도록 업데이트되었습니다. 또한 이 업데이트에서는 경로 상태를 확인하기 위해 경로 배포에서 생성 ID를 확인하는 수정 사항이 포함되어 있습니다. 결과적으로 routeSelector 업데이트를 통해 경로 상태가 일관되게 지워집니다. (BZ#2101878)
  • 이전 버전에서는 4.8 이전 버전의 OpenShift Container Platform에서 업그레이드된 클러스터는 Route 오브젝트를 분리할 수 있었습니다. 이는 Ingress 오브젝트가 표시된 Ingress 개체의 표시된 Ingress Class 와 관계없이 Ingress 오브젝트를 Route 오브젝트로 변환하는 이전 버전의 OpenShift Container Platform으로 인해 발생했습니다. 이번 업데이트를 통해 Ingress-to-Route 변환 후에도 클러스터에 계속 존재하는 고립된 Route 오브젝트에 대한 경고가 클러스터 관리자에게 전송됩니다. 이번 업데이트에서는 IngressClass 를 지정하지 않는 Ingress 오브젝트에 대해 클러스터 관리자에게 알리는 또 다른 경고가 추가되었습니다. (BZ#1962502)
  • 이전 버전에서는 라우터 배포에 종속된 configmap 이 생성되지 않으면 라우터 배포가 진행되지 않습니다. 이번 업데이트를 통해 기본 Ingress 컨트롤러 배포가 진행 중인 경우 클러스터 Operator에서 ingress progressing=true 를 보고합니다. 이로 인해 oc get co 명령을 사용하여 Ingress 컨트롤러에서 문제를 디버깅할 수 있습니다. (BZ#2066560)
  • 이전 버전에서는 OVN-Kubernetes 캐시에 잘못 생성된 네트워크 정책이 추가되면 OVN-Kubernetes 리더가 crashloopbackoff 상태에 진입했습니다. 이번 업데이트를 통해 OVN-Kubernetes 리더는 nil 정책 삭제를 생략하여 crashloopbackoff 상태를 입력하지 않습니다. (BZ#2091238)
  • 이전 버전에서는 동일한 네임스페이스 또는 이름으로 이전 네임스페이스 또는 이름을 삭제한 후 60초 이내에 동일한 네임스페이스 또는 이름으로 EgressIP Pod를 다시 생성하면 잘못된 SNAT가 구성됩니다. 결과적으로 패킷이 EgressIP SNAT 대신 nodeIP로 표시될 수 있었습니다. 이번 업데이트를 통해 트래픽은 nodeIP 대신 EgressIP를 사용하여 Pod를 유지합니다. (BZ#2097243).
  • 이전에는 arp 에서 arp 로 ACL의 변경으로 인해 예기치 않게 생성된 ACL (arp v/s arp||nd) 오류를 가진 이전 ACL (ACL) 오류가 발생했습니다. 이로 인해 네트워크 정책이 제대로 생성되지 않았습니다. 이번 업데이트를 통해 새로운 arp II nd 일치 항목이 있는 ACL만 제거되어 네트워크 정책을 올바르게 생성할 수 있고 ovnkube-master 에서 오류가 발생하지 않도록 합니다. 참고: 이는 고객은 이전 버전에서 4.8.14, 4.9.32, 4.10.13 이상으로 업그레이드합니다. (BZ#2095852).
  • 이번 업데이트를 통해 CoreDNS가 Kubernetes 1.25를 기반으로 하는 버전 1.10.0으로 업데이트되었습니다. 이렇게 하면 쿠버네티스 1.25를 기반으로 하는 CoreDNS 버전과 OpenShift Container Platform 4.12가 모두 서로 일치합니다. (OCPBUGS-1731)
  • 이번 업데이트를 통해 OpenShift Container Platform 라우터는 이제 Kubernetes 1.25를 지원하는 k8s.io/client-go 버전 1.25.2를 사용합니다. 이렇게 하면 쿠버네티스 1.25를 기반으로 하는 openshift-router 및 OpenShift Container Platform 4.12가 모두 서로 일치합니다. (OCPBUGS-1730)
  • 이번 업데이트를 통해 Ingress Operator는 이제 Kubernetes 1.25를 지원하는 k8s.io/client-go 버전 1.25.2를 사용합니다. 이렇게 하면 Kubernetes 1.25를 기반으로 하는 Ingress Operator와 OpenShift Container Platform 4.12가 모두 서로 일치합니다. (OCPBUGS-1554)
  • 이전에는 DNS Operator에서 openshift-dns 네임스페이스를 조정하지 않았습니다. OpenShift Container Platform 4.12에는 openshift-dns 네임스페이스에 pod-security 라벨이 필요하므로 클러스터 업데이트 시 네임스페이스가 해당 라벨이 누락되었습니다. pod-security 레이블이 없으면 Pod를 시작하지 못했습니다. 이번 업데이트를 통해 DNS Operator가 openshift-dns 네임스페이스를 조정하며 pod-security 라벨이 표시됩니다. 결과적으로 Pod가 예상대로 시작됩니다. (OCPBUGS-1549)
  • 이전 버전에서는 Ingress Operator가 내부적으로 지정된 값을 밀리초로 변환하기 때문에 ingresscontroller.spec.tuniningOptions.reloadInterval 에서 10진수 숫자를 유효한 매개변수 값으로 지원하지 않았습니다. 이로 인해 Ingress 컨트롤러가 삭제되지 않았습니다. 이번 업데이트를 통해 ingresscontroller.spec.tuningOptions.reloadInterval 이 10진수 지원되고 사용자가 이전에 지원되지 않는 reloadInterval 매개변수 값을 사용하여 Ingress 컨트롤러를 삭제할 수 있습니다. (OCPBUGS-236)
  • 이전에는 Cluster DNS Operator에서 OpenShift Container Platform 4.12가 Kubernetes 1.25를 기반으로 하는 동안 Kubernetes 1.24를 기반으로 하는 GO Kubernetes 라이브러리를 사용했습니다. 이번 업데이트를 통해 GO Kubernetes API는 v1.25.2로, Kubernetes 1.25 API를 사용하는 OpenShift Container Platform 4.12와 Cluster DNS Operator를 정렬합니다. (링크: OCPBUGS-1558)
  • 이전 버전에서는 network-operator pod를 다시 생성할 때 disableNetworkDiagnostics 구성을 true 로 설정하지 않았습니다. 이번 업데이트를 통해 네트워크 operator.openshift.io/clusterdisableNetworkDiagnostics 구성 속성이 네트워크 Operator를 다시 시작한 후 기본값으로 재설정되지 않습니다. (OCPBUGS-392)
  • 이전에는 ovn-kubernetesbr-ex 브릿지에서 본딩된 인터페이스의 올바른 MAC 주소를 구성하지 않았습니다. 결과적으로 기본 Kubernetes 인터페이스에 본딩을 사용하는 노드가 클러스터에 참여하지 못합니다. 이번 업데이트를 통해 ovn-kubernetesbr-ex 브리지에서 본딩된 인터페이스의 올바른 MAC 주소를 구성하고 기본 Kubernetes 인터페이스에 본딩을 사용하는 노드가 클러스터에 성공적으로 참여하도록 설정합니다. (BZ2096413)
  • 이전 버전에서는 Ingress Operator가 mTLS 사용을 활성화하도록 구성된 경우 Operator는 CRLs가 다른 이벤트로 인해 조정될 때까지 업데이트가 필요한지 확인하지 않았습니다. 결과적으로 mTLS에 사용되는 CRL이 최신 상태가 될 수 있었습니다. 이번 업데이트를 통해 CRL이 만료될 때 Ingress Operator가 자동으로 조정되고 CRL은 nextUpdate 필드로 지정된 시간에 업데이트됩니다. (BZ#2117524)
노드
  • 이전에는 symlinks 오류 메시지가 오류로 포맷되지 않고 원시 데이터로 출력되어 이해하기 어려웠습니다. 이번 수정에서는 오류 메시지를 올바르게 포맷하여 쉽게 이해할 수 있도록 합니다. (BZ#1977660)
  • 이전에는 성능 프로필이 노드에 적용되면 kubelet 하드 제거 임계 값이 Kubernetes 기본값과 달랐습니다. 이번 릴리스에서는 예상되는 Kubernetes 기본값과 일치하도록 기본값이 업데이트되었습니다. (OCPBUGS-4362).
OpenShift CLI(oc)
  • OpenShift Container Platform 4.12 릴리스에서는 대상 네임스페이스에 적절한 보안 수준이 없는 경우 대상 노드에서 디버그 세션을 입력하는 데 문제가 해결되었습니다. 이로 인해 oc CLI에서 Pod 보안 오류 메시지가 표시되었습니다. 기존 네임스페이스에 적절한 보안 수준이 포함되어 있지 않은 경우 OpenShift Container Platform은 대상 노드에서 oc debug 모드를 입력할 때 임시 네임스페이스를 생성합니다. (OCPBUGS-852)
  • 이전에는 macOS equipment64 아키텍처에서 oc 바이너리를 수동으로 서명해야 했습니다. 그 결과 oc 바이너리가 예상대로 작동하지 않았습니다. 이번 업데이트에서는 oc mimicking에 대한 자체 서명 바이너리를 구현합니다. 결과적으로 macOS ARM64 아키텍처의 oc 바이너리가 제대로 작동합니다. (BZ#2059125)
  • 이전에는 must-gather 가 서버에 없는 리소스를 수집하려고 했습니다. 결과적으로 must-gather 는 오류 메시지를 출력합니다. 이제 리소스를 수집하기 전에 must-gather 는 리소스가 존재하는지 확인합니다. 결과적으로 must-gather 는 서버에 존재하지 않는 리소스를 수집하지 못하면 더 이상 오류를 출력하지 않습니다. (BZ#2095708)
  • OpenShift Container Platform 4.12 릴리스에서는 라이브러리가 다중 아키텍처 플랫폼 이미지를 지원하도록 oc-mirror 라이브러리를 업데이트합니다. 즉, 플랫폼 릴리스 페이로드를 미러링할 때 ARM64 와 같은 다양한 아키텍처 중에서 선택할 수 있습니다. (OCPBUGS-617)
OLM(Operator Lifecycle Manager)
  • OpenShift Container Platform 4.12가 릴리스되기 전에 package-server -manager 컨트롤러에서 클러스터의 기능 문제로 인해 CSV(패키지 클러스터 서비스 버전) 에 대한 변경 사항을 되돌리지 않았습니다. 이러한 영구 변경 사항은 Operator가 클러스터에서 시작되는 방법에 영향을 줄 수 있습니다. OpenShift Container Platform 4.12의 경우 package-server -manager 컨트롤러는 항상 패키지 서버 CSV를 원래 상태로 다시 빌드하므로 클러스터 업그레이드 작업 후 CSV에 대한 수정 사항이 유지되지 않습니다. on-cluster 함수는 더 이상 패키지-서버 CSV의 상태를 제어하지 않습니다. (OCPBUGS-867)
  • 이전 버전에서는 OLM(Operator Lifecycle Manager)에서 네임스페이스에 라벨이 있는 경우에도 레이블을 적용하도록 네임스페이스를 업데이트했습니다. 그 결과 업데이트 요청이 API 및 etcd 서비스의 워크로드가 증가했습니다. 이번 업데이트를 통해 OLM은 업데이트를 실행하기 전에 기존 라벨을 네임스페이스의 예상 라벨과 비교합니다. 결과적으로 OLM은 더 이상 네임스페이스에서 불필요한 업데이트 요청을 시도하지 않습니다. (BZ#2105045)
  • 이전 버전에서는 OLM(Operator Lifecycle Manager)에서 ClusterVersion 사용자 정의 리소스의 spec.DesiredVersion 필드의 잘못 계산에 따라 차단되지 않아야 하는 마이너 클러스터 업그레이드를 방지했습니다. 이번 업데이트를 통해 OLM에서 업그레이드를 지원해야 할 때 클러스터 업그레이드를 중단하지 않습니다. (BZ#2097557)
  • 이전에는 조정기에서 리소스를 복사하지 않고 리소스의 주석을 업데이트했습니다. 이로 인해 조정 프로그램 프로세스가 종료되는 오류가 발생했습니다. 이번 업데이트를 통해 오류로 인해 더 이상 조정기가 중지되지 않습니다. (BZ#2105045)
  • package-server-manifest (PSM)는 올바른 package-server CSV(Cluster Service Version)가 클러스터에 설치되어 있는지 확인하는 컨트롤러입니다. 이전 버전에서는 on-cluster 오브젝트가 예상 오브젝트에 영향을 줄 수 있는 조정 함수의 논리 오류로 인해 package-server CSV에 대한 변경 사항이 반환되지 않았습니다. 사용자가 package-server CSV를 수정할 수 있으며 변경 사항을 되돌릴 수 없습니다. 또한 클러스터 업그레이드는 package-server CSV의 YAML을 업데이트하지 않았습니다. 이번 업데이트를 통해 이제 예상 버전의 CSV가 항상 처음부터 빌드되어 on-cluster 오브젝트가 예상 값에 영향을 줄 수 있는 기능을 제거합니다. 결과적으로 PSM은 이제 package-server CSV를 수정하려는 시도를 되돌리고 클러스터 업그레이드는 이제 예상 package-server CSV를 배포합니다. (OCPBUGS-858)
  • 이전에는 OLM에서 Operator의 CRD 상태에 따라 Operator를 업그레이드했습니다. CRD는 GVK(그룹/버전/종류) 식별자에 정의된 순서로 구성 요소 참조를 나열합니다. 동일한 구성 요소를 공유하는 Operator로 인해 GVK가 Operator의 구성 요소 목록을 변경할 수 있으며 이로 인해 OLM에서 CRD의 상태를 지속적으로 업데이트해야 할 수 있습니다. 이번 업데이트를 통해 OLM(Operator Lifecycle Manager)은 Operator의 구성 요소 참조에 따라 Operator를 업그레이드합니다. Operator의 CRD(사용자 정의 리소스 정의) 상태 변경으로 인해 OLM Operator 업그레이드 프로세스에는 영향을 미치지 않습니다. (OCPBUGS-3795)
Operator SDK
  • 이번 업데이트를 통해 Pod 사양에 securityContext 구성 필드를 포함하여 레지스트리 Pod의 보안 컨텍스트를 설정할 수 있습니다. 이는 Pod의 모든 컨테이너에 대한 보안 컨텍스트를 적용합니다. securityContext 필드는 Pod의 권한도 정의합니다. (BZ#2091864)
File Integrity Operator
  • 이전에는 File Integrity Operator가 Operator에 대한 권한에 openshift-file-integrity 네임스페이스를 사용하여 템플릿을 배포했습니다. Operator가 네임스페이스에서 오브젝트를 생성하려고 하면 권한 문제로 인해 실패했습니다. 이번 릴리스에서는 OLM에서 사용하는 배포 리소스가 올바른 네임스페이스를 사용하도록 업데이트되어 사용자가 기본이 아닌 네임스페이스에서 Operator를 설치하고 사용할 수 있도록 권한 문제를 해결합니다. (BZ#2104897)
  • 이전 버전에서는 File Integrity Operator의 기본 종속 항목은 경고 및 알림 처리 방법을 변경했으며 Operator에서 메트릭을 전송하지 않았습니다. 이번 릴리스에서는 Operator에서 메트릭 끝점이 올바르며 시작 시 연결할 수 있습니다. (BZ#2115821)
  • 이전에는 File Integrity Operator에서 발행한 경고가 네임스페이스를 설정하지 않았습니다. 이로 인해 경고가 어디에서 발생했는지 또는 이를 발행해야 하는 구성 요소를 이해하기 어려웠습니다. 이번 릴리스에서는 Operator에 경고에 설치된 네임스페이스가 포함되어 있어 주의가 필요한 구성 요소를 더 쉽게 축소할 수 있습니다. (BZ#2101393)
  • 이전에는 File Integrity Operator에서 업그레이드 중 경고 수정 경고를 올바르게 처리하지 못했습니다. 이로 인해 Operator가 설치된 네임스페이스가 경고에 포함되지 않았습니다. 이번 릴리스에서는 Operator에 경고에 설치된 네임스페이스가 포함되어 있어 주의가 필요한 구성 요소를 더 쉽게 축소할 수 있습니다. (BZ#2112394)
  • 이전 버전에서는 기본 OLM 업데이트로 인해 File Integrity Operator의 서비스 계정 소유권이 중단되고 0.1.24에서 0.1.29로의 업데이트가 손상되었습니다. 이번 업데이트를 통해 Operator는 기본적으로 0.1.30으로 업그레이드됩니다. (BZ#2109153)
  • 이전에는 File Integrity Operator 데몬이 최근 권한 변경에 대해 Roles 매개변수 대신 ClusterRoles 매개변수를 사용했습니다. 이로 인해 OLM에서 Operator를 업데이트할 수 없었습니다. 이번 릴리스에서는 Operator 데몬이 Roles 매개변수를 사용하여 되돌아가고 이전 버전에서 버전 0.1.29로의 업데이트가 성공한 것입니다. (BZ#2108475)
Compliance Operator
  • 이전 버전에서는 Compliance Operator에서 Operator 빌드에 종속된 Operator SDK의 이전 버전을 사용했습니다. 이로 인해 Operator SDK에서 사용하는 더 이상 사용되지 않는 Kubernetes 기능에 대한 경고가 발생했습니다. 이번 릴리스에서는 Compliance Operator가 업데이트된 버전의 Operator SDK가 포함된 버전 0.1.55로 업데이트되었습니다. (BZ#2098581)
  • 이전 버전에서는 rhcos4-high-master-sysctl-kernel-kernel-ptrace-scoperhcos4-sysctl-kernel-core-pattern 규칙에 대한 자동 수정을 적용하면 수정되어도 검사 결과에 해당 규칙이 후속 오류가 발생했습니다. 이번 릴리스에서는 이 문제가 해결되었습니다. (BZ#2094382)
  • 이전에는 Compliance Operator에서 default 네임스페이스에 대한 하드 코딩된 알림을 사용했습니다. 결과적으로 Operator가 다른 네임스페이스에 설치된 경우 Operator의 알림이 표시되지 않았습니다. 이 문제는 이번 릴리스에서 해결되었습니다. (BZ#2060726)
  • 이전에는 Ignition 사양 없이 머신 구성을 구문 분석할 때 Compliance Operator에서 API 리소스를 가져오지 못했습니다. 이로 인해 api-check-pods 검사가 크래시 루프가 발생했습니다. 이번 릴리스에서는 Ignition 사양 없이 머신 구성 풀을 정상적으로 처리하도록 Compliance Operator가 업데이트되었습니다. (BZ#2117268)
  • 이전에는 Compliance Operator에서 머신 구성과 kubelet 구성 간의 관계를 확인할 수 없어 머신 구성을 고정 상태로 유지했습니다. 이는 머신 구성 이름에 대한 잘못된 가정 때문입니다. 이번 릴리스에서는 Compliance Operator에서 kubelet 구성이 머신 구성의 서브 세트인지 확인할 수 있습니다. (BZ#2102511)
OpenShift API 서버
  • 이전에는 멤버를 추가하면 그룹에서 이전 멤버가 제거될 수 있었습니다. 결과적으로 사용자는 그룹 권한을 손실했습니다. 이번 릴리스에서는 종속성이 충돌했으며 사용자는 더 이상 그룹 권한을 손실하지 않습니다. (OCPBUGS-533)
RHCOS(Red Hat Enterprise Linux CoreOS)
  • 이전에는 Podman 4.0으로 업데이트하면 사용자가 RHCOS에서 toolbox 컨테이너가 있는 사용자 지정 이미지를 사용할 수 없었습니다. 이번 수정에서는 toolbox 라이브러리 코드를 업데이트하여 새로운 Podman 동작을 고려하여 사용자가 RHCOS에서 toolbox를 예상대로 사용하여 사용자 지정 이미지를 사용할 수 있습니다. (BZ#2048789)
  • 이전에는 podman exec 명령이 중첩된 컨테이너에서 제대로 작동하지 않았습니다. oc debug 명령을 사용하여 노드에 액세스한 다음 toolbox 명령으로 컨테이너를 실행할 때 이 문제가 발생했습니다. 이로 인해 사용자가 RHCOS에서 toolbox를 재사용할 수 없었습니다. 이번 수정에서는 이 동작을 설명하도록 toolbox 라이브러리 코드가 업데이트되어 사용자가 RHCOS에서 toolboxes를 재사용할 수 있습니다. (BZ#1915537)
  • 이번 업데이트를 통해 toolbox 명령을 실행하면 컨테이너를 시작하기 전에 기본 이미지에 대한 업데이트가 있는지 확인합니다. 이렇게 하면 보안이 향상되고 사용자에게 최신 버그 수정이 제공됩니다. (BZ#2049591)
  • 이전에는 Podman 4.0으로 업데이트하면 사용자가 RHCOS에서 toolbox 명령을 실행할 수 없었습니다. 이번 수정에서는 toolbox 라이브러리 코드가 업데이트되어 새로운 Podman 동작을 고려하여 사용자가 예상대로 RHCOS에서 toolbox 를 실행할 수 있습니다. (BZ#2093040)
  • 이전에는 사용자 지정 SELinux 정책 모듈이 rpm-ostree 에서 올바르게 지원되지 않아 업데이트 시 나머지 시스템과 함께 업데이트되지 않았습니다. 이는 관련이 없는 구성 요소에서 실패로 나타날 수 있습니다. 향후 OpenShift Container Platform 릴리스에서 보류 중인 SELinux 사용자 공간 개선 사항에서는 RHCOS에 대한 해결 방법을 제공하여 필요에 따라 SELinux 정책을 다시 빌드하고 다시 로드합니다. (OCPBUGS-595)
확장 및 성능
  • tuned 프로필은 최근 RHEL(Red Hat Enterprise Linux) 커널 패치에 추가된 새로 도입된 CPU당ktimers(ktimers)에 ksoftirqdrcuc 와 동일한 우선순위를 할당하도록 수정되었습니다. 자세한 내용은 OCPBUGS-3475, BZ#2117780BZ#2122220 에서 참조하십시오.
  • 이전에는 tuned 서비스를 다시 시작하면 irqbalance 구성이 잘못 재설정되어 IRQ 작업이 분리된 CPU에서 다시 제공되어 격리 보장이 발생합니다. 이번 수정을 통해 tuned 서비스가 재시작될 때마다 irqbalance 서비스 구성이 올바르게 보존되므로(충돌 또는 버그로 인해 발생할 수 있음) IRQ 서비스와 관련하여 CPU 격리 보장을 유지합니다. (OCPBUGS-585)
  • 이전 버전에서는 클러스터 Node Tuning Operator의 일부로 tuned 데몬이 순서대로 다시 시작되면 인터럽트 처리기의 CPU 선호도가 재설정되어 튜닝이 손상되었습니다. 이번 수정으로 tuned의 irqbalance 플러그인이 비활성화되고 OpenShift Container Platform은 CRI-Oirqbalance.(BZ#2105123)간의 논리와 상호 작용을 사용합니다.
  • 이전에는 노드가 로드될 때 모든 새 veth 장치에 대해 대기 시간이 짧은 후크 스크립트가 너무 오래 걸렸습니다. Pod 시작 이벤트 중 결과 누적 지연으로 인해 kube-apiserver 가 느리고 5분 롤아웃 타임아웃을 초과하는 롤아웃 시간이 발생했습니다. 이번 수정을 통해 컨테이너 시작 시간이 짧고 5분 임계값 내에 있어야 합니다. (BZ#2109965).
  • 이전에는 oslat 제어 스레드가 테스트 스레드 중 하나와 함께 배치되어 측정에서 대기 시간이 급증했습니다. 이번 수정으로 oslat 실행기에서 컨트롤 스레드에 대해 하나의 CPU를 예약합니다. 즉, 테스트에서 사용 중인 스레드를 실행하는 데 더 적은 CPU를 사용합니다. (BZ#2051443)
  • 대기 시간 측정 툴( oslat,cyclictest, cyclictest , hwlatdetect )으로 알려진 대기 시간 측정 툴은 이제 백그라운드에서 실행되어 대기 시간이 급증할 수 있는 보다 정확한 대기 시간 측정을 수행할 수 있는 도우미 프로세스 없이 완전히 분리된 CPU에서 실행됩니다. (OCPBUGS-2618)
  • 이전에는 group-du-sno-ranGen.yaml 에 대한 PolicyGenTemplate 에 두 개의 StorageClass 항목이 포함되어 있지만 생성된 정책에는 하나만 포함되었습니다. 이번 업데이트를 통해 생성된 정책에 두 정책이 모두 포함됩니다. (BZ#2049306).
스토리지
  • 이전에는 일반 임시 볼륨에 대한 검사에 실패했습니다. 이번 업데이트를 통해 확장 가능한 볼륨에 대한 검사에 일반 임시 볼륨이 포함됩니다. (BZ#2082773)
  • 이전에는 vSphere에 둘 이상의 보안이 있는 경우 vSphere CSI Operator에서 무작위로 시크릿을 선택하여 Operator가 재시작되는 경우가 있었습니다. 이번 업데이트를 통해 vCenter CSI Operator에 두 개 이상의 시크릿이 있는 경우 경고가 표시됩니다. (BZ#2108473)
  • 이전 버전에서는 CSI(Container Storage Interface) 드라이버가 노드에서 볼륨을 마운트 해제할 수 없는 경우 OpenShift Container Platform에서 볼륨을 분리했습니다. CSI 사양에서는 마운트 해제 없이 볼륨을 분리할 수 없으며 드라이버는 문서화되지 않은 상태가 될 수 있습니다. 이번 업데이트를 통해 비정상 노드에서만 마운트 해제하기 전에 CSI 드라이버가 분리되어 문서화되지 않은 상태가 발생하지 않습니다. (BZ#2049306)
  • 이전 버전에서는 Manila CSI Driver Operator의 VolumeSnapshotClass에 주석이 누락되었습니다. 그 결과 Manila CSI 스냅샷터에서 시크릿을 찾을 수 없어 기본 VolumeSnapshotClass로 스냅샷을 생성할 수 없었습니다. 이번 업데이트에서는 보안 이름과 네임스페이스가 기본 VolumeSnapshotClass에 포함되도록 문제가 해결되었습니다. 결과적으로 사용자가 기본 VolumeSnapshotClass를 사용하여 Manila CSI Driver Operator에 스냅샷을 생성할 수 있습니다. (BZ#2057637)
  • 이제 사용자는 Azure File에서 실험적인 VHD 기능을 사용할 수 있습니다. 사용자는 스토리지 클래스에 fstype 매개변수를 지정하고 --enable-vhd=true 로 활성화해야 합니다. fstype 을 사용하고 기능이 true 로 설정되지 않은 경우 볼륨을 프로비저닝하지 못합니다.

    VHD 기능을 사용하지 않으려면 스토리지 클래스에서 fstype 매개변수를 제거하십시오. (BZ#2080449)

  • 이전에는 vSphere에 둘 이상의 보안이 있는 경우 vSphere CSI Operator에서 무작위로 시크릿을 선택하여 Operator가 재시작되는 경우가 있었습니다. 이번 업데이트를 통해 vCenter CSI Operator에 두 개 이상의 시크릿이 있는 경우 경고가 표시됩니다. (BZ#2108473)
웹 콘솔 (개발자 화면)
  • 이전에는 사용자가 추가 및 편집 양식에서 Git 시크릿을 선택 해제할 수 없었습니다. 그 결과 리소스를 다시 생성해야 했습니다. 이번 수정에서는 선택한 secret 옵션 목록에서 No Secret 을 선택하는 옵션을 추가하여 문제를 해결합니다. 결과적으로 사용자는 연결된 보안을 쉽게 선택, 선택 취소 또는 분리할 수 있습니다. (BZ#2089221)
  • OpenShift Container Platform 4.9에서는 개발자 관점에서 최소한의 데이터이거나 데이터가 없는 경우 대부분의 모니터링 차트 또는 그래프(CPU 사용량, 메모리 사용량 및 대역폭)에 -1~1의 범위가 표시됩니다. 그러나 이러한 값은 모두 제로 미만의 값이 될 수 없습니다. 이 문제는 향후 릴리스에서 해결될 예정입니다. (BZ#1904106)
  • 이번 업데이트 이전에는 웹 콘솔에서 openshift-monitoring 네임스페이스의 플랫폼 Alertmanager 서비스로 요청을 전달했기 때문에 사용자 정의 Alertmanager 서비스가 배포되었을 때 OpenShift Container Platform 웹 콘솔의 개발자 관점에서 경고를 음소거할 수 없었습니다. 이번 업데이트를 통해 웹 콘솔에서 개발자 화면을 보고 경고를 음소거하려고 하면 요청이 올바른 Alertmanager 서비스로 전달됩니다. (OCPBUGS-1789)
  • 이전에는 프로젝트의 개발자 카탈로그를 확장하기 위해 Helm 차트 리포지토리 추가 양식에 알려진 문제가 있었습니다. 빠른 시작 가이드에서는 필요한 네임스페이스에 ProjectHelmChartRepository CR을 추가할 수 있음을 보여줍니다. 반면 kubeadmin의 권한이 필요합니다. 이 문제는 빠른 시작에서 ProjectHelmChartRepository CR을 생성하는 올바른 단계를 언급하여 해결되었습니다. (BZ#2057306)