1.5. 버그 수정

apiserver-auth

  • 이전 버전에서는 특정 조건으로 인해 Ingress Operator에서 CA 인증서를 router-certs 보안으로 내보내지 않아 Cluster Authentication Operator에서 상태 점검의 인증서에 신뢰 체인을 구성할 수 없어 성능이 저하되고 업그레이드할 수 없었습니다. 이제 CA가 기본 라우터 CA 검사 중에 항상 default-ingress-cert 구성 맵에서 포함되므로 Cluster Authentication Operator에서 더 이상 업그레이드를 차단하지 않습니다. (BZ#1866818)
  • 이전에는 지원되지 않는 로그인 flow가 요청될 때 Accept: application/json을 무시하는 OIDC 서버에서 반환되는 HTML 페이지를 Cluster Authentication Operator에서 구문 분석하지 못했습니다. Operator에 JSON 응답이 필요했기 때문입니다. 그 결과 Operator는 IDP 구성을 준수하지 못했습니다. OIDC 서버에서 HTML 페이지가 반환될 때 Cluster Authentication Operator가 더 이상 오류와 함께 실패하지 않습니다. 요청된 flow가 지원되지 않기 때문입니다. (BZ#1877803)
  • 이전 버전에서는 Cluster Authentication Operator에서 구성 맵과 시크릿을 올바르게 검증하지 않아 OAuth 서버의 새 배포가 유효하지 않거나 누락된 파일과 함께 롤아웃되어 Pod가 충돌할 수 있었습니다. 이제 Cluster Authentication Operator에서 구성 맵과 보안을 올바르게 검증하므로 참조하는 구성 맵 또는 시크릿에 유효하지 않은 데이터가 포함된 경우 새 배포가 롤아웃되지 않습니다. (BZ#1777137)

베어 메탈 하드웨어 프로비저닝

  • 이전에는 ironic-image 컨테이너 구성에 idrac-redfish-virtual-media 부팅 드라이버를 활성화하는 설정이 누락되었습니다. 이 때문에 사용자가 Metal3의 idrac-virtual-media 부팅 URL을 선택할 수 없습니다. 이제 누락된 ironic-image 컨테이너 구성이 포함되어 사용자가 Metal3의 idrac-virtual-media URL을 선택할 수 있습니다. (BZ#1858019)
  • 이전에는 특정 Dell 펌웨어 버전에서 Redfish를 사용하는 영구 부팅에 대한 구성 지원이 중단되었습니다. Dell iDRAC 펌웨어를 버전 4.20.20.20으로 업데이트하면 문제가 해결됩니다. (BZ#1828885)
  • 이 릴리스에서는 여러 노드를 동시에 검사하는 경우 검사 시간이 초과하는 문제가 해결되었습니다. (BZ#1830256)
  • 이전에는 ironic-image 컨테이너 구성에 idrac-redfish-virtual-media 부팅 드라이버를 활성화하는 설정이 누락되었습니다. 이 때문에 사용자가 Metal3의 idrac-virtual-media 부팅 URL을 선택할 수 없습니다. 이제 누락된 ironic-image 컨테이너 구성이 포함되어 사용자가 Metal3의 idrac-virtual-media URL을 선택할 수 있습니다. (BZ#1853302)
  • 이전에는 베어 메탈 아이러니 이미지를 제공하는 데 사용되는 openshift-machine-api 네임스페이스의 metal3 포드에 있는 HTTPd 컨테이너에서 디렉터리 목록을 허용했습니다. 이 릴리스에서는 이 컨테이너에 더 이상 디렉터리 목록이 허용되지 않습니다. (BZ#1859334)

Build

  • buildah 라이브러리 오류로 인해 특정 HTTP 오류가 무시될 수 있습니다. 대상 레지스트리의 일시적인 문제로 인해 빌드에서 이미지를 내보내지 못할 수 있습니다. 이 버그 수정에서는 buildah를 업데이트하여 이미지 Blob을 내보낼 때 이러한 오류를 유지합니다. 결과적으로 buildah는 업스트림 레지스트리를 일시적으로 사용할 수 없는 경우 이미지를 내보내지 못합니다. (BZ#1816578)
  • 이전에는 OpenShift Container Platform 빌드에 사용된 컨테이너 이미지 서명 정책에 로컬 이미지에 대한 구성이 없었습니다. 특정 레지스트리의 이미지만 허용하면 빌드에서 postCommit 스크립트는 로컬 이미지를 사용할 수 없으므로 실패했습니다. 컨테이너 이미지 서명 정책은 로컬 스토리지 계층을 직접 참조하는 이미지를 항상 허용하도록 업데이트되었습니다. 이제 postCommit 후크가 포함된 경우 빌드를 완료할 수 있습니다. (BZ#1838372)
  • 이전 버전에서는 Dockerfile 에서 첫 번째 FROM 명령을 실행하기 전에 Docker 전략 빌드에 사용된 Dockerfile 에서 ARG 명령을 사용하여 빌드 인수를 정의한 경우 Build 또는 BuildConfig 리소스에 지정된 재정의를 통합하도록 Dockerfile 을 사전 처리할 때 해당 명령이 삭제되었습니다. 사전 처리된 Dockerfile을 사용하여 이미지를 빌드하는 동안 이러한 인수에 대한 참조가 이후에 제대로 해결되지 않았습니다. 업데이트된 Dockerfile 콘텐츠를 생성할 때 첫 번째 FROM 명령 이전에 발생한 ARG 명령을 보존하도록 전처리 논리가 수정되었으므로 이 문제가 더 이상 발생하지 않습니다. (BZ#1842982)
  • 이전에 Buildah에서 이미지 아키텍처와 이미지의 OS 필드를 지웠습니다. 이로 인해 결과 이미지에서 아키텍처와 OS를 확인할 수 없어 일반적인 컨테이너 도구가 실행되지 않았습니다. 이 버그 수정은 명시적인 덮어쓰기가 없는 한 Buildah에서 이미지와 아키텍처를 덮어쓰지 않도록 합니다. 이렇게 하면 이미지에 항상 아키텍처 및 OS 필드가 포함되고 이미지 불일치 경고가 표시되지 않습니다. (BZ#1858779)
  • 이전에는 일부 상황에서 빌드 인수를 올바르게 확장하지 않았기 때문에 Dockerfile 빌드가 실패했습니다. 이번 업데이트에서는 Dockerfile 빌드 인수 처리가 수정되어 Dockerfile 이 성공적으로 빌드됩니다. (BZ#1839683)
  • 이전에는 Buildah에서 외부 호출을 통해 Blob 캐시의 이미지를 읽어 Source-to-Image(S2I) 빌드가 실패했습니다. 이 문제는 4.6에서 OpenShift Container Platform 빌드에 공급된 Buildah v1.14.11에서 수정되었습니다. (BZ#1844469)
  • 이전에는 Buildah에서 COPY -from Dockerfile 명령 의 이미지를 참조할 수 없었습니다. 그 결과 COPY -from=<image> 가 포함된 다단계 Dockerfile 빌드가 실패했습니다. Buildah가 COPY –from 명령을 지원하는 버전으로 업데이트되었습니다. 이제 이러한 지침이 포함된 빌드가 성공할 수 있습니다. (BZ#1844596)

클라우드 컴퓨팅

  • 이전 버전에서는 머신 세트의 replicas 필드가 nil 값으로 설정된 경우 자동 스케일러가 머신 세트 내의 현재 복제본 수를 확인할 수 없으므로 확장 작업을 수행할 수 없었습니다. 이번 릴리스에서는 nil 값이 설정된 경우 상태의 replicas 필드에서 보고한 대로 머신 세트에서 관찰된 마지막 복제본 수를 사용합니다. (BZ#1852061)
  • 이전에는 동일한 유형의 노드 간에 메모리 불일치가 128MB를 초과하는 경우, 자동 확장기에서 여러 장애 도메인의 워크로드 균형을 맞추지 않았습니다. 이 릴리스에서는 최대 메모리 불일치가 256MB로 늘어났습니다. (BZ#1824215)
  • 이전에는 시스템 세트 replicas 필드에 기본값이 없었습니다. 그 결과 필드가 없으면 머신 세트 컨트롤러가 자동으로 실패합니다. 이제 복제 필드에 기본값이 있습니다. 복제 필드가 설정되지 않은 경우 기본값인 하나의 복제가 사용됩니다. (BZ#1844596)
  • 이전에는 머신 상태 점검 컨트롤러가 머신이 삭제되기 전에 삭제되었는지 확인하지 않았습니다. 그 결과 컨트롤러에서 삭제 요청을 여러 번 보내 잘못된 로깅 및 이벤트 보고서가 생성되었습니다. 이제 머신 상태 점검 컨트롤러에서 삭제하기 전에 머신이 삭제되었는지 확인합니다. 결과적으로 중복 로그 및 이벤트가 줄어듭니다. (BZ#1844986)
  • 이전에는 머신 API Operator에서 안정적인 상태일 때 클러스터 Operator 머신 API를 업데이트했습니다. 그 결과 리소스의 상태가 빠르게 순환되었습니다. 이제 변경 사항이 롤아웃된 후에만 리소스 상태가 변경됩니다. 상태는 안정적으로 유지됩니다. (BZ#1855839)
  • 이전 버전에서는 클러스터 자동 확장기를 배포할 때 balanceSimilarNodeGroups,ignoreDaemonSetsUtilization 또는 skipNodesWithLocalStorageClusterAutoscaler 리소스 값을 false로 설정하면 등록되지 않았습니다. 이제 클러스터 자동 확장기를 배포할 때 이러한 값을 올바르게 읽습니다. (BZ#1854907)
  • 중복 머신 API 컨트롤러 인스턴스는 거의 배포할 수 없었습니다. 이로 인해 클러스터에서 액세스할 수 없는 머신을 유출할 수 있습니다. 이제 리더 선택 메커니즘이 모든 머신 API 구성 요소에 추가되어 중복 인스턴스가 생성되지 않습니다. 머신 API 컨트롤러는 지정된 수의 인스턴스만 실행합니다. (BZ#1861896)
  • RHV(Red Hat Virtualization) 클러스터에서 수동 머신 확장이 실패하는 경우가 있었습니다. 이제 웹 콘솔 또는 CLI에서 머신 확장이 작동합니다. (BZ#1817853)
  • 이전에는 must-gather가 BareMetalHost 레코드를 수집하지 않았습니다. 결과적으로 디버깅 정보가 불완전할 수 있습니다. 이제 BareMetalHost 레코드가 must-gather에 의해 수집됩니다. (BZ#1841886)
  • 이전에는 Azure에서 실행되는 클러스터에서 컴퓨팅 머신이 설치 시 실패한 단계로 변환되었습니다. 그 결과 VM이 생성된 후 인식되지 않았습니다. 머신에 접속하려고 하면 오류로 인해 로그가 넘치고, VM이 올바르게 시작된 후 오류가 발생할 수 있습니다. 수정을 통해 생성 중 상태의 머신이 이미 생성된 것으로 확인됩니다. 로그에 포함된 오류가 감소하고 머신이 실패할 가능성이 줄어듭니다. (BZ#1836141)
  • 이전에는 머신 상태 점검에서 spec.maxUnhealthy 의 음수 값을 허용할 수 있었습니다. 그 결과 음수 값에서 각 조정 시도에 대해 수많은 이벤트가 생성되었습니다. spec.maxUnhealthy의 음수 값이 이제 0으로 처리되어 가상 로그 메시지가 감소합니다. (BZ#1862556)

Cloud Credential Operator

  • 이전에는 OpenShift Container Platform 버전 4.5를 버전 4.6으로 업그레이드할 때 일부 필드가 4.6 기본값으로 업데이트되었습니다. 이로 인해 4.5 필드 값이 유지되지 않아 4.6에서 4.5로 다운그레이드하는 기능에 영향을 미쳤습니다. 이 버그 수정에서는 4.5의 필드를 지정하지 않은 상태로 두는 대신 4.5 값을 명시적으로 유지하므로 다운그레이드할 때 기본값으로 다시 지정할 수 있습니다. 이제 4.6에서 4.5로 다운그레이드에 성공할 수 있습니다. (BZ#1868376)
  • 이전에는 Cloud Credential Operator 리더 선택에서 controller-runtime의 기본값을 사용했으며 그 결과 2초마다 etcd에 쓰기를 수행했습니다. 이 릴리스에서는 이제 90초마다 작성하고 정상 종료 시 즉시 잠금을 해제하는 사용자 정의 리더 선택을 구현합니다. (BZ#1858403)

Cluster Version Operator

  • Cluster Version Operator는 HTTPS 대신 HTTP를 사용하여 메트릭을 제공했으며 암호화되지 않은 데이터로 인해 중간자 공격을 받았습니다. 이제 Cluster Version Operator는 HTTPS를 사용하여 메트릭을 제공하고 데이터가 암호화됩니다. (BZ#1809195)
  • 클러스터 관리자가 클러스터 버전 재정의를 구성한 경우 업그레이드 프로세스가 중단되었습니다. 이제 덮어쓰기가 설정되면 업그레이드가 차단됩니다. 관리자가 덮어쓰기를 제거할 때까지 업그레이드가 시작되지 않습니다. (BZ#1822844)
  • Cluster Version Operator는 프록시 구성의 trustedCA 속성에서 참조하는 구성 맵에서 신뢰할 수 있는 CA를 로드하는 데 사용됩니다. 참조된 구성 맵은 사용자가 유지 관리하며 사용자 설정이 손상된 인증서로 프록시에 대한 Operator의 액세스 권한이 중단됩니다. 이제 Operator에서 프록시 구성의 참조된 trustedCA 구성 맵이 유효한 경우 Network Operator가 채우는 openshift-config-managed/trusted-ca-bundle 에서 trustedCA 구성을 로드합니다. (BZ#1797123)
  • HTTPS 서명은 직렬화된 저장소를 검색하여 Cluster Version Operator가 작업을 완료하기 전에 타임아웃이 발생할 수 있었습니다. 이제 외부 HTTPS 서명 검색이 병렬로 이루어지며 모든 저장소를 검색합니다. (BZ#1840343)
  • 이전에는 oc adm upgrade --to-image와 같이 --to-image 옵션을 사용하는 z-stream 클러스터 업그레이드 중에 Cluster Version Operator는 유효성 검사를 위해 현재 클러스터 버전이 아니라 업그레이드 중인 클러스터 버전을 사용하고 있었습니다. 이로 인해 z-stream 업그레이드가 실패했습니다. 이제 Cluster Version Operator에 Upgradeable=false 가 있는 경우에도 --to-image 옵션을 사용한 z-stream 클러스터 업그레이드가 허용됩니다. (BZ#1822513)
  • 이전에는 CVO(Cluster Version Operator)가 Pod 사양에서 shareProcessNamespace 매개변수를 동기화하지 않아 Registry Operator에서 shareProcessNamespace 설정을 업데이트하지 않았습니다. CVO는 이제 shareProcessNamespace,DNSPolicyTerminationGracePeriodSeconds 매개변수를 동기화하여 Registry Operator 업데이트 문제를 해결합니다. (BZ#1866554)

콘솔 Kubevirt 플러그인

  • 이전에는 동일한 NIC 프로필이 있는 NIC를 가져올 수 없거나 잘못된 네트워크를 선택했습니다. 이제 웹 콘솔에서 이러한 NIC에 대해 Pod 네트워크가 아닌 동일한 네트워크를 선택하도록 강제 적용합니다. (BZ#1852473)
  • 렌더링할 virtualmachineimports 데이터를 기다리는 VM 목록으로 인해 관리자가 아닌 사용자가 로그인하면 가상 머신이 표시되지 않았습니다. 이제 VM 목록이 올바르게 렌더링됩니다. (BZ#1843780)
  • VM 생성 마법사 Edit Disk 모달이 복제된 PVC 네임스페이스를 인식하지 못했습니다. 다른 네임스페이스에서 datavolume 디스크를 편집할 수 없었습니다. 이제 디스크 모달에서 datavolume 디스크의 올바른 네임스페이스를 적절하게 등록합니다. (BZ#1859518)
  • datavolume 이름이 하드 코딩되었기 때문에 URL 소스를 참조할 때 가상 머신 및 템플릿의 이름이 같을 수 없었습니다. 이제 자동으로 생성된 고유한 문자열이 datavolume 이름에 추가되고 새 가상 머신과 템플릿의 이름이 같을 수 있습니다. (BZ#1860936)
  • 네트워크 활용도 데이터가 빈 데이터 배열로 인해 사용할 수 없음으로 표시됩니다. 이제 검사가 구현되어 빈 배열이 데이터가 없는 것으로 해석됩니다. (BZ#1850438)
  • 이번 릴리스에서는 웹 콘솔의 개발자 화면에서 VM 가져오기 기능이 제거되었습니다. (BZ#1876377)

Console Metal3 플러그인

  • EI가 최신 버전을 검색하고 있었기 때문에 사용자 인터페이스에서 이전 노드 유지 관리 CRD를 탐지하지 않았습니다. 결과적으로 이전 NodeMaintenance CR이 있는 경우 노드 유지보수 작업에서 해당 CR이 누락되었습니다. 이제 웹 콘솔에서 두 NodeMaintenance CR을 모두 관찰합니다. (BZ#1837156)
  • 사용자 인터페이스가 정상 종료를 올바르게 평가하지 않아 콘솔을 종료할 때 잘못된 경고가 표시되었습니다. 이제 인터페이스에서 노드 포드가 로드될 때까지 대기하고 종료 시 올바른 경고가 표시됩니다. (BZ#1872893)

컨테이너

  • 이전에는. dockerignore 파일이 있는 경우 빌드 컨텍스트에서 콘텐츠를 복사하기 위한 COPY 또는 ADD 명령을 처리하는 논리가 효율적으로 필터링되지 않았습니다. COPYADD 는 소스 위치의 각 항목을 대상에 복사해야 하는지 여부를 평가하는 누적 오버헤드로 인해 눈에 띄게 느려질 수 있습니다. 이 버그 수정을 통해 논리가 다시 작성되었으며 .dockerignore 파일의 존재로 인해 빌드 중에 COPYADD 명령이 처리되는 속도가 더 이상 눈에 띄게 느려지지 않습니다. (BZ#1828119, BZ#1813258)
  • 이전에는 빌더 논리 에서 새 계층의 콘텐츠를 두 번 계산하므로 이미지 빌드 및 푸시가 소스 오류 메시지에서 Blob을 읽는 동안 실패했습니다. 계층 콘텐츠를 캐시하는 논리는 일관성을 유지하는 계산 결과에 따라 달랐습니다. 두 계산 사이에 새 계층의 콘텐츠가 변경되면 계층 콘텐츠가 필요할 때 캐시에서 계층 콘텐츠를 제공할 수 없었습니다. 새 계층의 콘텐츠가 더 이상 두 번 계산되지 않으며 이미지 빌드 및 푸시가 실패하지 않습니다. (BZ#1720730)

웹 콘솔(개발자 화면)

  • 이전에는 토폴로지 보기를 통해 Knative 애플리케이션을 삭제하려고 하면 존재하지 않는 Knative 경로에 대한 거짓 긍정 오류가 보고되었습니다. 이 문제는 해결되어 더 이상 오류가 표시되지 않습니다. (BZ#1866214)
  • 이전에는 웹 콘솔의 개발자 화면에서 비보안 레지스트리의 이미지를 가져올 수 없었습니다. 이 버그 수정을 통해 이미지 배포 양식에 안전하지 않은 레지스트리를 사용할 수 있는 확인란이 추가되었습니다. (BZ#1826740)
  • 사용자가 애플리케이션을 생성하기 위해 카탈로그에서 옵션을 선택하면 개발자 카탈로그에 애플리케이션을 생성하는 템플릿 목록 대신 빈 페이지가 표시되었습니다. 이러한 문제는 1.18.0 Jaeger Operator가 설치된 경우 발생했습니다. 이 문제는 수정되었으며 템플릿이 예상대로 표시됩니다. (BZ#1845279)
  • 웹 콘솔의 개발자 화면에서 파이프라인 빌더를 통해 파이프라인에서 병렬 작업을 삭제할 때 인터페이스에서 병렬 작업에 연결된 작업을 잘못 재정렬하여 고립된 작업을 생성했습니다. 이 수정을 통해 삭제된 병렬 작업에 연결된 작업이 원래 파이프라인과 다시 연결됩니다. (BZ#1856155)
  • 사용자가 측면 패널이 동시에 열린 상태에서 웹 콘솔을 통해 파이프라인 생성을 취소하면 웹 콘솔이 JavaScript 예외와 함께 충돌했습니다. 이 문제는 내부의 상태 처리를 개선하여 해결되었습니다. (BZ#1856267)
  • 필요한 권한이 있는 경우에도 다른 프로젝트의 이미지를 검색하고 배포할 수 없었습니다. 이 문제를 해결하는 데 필요한 역할 바인딩이 생성되었습니다. (BZ#1843222)
  • Git에서 가져오기 기능을 사용하여 Git 리포지토리에서 애플리케이션을 배포하려고 하면 웹 콘솔의 개발자 화면에서 클러스터에서 연결할 수 있는 프라이빗 리포지토리에 대해 Git 리포지토리에 연결할 수 없다는 거짓 긍정 오류를 보고했습니다. 이 문제는 오류 메시지에 비공개 리포지토리를 클러스터에 사용하도록 설정하는 방법에 대한 정보를 추가함으로써 해결되었습니다. (BZ#1877739)
  • 웹 콘솔의 개발자 화면을 통해 Go 애플리케이션을 생성할 때 애플리케이션의 경로가 생성되지 않았습니다. 이 문제는 빌드 도구의 버그와 잘못 구성된 포트로 인해 발생했습니다. 사용자 제공 포트 또는 기본 포트 8080을 대상 포트로 선택함으로써 문제가 해결되었습니다. (BZ#1874817)
  • Git에서 가져오기 기능을 사용하여 애플리케이션을 생성할 때 웹 콘솔에서 애플리케이션의 Git 리포지토리를 나중에 변경할 수 없었습니다. 이는 나중에 Git 리포지토리 URL을 편집할 때 애플리케이션 이름을 변경했기 때문이었습니다. 이 문제는 애플리케이션 Git 리포지토리 URL을 편집할 때 애플리케이션 이름을 읽기 전용으로 설정하여 해결되었습니다. (BZ#1873095)
  • 이전에는 관리 또는 프로젝트 나열 권한이 없는 사용자는 프로젝트의 지표를 볼 수 없었습니다. 이 버그 수정을 통해 클러스터 지표에 액세스할 때 사용자 권한을 확인하지 않습니다. (BZ#1842875)
  • user@example.com 과 같이 사용자 이름에 @ 문자가 있는 사용자는 웹 콘솔의 개발자 관점에서 파이프라인을 시작할 수 없습니다. 이 문제는 쿠버네티스 라벨의 제한으로 인해 발생했습니다. 이 문제는 Kubernetes 라벨에서 Kubernetes 주석 으로 메타데이터로 Started by metadata를 이동하여 해결되었습니다. (BZ#1868653)
  • 이전에는 사용자가 지표를 선택하면 QueryEditor에 쿼리가 표시되었습니다. 그러나 사용자가 쿼리를 삭제하거나 수정한 후 동일한 지표를 다시 선택하면 QueryEditor가 업데이트되지 않습니다. 이 수정으로 인해 쿼리를 지우고 동일한 쿼리를 다시 선택하면 쿼리 입력 텍스트 영역에 쿼리가 표시됩니다. (BZ#1843387)
  • Che Workspace Operator는 Workspace 리소스에 대한 지원을 제거하고 DevWorkspace CRD로 교체했습니다. 그 결과 최신 Che Workspace Operator에서 명령줄 터미널이 활성화되지 않았습니다. 이번 수정을 통해 OpenShift 명령줄 터미널이 DevWorkspace 리소스를 사용하도록 이동되었습니다. Che Workspace Operator가 설치되면 OpenShift 콘솔에서 명령줄 터미널이 활성화됩니다. (BZ#1844938)
  • 이전에는 트래픽이 여러 개정판에 분산된 경우 Knative 서비스의 경로 데코레이터에서 사용자를 개정에 따라 다른 경로로 리디렉션했습니다. 경로 데코레이터가 항상 Knative 기본 서비스 경로를 가리키도록 업데이트되었습니다. (BZ#1860768)
  • 이전에는 사용자가 외부 개인 컨테이너 레지스트리에 대한 시크릿을 추가하고 레지스트리에서 컨테이너 이미지를 가져올 때 Pod가 시작되지 않았습니다. 이로 인해 서비스 계정 또는 배포가 수동으로 업데이트될 때까지 배포가 중단되었습니다. 이번 버그 수정을 통해 새 배포에서 내부 컨테이너 레지스트리를 사용하여 포드를 시작할 수 있습니다. 이 버그 수정을 통해 사용자는 서비스 계정 또는 배포에 대한 추가 변경 없이 외부 개인 컨테이너 레지스트리에서 컨테이너 이미지를 가져올 수 있습니다. (BZ#1926340)
  • 콘솔은 사양에서 resourcesserviceAccountName 필드를 사용하는 KafkaSource 오브젝트의 이전 버전을 사용했습니다. KafkaSource 개체의 v1beta1 버전에서는 사용자가 v1beta1 버전으로 KafkaSource 개체를 생성할 수 없기 때문에 이러한 필드가 제거되었습니다. 이 문제는 현재 해결되었으며 사용자는 v1beta1 버전으로 KafkaSource 개체를 생성할 수 있습니다. (BZ#1892695)
  • 이전에는 helm 릴리스를 인스턴스화하기 위해 차트를 다운로드하는 상대 차트 URL에 연결할 수 없었습니다. 이 문제는 Helm 차트 리포지토리에서 참조되는 원격 리포지토리의 index.yaml 파일을 가져온 후 그대로 사용되었기 때문입니다. 이러한 인덱스 파일 중 일부에는 상대 차트 URL이 포함되어 있습니다. 이 문제는 차트 URL에 연결할 수 있도록 상대 차트 URL을 절대 URL로 변환하여 해결되었습니다. (BZ#1916406)
  • 이전에는 Topology 뷰에서 Knative 서비스 및 소스를 볼 수 없었습니다. 이는 트리거에 NPE(NUll Pointer Exception)로 인해 Knative 서비스와 인메모리 채널을 구독자로 둘 다 포함했기 때문입니다. 이 문제는 Knative 데이터 모델이 적절한 데이터를 반환하고 Knative 리소스가 토폴로지 보기에 올바르게 표시되도록 Null Pointer Exception을 수정하여 해결됩니다. (BZ#1907827)
  • 이전에는 API 서버에서 리소스 할당량 리소스를 업데이트하는 동안 충돌로 인해 리소스를 생성하고 409 상태 코드를 반환할 수 있었습니다. 이 문제는 해결되었으며 {product title} 웹 콘솔은 409 상태 코드를 수신하는 동안 요청을 다시 시도합니다. 요청을 완료하기에 충분한 세 번의 시도가 수행됩니다. 409가 계속 발생하는 경우 콘솔에 오류가 표시됩니다. (BZ#1928230)
  • 이전에는 차트 리포지토리 httpClient() 가 프록시 환경 변수를 고려하지 않았기 때문에 개발자 카탈로그에 helm 차트가 표시되지 않았습니다. 이 문제는 해결되어 이제 개발자 카탈로그에 helm 차트가 표시됩니다. (BZ#1919138)
  • 기술 프리뷰 배지가 GA 릴리스에서도 Eventing 사용자 인터페이스에 표시됩니다. 이제 Eventing 사용자 인터페이스에서 기술 프리뷰 배지가 제거됩니다. (BZ#1899382)
  • 이전에는 배포 구성에 상관 관련 포드 데이터를 사용할 수 없을 때 애플리케이션이 충돌했습니다. 이는 콘솔 배포에서 배포 구성이 로드되는 즉시 포드 상태 도넛과 함께 두 개의 데이터 세트를 가져왔기 때문입니다. API에서 250개 이상의 포드를 반환하면 일부 정보를 건너뛰어 사용할 수 없습니다. 이 문제는 해결되어 프로젝트에 250개 이상의 포드가 포함된 경우에도 포드 데이터를 사용할 수 있으므로 DeploymentConfig 세부 정보 페이지가 더 이상 충돌하지 않도록 합니다. (BZ#1921603)
  • 이전에는 트리거, 서브스크립션, 채널 및 IMC 이벤트 소스에 해당하는 정적 모델이 베타 API 버전을 사용했습니다. Serverless 0.10 릴리스에서 이벤트 소스에 지원되는 최신 버전이 v1 버전으로 업데이트되었습니다. 이번 버그 수정을 통해 지원되는 최신 버전을 가리키도록 사용자 인터페이스 모델이 업데이트되었습니다. (BZ#1896625)
  • 이전 버전에서는 조건부 작업이 실패하면 완료된 pipeline 실행에 실패한 각 조건 작업에 대해 영구적인 보류 상태의 작업이 표시되었습니다. 이 문제는 실패한 조건부 작업을 비활성화하고 건너뛰는 아이콘을 해당 작업에 추가하여 해결되었습니다. 이 경우 pipeline 실행 상태를 더 잘 파악할 수 있습니다. (BZ#1916378)
  • 이전에는 사용자 권한이 부족하여 다른 프로젝트에서 이미지를 가져오는 데 대한 액세스가 거부되었습니다. 이번 버그 수정을 통해 모든 사용자 인터페이스에서 역할 바인딩 확인을 제거하고 사용자의 명령줄 사용에 도움이 되는 oc 명령 경고가 표시됩니다. 이 버그 수정으로 사용자는 다른 네임스페이스에서 더 이상 이미지 생성이 차단되지 않으므로 다른 프로젝트에서 이미지를 배포할 수 있습니다. (BZ#1933727)
  • 샘플 애플리케이션을 생성하는 동안 Developer 모드에서는 서로 종속된 여러 리소스를 생성하고 특정 순서로 완료해야 합니다. 이전 버전에서는 승인 플러그인에서 이러한 리소스 중 하나를 확인할 수 없어 Developer 모드에서 샘플 애플리케이션이 생성되지 않는 경우가 있었습니다. 이 문제가 해결되었습니다. 코드에서 필요한 순서에 리소스를 생성하므로 샘플 애플리케이션을 더 안정적으로 생성합니다. (BZ#1933666)
  • 이전에는 개발자 관점에서 Knative 서비스를 개인 서비스로 생성할 수 없었습니다. 이 문제는 'networking.knative.dev/visibility': 'cluster-local' 레이블을 업데이트하여 해결되었습니다. (BZ#1978159)
  • 이전에는 OpenShift Container Platform 웹 콘솔에서 Bitbucket 리포지토리를 사용하여 배포에 생성된 토폴로지 URL에 슬래시 문자가 포함된 분기 이름이 포함된 경우 작동하지 않았습니다. 이는 Bitbucket API BCLOUD-9969 의 문제로 인해 발생했습니다. 현재 릴리스에서는 이 문제가 완화됩니다. 분기 이름에 슬래시가 포함된 경우 토폴로지 URL은 리포지토리의 기본 분기 페이지를 가리킵니다. (BZ#1972694)
  • 이전에는 프라이빗 리포지토리의 Git 가져오기 흐름에서 생성된 파이프라인을 실행하지 못했습니다. 이 문제는 이제 시크릿 이름을 파이프라인의 ServiceAccount 오브젝트 주석에 추가하고 제공된 시크릿에 파이프라인별 주석을 추가하여 해결되었습니다. (BZ#1970984)

DNS

  • 이전에는 간헐적으로 잘못된 메모리 주소 또는 nil 포인터 역참조 오류가 발생했으며, CoreDNS 1.6.6을 실행할 때 Kube API 액세스에 대한 타임아웃이 발생했습니다. 이 문제는 끝점 삭제 표시로 오류를 올바르게 처리하여 해결되었습니다. 이제 CoreDNS는 간헐적인 패닉 없이 의도한 대로 작동합니다. (BZ#1868315)
  • 이전에는 DNS Operator가 API에서 설정한 기본값에 대한 응답으로 DNS서비스 오브젝트 업데이트를 반복적으로 시도했습니다. 이번 업데이트를 통해 DNS Operator는 DNS Operator에서 지정하지 않은 값을 DNSService 오브젝트의 값과 동일하게 간주합니다. 따라서 DNS Operator는 더 이상 API 기본값에 대한 응답으로 DNS 또는 서비스 오브젝트를 업데이트하지 않습니다. (BZ#1842741)

etcd

  • 이전에는 부트스트랩 노드가 제거된 후 ETCDCTL_ENDPOINTS의 부트스트랩 끝점이 제거되지 않았으므로 etcdctl 명령에서 예기치 않은 오류를 표시했습니다. 부트스트랩 끝점이 더 이상 ETCDCTL_ENDPOINTS에 추가되지 않으므로 etcdctl 명령에서 부트스트랩 끝점과 관련된 오류를 표시하지 않습니다. (BZ#1835238)

이미지

  • 이전에는 매니페스트 목록에서 다이제스트를 사용하여 이미지를 가져올 수 없었습니다. 이 업데이트에서는 매니페스트 목록 내에서 선택한 매니페스트의 다이제스트를 사용하여 매니페스트 목록에서 매니페스트로의 변환을 수정합니다. 따라서 매니페스트 목록 다이제스트로 가져오기가 이제 예상대로 작동합니다. (BZ#1751258)

이미지 레지스트리

  • 이전에는 일부 내부 패키지가 내부 오류 구조를 사용하여 null 포인터 문제가 발생했습니다. 이제 내부 오류 인터페이스가 반환되고 nil 오류가 올바르게 변환됩니다. (BZ#1815562)
  • Operator가 비어 있을 때 httpSecrets를 생성하지 않아 값이 올바르게 설정되지 않았습니다. 이제 구성 파일을 생성할 때 Operator에서 httpSecret을 생성하여 모든 복제본에 이를 사용합니다. (BZ#1824834)
  • 이전에는 이미지 정리기가 비활성화되면 잘못된 경고가 표시되었습니다. 이제 이 경고가 제거되었습니다. (BZ#1845642)
  • Registry Operator 유형 어설션이 변수에 대해 두 번 생성되었고 두 번째는 결과가 확인되지 않았습니다. 이로 인해 잘못된 어설션이 발생하고 패닉 조건이 형성되었습니다. 이제 확인된 유형 어설션이 사용되며 Operator에 패닉 조건이 발생하지 않습니다. (BZ#1879426)
  • 이전에는 Operator 부트스트랩 storageManaged 설정이 true 로 설정되어 사용자가 구성 파일을 수동으로 업데이트한 경우 충돌이 발생했습니다. 이제 추가 구성 필드인 spec.storage.storageManagementState가 생성되었습니다. 사용자가 Managed 또는 Unmanaged를 표시할 수 있으며, Operator에서 해당 설정을 유지합니다. (BZ#1833109)
  • 콘텐츠가 스토리지에 기록될 때 OpenStack에서 이미지 레지스트리를 제거하면 이미지 레지스트리에 대한 스토리지가 제거되지 않고 409 HTTP 반환 코드 오류가 기록되었습니다. 이 버그 수정을 통해 스토리지를 제거하기 전에 스토리지 콘텐츠를 제거합니다. 이제 Image Registry Operator가 제거되면 해당 스토리지도 제거됩니다. (BZ#1835770)
  • OpenStack에 설치하는 동안 Image Registry Operator 부트스트랩 프로세스 중 Swift 스토리지에 액세스하지 못하는 경우, 부트스트랩이 불완전했습니다. 이로 인해 이미지 레지스트리 구성 리소스가 생성되지 않아 수정이 차단되거나 구성이 변경되었습니다. 이 버그 수정을 통해 Swift 스토리지에 액세스할 때 문제가 발생해도 부트스트랩 중 오류가 발생하지 않습니다. 오류가 있는 경우 부트스트랩이 완료되고 구성 리소스가 생성될 수 있도록 오류가 기록됩니다. 이제 Image Registry Operator가 더 유연해졌으며 Swift 스토리지에 액세스할 수 없는 경우 PVC를 사용하여 내부 이미지 레지스트리를 부트스트랩합니다. (BZ#1846263)
  • Azure에서 할당량을 강제 적용하기 때문에 Image Registry Operator에서 Azure 끝점을 너무 여러 번 호출하지 않습니다. 이전에는 Operator에서 스토리지 계정 키를 지속적으로 쿼리했습니다. 이 버그 수정에서는 필요할 때마다 키를 얻기 위해 원격으로 이동하지 않도록 일정 시간 동안 키를 로컬로 캐시합니다. (BZ#1853734)
  • 이전에는 Operator에서 Operator 상태를 보고할 때 작업이 실패 상태가 될 수 있더라도 실행 중인 작업을 성공으로 해석했습니다. 이제 Operator 상태를 보고할 때 실행 중인 작업이 무시됩니다. (BZ#1857684)
  • s3 스토리지를 통해 실행할 때 디렉터리를 두 번 나열했기 때문에 이미지 레지스트리 제거 프로세스가 실패했습니다. 이제 디렉터리가 한 번 나열되고 이미지 제거 프로세스가 성공적으로 완료됩니다. (BZ#1861304)
  • 이전에는 Image Registry Operator가 제거된 경우 존재하지 않는 레지스트리에 연결할 수 없기 때문에 정리 작업이 실패했습니다. 이제 정리기 작업에서 etcd 오브젝트만 제거하고 레지스트리가 제거된 경우 ping을 시도하지 않습니다. (BZ#1867792)
  • 버킷 이름을 수동으로 추가한 경우 Operator에서 버킷을 생성하지 않았습니다. 이제 Operator에서 사용자가 제공한 이름을 기반으로 버킷을 생성합니다. (BZ31875013)
  • 이전에는 Image Registry Operator에서 리소스 버전 오류 메시지가 너무 큰 경우 클러스터에서 이벤트를 가져올 수 없었습니다. 이번 릴리스에서는 Operator가 Too 대규모 리소스 버전 오류 메시지에서 복구할 수 있도록 반영자를 수정하도록 client-go 라이브러리가 업데이트됩니다. (BZ#1880354)
  • 이전에는 Image Registry Operator 구성 파일에서 spec.requests.read/write.maxWaitInQueue에 제공된 값의 유효성이 검증되지 않았습니다. 제공된 값이 기간으로 구문 분석할 수 없는 문자열인 경우, 변경 사항이 적용되지 않고 잘못된 값을 알리는 메시지가 반복적으로 기록되었습니다. 이 릴리스에서는 사용자가 이 필드에 잘못된 값을 제공할 수 없도록 검증 단계가 추가되었습니다. (BZ#1833245)
  • 이전에는 이미지를 정리할 때 이미지 오브젝트 간 종속성 추적이 느렸습니다. 이미지 정리를 완료하는 데 시간이 오래 걸리는 경우가 있습니다. 기본 이미지 정리 메커니즘이 다시 설계되었습니다. 이제 이미지 정리가 빨라지고 병렬 처리가 향상되었습니다. (BZ#1860163)

설치 관리자

  • 이전에는 머신에서 resourcePoolPath를 가져오려고 할 때 리소스 풀을 여러 개 확인했고 올바른 풀을 확인할 수 없었습니다. 이 릴리스에서는 resourcePoolPath 정보와 함께 머신 설정에 속성이 추가되어 올바른 정보를 확인하는 데 도움이 됩니다. (BZ#1852545)
  • 이전에는 노드 서브넷을 프로비저닝할 때 DHCP 할당 풀의 끝을 계산할 때 하드 코딩된 값이 설정되었습니다. 이로 인해 머신 CIDR이 18보다 작은 OpenStack의 OpenShift Container Platform 클러스터에 배포하는 경우 오류가 발생했습니다. 이번 버그 수정을 통해 노드 수를 하드 코딩하지 않고 DHCP 할당 풀의 끝을 동적으로 계산합니다. 이제 모든 필수 노드에 대해 충분히 큰 경우 모든 길이의 시스템 CIDR을 사용하여 OpenStack에 클러스터를 배포할 수 있습니다. (BZ#1871048)
  • 이전에는 oVirt 네트워크 구문 분석에 영향을 준 ovirt-engine-sdk-go API 오류로 인해 클러스터 설치 중 일부 사용 가능한 네트워크가 표시되지 않았습니다. 이 문제가 이제 해결되었습니다. (BZ#1838559)
  • 이전에는 OpaqueNetwork 가 유효한 옵션인 경우에도 vSphere 웹 콘솔 마법사에서 Network 및 DistributedVirtualPortgroup 유형의 네트워크 만 표시되었습니다. 이제 OpaqueNetwork가 마법사의 옵션이므로 해당 네트워크 유형을 선택할 수 있습니다. (BZ#1844103)
  • 이전에는 Manila Operator가 사용자 정의 자체 서명 인증서를 지원하지 않았기 때문에 Manila Operator에서 자체 서명 인증서를 사용하는 일부 환경에 Manila CSI 드라이버를 배포하지 못했습니다. 이제 Operator에서 시스템 구성 맵에 있는 사용자 제공 CA 인증서를 가져와서 드라이버의 컨테이너에 마운트하고 드라이버 구성을 업데이트합니다. 그 결과 Manila Operator는 자체 서명된 인증서가 있는 환경에서 Manila CSI 드라이버를 배포하고 관리할 수 있습니다. (BZ#1839226)
  • 이전 버전에서는 설치 프로그램이 생성하는 리소스에 name 또는 kubernetes .io/cluster/ 태그를 추가하도록 platform. aws.userTags 매개변수를 구성하면 머신 API에서 기존 컨트롤 플레인 머신을 식별하고 다른 컨트롤 플레인 호스트 세트를 생성하지 못했습니다. 이로 인해 etcd 클러스터 멤버십에 문제가 발생했습니다. 이제 platform.aws.userTags 매개변수에 오류가 발생하기 쉬운 태그를 더 이상 설정할 수 없으며 클러스터에 추가 컨트롤 플레인 호스트와 손상된 etcd 클러스터가 발생할 가능성이 줄어듭니다. (BZ#1862209)
  • 이전에는 사용자 프로비저닝 인프라의 Azure 클러스터에 배포된 로드 밸런서에 상태 점검 프로브가 정의되지 않았습니다. 로드 밸런서가 정의되지 않았기 때문에 API 끝점을 더 이상 사용할 수 없는 경우 이를 탐지하지 못하고 트래픽을 계속 전달하여 클라이언트 오류가 발생했습니다. 이제 로드 밸런서에서 상태 점검 프로브가 사용 가능하며 API 끝점을 사용할 수 없는 경우 올바르게 감지되고 트래픽을 오프라인 노드로 라우팅하지 않습니다. (BZ#1836016)
  • 이전에는 설치 프로그램에서 *proxy.noProxy 필드의 유효한 값으로 허용하지 않았으므로 설치 중 프록시가 *로 설정된 클러스터를 생성할 수 없었습니다. 이제 설치 프로그램에서 *를 해당 매개변수의 유효한 값으로 허용하므로 설치 중 프록시 없음을 *로 설정할 수 있습니다. (BZ#1877486)
  • 이전에는 GCP에 클러스터를 설치할 때 항상 위치로 US 가 사용되어 미국 이외의 일부 리전에 클러스터를 설치할 수 없었습니다. 이제 설치 프로그램에서 사용자가 지정하는 지역에 맞는 올바른 위치를 설정하므로 다른 위치에서도 성공적으로 설치할 수 있습니다. (BZ#1871030)
  • 이전에는 설치 관리자 프로비저닝 인프라를 사용하여 vSphere에 클러스터를 설치할 때 수신 및 API에 동일한 IP 주소를 할당할 수 있었습니다. 이로 인해 부트스트랩 머신과 컨트롤 플레인 시스템 중 하나에 동일한 IP 주소가 있었습니다. 이제 설치 프로그램에서 IP 주소가 다른지 확인하고 컨트롤 플레인 및 부트스트랩 시스템에 고유한 IP 주소가 있습니다. (BZ#1853859)
  • 이전에는 인터페이스에서 새 DHCP4 또는 DHCP6 리스를 가져올 때 local-dns-prepender 에서 클러스터에 필요한 모든 해결 프로그램을 포함하도록 resolv.conf 파일을 업데이트하지 않았습니다. 이제 dhcp4-changedhcp6-change 작업 유형을 수행하면 항상 local-dns-prepender에서 업데이트를 시작합니다(BZ#1866534).
  • 이전에는 클러스터를 asia-northeast3, asia-southeast-2, us-west3, us-west4 GCP 리전에 배포할 수 없었습니다. 이제 이러한 리전을 사용할 수 있습니다. (BZ#1847549)
  • 이전에는 OpenStack 설치 프로그램에서 InstanceID() 함수에 일관되지 않은 출력 형식을 사용했습니다. 메타데이터에서 또는 서버에 요청을 전송하여 인스턴스 ID를 가져왔습니다. 후자의 경우 결과에 항상 '/' 접두사가 포함되었으며 이는 올바른 형식입니다. 인스턴스 ID를 메타데이터에서 가져오는 경우에는 노드의 존재를 확인하지 못하여 오류로 인해 실패했습니다. 이제 메타데이터 형식에도 '/' 접두사가 포함되므로 ID 형식이 항상 올바르며 노드의 존재를 확인할 수 있습니다. (BZ#1850149)
  • 이전에는 클러스터에 FIPS를 사용하도록 설정한 경우 베어 메탈 설치 관리자 프로비저닝 인프라 플랫폼에 대한 프로비저닝 서비스가 실패했습니다. 이 업데이트를 통해 FIPS가 활성화된 경우에도 프로비저닝 서비스가 예상대로 실행되고 설치가 성공적으로 완료됩니다. (BZ#1804232)
  • 이전에는 프로비저닝 네트워크가 클러스터 프로비저닝 VIP를 포함하여 전체 서브넷을 사용하도록 DHCP 범위를 구성할 수 있었습니다. 이로 인해 부트스트랩 VM IP 및 클러스터 프로비저닝 IP를 할당할 수 없어 설치가 실패했습니다. 이 수정을 통해 이제 DHCP 범위와 겹치지 않도록 VIP를 검증합니다. (BZ#1843587)
  • 이전에는 인증서 뒤에 두 개의 줄 끝 문자 시퀀스가 오면 설치하지 못했습니다. 이 업데이트에서는 보이지 않는 문자를 무시하도록 CA(인증 기관) 인증서 신뢰 번들 구문 분석기를 수정합니다. 따라서 CA 인증서 신뢰 번들에서 인증서 이전, 사이 및 이후에 임의의 수의 줄 끝 문자 시퀀스가 포함될 수 있습니다. (BZ#1813354)
  • 이전 버전에서는 대화형 설치 관리자 프롬프트에서 클러스터에 대한 ExternalNetwork 리소스를 요청하면 잘못된 옵션이 포함되어 가능한 모든 네트워크 선택 항목이 나열되었습니다. 이 업데이트를 통해 이제 대화형 설치 관리자에서 가능한 옵션을 필터링하여 외부 네트워크만 나열합니다. (BZ#1881532)
  • 이전에는 베어 메탈 kube-apiserver 상태 점검 프로브에서 하드 코딩된 IPv4 주소를 사용하여 로드 밸런서와 통신했습니다. 이 업데이트에서는 IPv4 및 IPv6 사례를 모두 처리하는 localhost를 사용하도록 상태 점검을 수정합니다. 또한 healthz 대신 API 서버의 readyz 끝점을 점검합니다. (BZ#1847082)
  • 모든 종속 단계를 나열하지 않은 Terraform 단계로 인해 RHOSP(Red Hat OpenStack Platform)의 클러스터에서 리소스 not found 오류 메시지로 Terraform 작업이 실패하는 경우가 있었습니다. 경합 상태를 피하기 위해 이제 단계가 dependent_on으로 나열됩니다. (BZ#1734460)
  • 이전에는 클러스터 API가 머신을 업데이트하기 전에 RHOSP 플레이버를 검증하지 않았습니다. 그 결과 올바르지 않은 플레이버가 있는 머신이 부팅되지 않았습니다. 이제 머신을 업데이트하기 전에 플레이버를 검증하고 머신에 올바르지 않은 플레이버가 있는 경우 즉시 오류를 반환합니다. (BZ#1820421)
  • 이전에는 이름에 마침표(.)가 있는 RHOSP의 클러스터가 설치의 부트스트랩 단계에서 실패했습니다. RHOSP의 클러스터 이름에 더 이상 마침표가 허용되지 않습니다. 클러스터 이름에 마침표가 포함된 경우 설치 프로세스 초기에 오류 메시지가 표시됩니다. (BZ#1857158)
  • 이전에는 AWS에서 사용자 프로비저닝 인프라가 배포된 클러스터의 로드 밸런서에 대해 상태 점검 프로브가 정의되지 않았습니다. API 끝점을 사용할 수 없게 된 경우 로드 밸런서에서 이를 탐지하지 못해 클라이언트 오류가 발생했습니다. 이 업데이트를 통해 상태 점검 프로브가 추가되었으며 로드 밸런서에서 트래픽을 오프라인 상태의 노드로 라우팅하지 않습니다. (BZ#1836018)
  • 이전에는 Terraform vSphere 공급자의 DiskPostCloneOperation 기능이 Red Hat CoreOS OVA 이미지에서 복제된 가상 머신의 thin_provisionedeagerly_scrub 속성을 확인했습니다. 복제 중 프로비저닝 유형이 변경되어 소스 프로비저닝 유형과 일치하지 않아 확인에 실패했습니다. 이제 DiskPostCloneOperation 함수에서 이러한 속성을 무시하고 Red Hat CoreOS OVA 복제를 성공적으로 수행합니다. (BZ#1862290)
  • ./openshift-install destroy cluster를 실행할 때 설치 관리자에서 해당 태그를 사용하는 리소스를 제거하기 전에 설치 관리자 태그를 제거하려고 했습니다. 이로 인해 설치 관리자에서 태그를 제거하지 못했습니다. 이 업데이트를 통해 설치 관리자는 해당 리소스가 삭제된 후 태그를 제거합니다. (BZ#1846125)

kube-apiserver

  • 이전에는 CVO(Cluster Version Operator)에서 LatencySensitive 기능 게이트가 사용 중일 때 클러스터를 업그레이드할 수 없는 것으로 표시했습니다. 이 업데이트를 통해 CVO는 더 이상 LatencySensitive 기능 게이트를 클러스터 업그레이드용 블록으로 간주하지 않습니다. 문제를 해결하려면 솔루션이 포함된 최신 4.5.z 또는 안정적인 버전으로 강제 업그레이드하십시오. (BZ#1861431)

kube-controller-manager

  • 이전에는 데몬 세트 컨트롤러에서 데몬 세트를 재생성할 때 예상을 지우지 않았습니다. 결과적으로 기대치가 만료될 때까지 데몬 세트가 5분 동안 중단될 수 있습니다. 이제 데몬 세트 컨트롤러에서 기대치를 올바르게 지웁니다. (BZ#1843319)
  • 프로젝트가 제거될 때 UID 범위 할당이 업데이트되지 않아 네임스페이스 생성 및 제거 회전율이 높은 클러스터에서 UID 범위가 소진될 수 있습니다. 문제를 해결하기 위해 kube-controller-manager 포드가 주기적으로 재시작되어 수리 절차가 트리거되고 UID 범위가 지워집니다. (BZ#1808588)
  • 이전에는 끝점 컨트롤러에서 모든 정보원 재동기화 간격마다 대량의 API 요청을 보냈기 때문에 끝점이 많은 대규모 클러스터의 성능이 저하되었습니다. 스토리지의 다양한 불일치와 끝점 비교로 인해 끝점 컨트롤러에서 클러스터에 실제로 필요한 것보다 많은 추가 업데이트가 필요하다고 잘못 가정했습니다. 이 수정은 끝점에 대한 스토리지 및 비교 기능을 업데이트하여 일관성을 높입니다. 따라서 끝점 컨트롤러는 이제 필요한 경우에만 업데이트를 보냅니다. (BZ#1854434)
  • 이전에는 NotFound 오류가 컨트롤러 논리에 의해 잘못 처리되었습니다. 이로 인해 배포, 데몬 세트 및 복제본 세트 컨트롤러와 같은 컨트롤러가 누락된 Pod를 인식하지 못했습니다. 이번 수정에서는 Pod가 이전에 제거되었음을 나타내는 pod NotFound 이벤트에 올바르게 반응하도록 컨트롤러를 업데이트합니다. (BZ#1843187)

kube-scheduler

  • 이전에는 시험 실행 모드에서 포드를 제거할 때 특정 Descheduler 전략에서 제거를 두 번 기록했습니다. 이제 제거에 사용할 하나의 로그 항목만 생성됩니다. (BZ#1841187)

로깅

  • 이전에는 Elasticsearch 인덱스 지표가 기본적으로 Prometheus에 수집되었습니다. 그 결과 Prometheus는 인덱스 수준 지표의 크기로 인해 스토리지가 빨리 부족해지고, Prometheus가 계속 작동하기 위해서는 사용자가 개입해야 합니다(예: Prometheus 보존 시간 단축). Elasticsearch 인덱스 지표를 수집하지 않도록 기본 동작이 변경되었습니다. (BZ#1858249)
  • OpenShift Elasticsearch Operator가 Kibana 배포에 대한 시크릿 해시를 업데이트하지 않았기 때문에 시크릿이 업데이트되면 Kibana Pod가 재시작되지 않았습니다. 배포에 대한 해시를 올바르게 업데이트하도록 코드가 변경되어 포드가 예상대로 재배포됩니다. (BZ#1834576)
  • Fluentd init 컨테이너 도입으로 인해 EO(OpenShift Elasticsearch Operator)를 배포하지 않고 Fluentd를 클러스터에 배포할 수 없었습니다. EO가 없는 Fluentd를 허용하도록 코드가 변경되었습니다. 결과적으로 Elasticsearch가 없는 클러스터에서 Fluentd가 예상대로 작동합니다. (BZ#1849188)
  • iframe에서 Kibana를 여는 기능이 명시적으로 거부되지 않아 클릭재킹과 같은 공격 가능성에 Kibana가 노출되었습니다. iframe 사용을 차단하는 x-frame-options:deny를 명시적으로 설정하도록 코드가 변경되었습니다. (BZ#1832783)

Machine Config Operator

  • 베어 메탈 환경에서는 infra-dns 컨테이너가 각 호스트에서 실행되어 노드 이름 확인 및 기타 내부 DNS 레코드를 지원합니다. NetworkManager 스크립트는 또한 호스트의 /etc/resolv.conf 를 업데이트하여 infra-dns 컨테이너를 가리킵니다. 또한 포드가 생성되면 포드에 해당 호스트의 DNS 구성 파일(/etc/resolv.conf 파일)이 수신됩니다.

    NetworkManager 스크립트에서 호스트의 /etc/resolv.conf 파일을 업데이트하기 전에 HAProxy 포드를 생성한 경우 api-int 내부 DNS 레코드를 확인할 수 없기 때문에 포드가 반복적으로 실패할 수 있습니다. 이 버그 수정에서는 MCO(Machine Config Operator)를 업데이트하여 HAProxy 포드의 /etc/resolv.conf 파일이 /etc/resolv.conf 파일과 동일한지 확인하도록 합니다. 그 결과 HAProxy 포드에 더 이상 이러한 오류가 발생하지 않습니다. (BZ#1849432)

  • Keepalived는 API 및 기본 라우터 모두에 고가용성(HA)을 제공하는 데 사용됩니다. 각 노드의 Keepalived 인스턴스는 로컬 엔티티의 상태 끝점(예: 로컬 kube-apiserver)을 컬링(curling)하여 로컬 상태를 모니터링합니다. 이전에는 TCP 연결이 실패한 경우에만 curl 명령이 실패했으며 HTTP 200 이외의 오류에서는 실패하지 않았습니다. 이로 인해 Keepalived가 로컬 엔터티가 비정상인 경우에도 다른 정상 노드로 장애 조치하지 않아 API 요청에 오류가 발생했습니다.

    이 버그 수정에서는 서버가 200 이외의 반환 코드로 응답 때도 실패하도록 MCO(Machine Config Operator)를 업데이트합니다. 그 결과 로컬 개체에서 오류가 발생하는 경우 API 및 Ingress 라우터가 이제 정상 노드로 올바르게 장애 조치됩니다. (BZ#1844387)

  • 베어 메탈 환경에서는 일부 DNS 레코드가 IPv4용으로 하드 코딩되었습니다. 이로 인해 일부 레코드가 IPv6 환경에서 올바르게 제공되지 않아 외부 DNS 서버에서 해당 레코드를 만들어야 하는 경우가 있었습니다. 이 버그 수정에서는 MCO(Machine Config Operator)를 업데이트하여 사용 중인 인터넷 프로토콜 버전에 따라 DNS 레코드가 올바르게 채워집니다. 결과적으로 내부 레코드가 IPv4 및 IPv6 모두에서 올바르게 제공됩니다. (BZ#1820785)
  • 이전에는 머신 구성에 지정된 커널 인수를 배열의 개별 인수 문자열로 분할해야 했습니다. 이러한 인수는 rpm-ostree 명령에 연결되기 전에 검증되지 않았습니다. 커널 명령행에서 한 줄에 허용된 공백을 사용하여 여러 개의 커널 인수를 연결하면 잘못된 rpm-ostree 명령이 생성됩니다. 이번 버그 수정에서는 커널과 유사한 방식으로 각 kernelArgument 항목을 구문 분석하도록 머신 구성 컨트롤러를 업데이트합니다. 그 결과 공백을 사용하여 여러 개의 연결된 인수를 오류 없이 제공할 수 있습니다. (BZ#1812649)
  • 이전에는 베어 메탈 환경의 사용자 워크로드에 대해 컨트롤 플레인을 항상 예약할 수 있었습니다. 이 버그 수정에서는 작업자가 있는 일반적인 배포에서 컨트롤 플레인 노드가 NoSchedule로 올바르게 구성되도록 MCO(Machine Config Operator)를 업데이트합니다. (BZ#1828250)
  • 이전에는 MCO(Machine Config Operator)에서 불필요한 API VIP 이동으로 인해 클라이언트 연결 오류가 발생할 수 있었습니다. 이 버그 수정에서는 API VIP 상태 점검을 업데이트하여 이동 횟수를 제한합니다. 그 결과 이제 API VIP 이동으로 인한 오류가 감소합니다. (BZ#1823950)

웹 콘솔(관리자 화면)

  • 피연산자 목록 보기에 대한 피연산자의 탭이 누락되었습니다. 이 버그 수정으로 문제가 해결되었습니다. (BZ#1842965)
  • IPv6이 비활성화되면 다운로드 포드 소켓이 바인딩되지 않고 다운로드 포드가 충돌했습니다. IPv6이 활성화되지 않은 경우 이제 소켓에 IPv4가 사용됩니다. 이제 다운로드 포드가 IPv4 및 IPv6 활성화와 관계없이 작동합니다. (BZ#1846922)
  • Operator 상태 표시 값에 수동 승인 전략이 고려되지 않았습니다. 따라서 업그레이드 사용 가능 상태가 표시되고 이로 인해 업그레이드를 위해서는 추가 조치가 필요하다는 내용이 전달되지 않았습니다. 업그레이드를 위해 수동 승인을 기다리는 Operator에 새로운 상태 메시지가 추가되었습니다. 이제 Operator 업그레이드에 추가 조치가 필요한 시기를 명확하게 확인할 수 있습니다(BZ#1826481).
  • 실패한 피연산자 양식 제출을 위한 가져오기 논리에서 정의되지 않는 경우가 있는 결과 오류 오브젝트의 깊은 속성에 액세스하려고 했습니다. 실패한 특정 요청 유형의 경우 이로 인해 런타임 오류가 발생합니다. 이 버그 수정으로 문제가 해결되었습니다. (BZ#1846863)
  • Victory는 모두 0인 데이터 세트를 잘 처리하지 못합니다. 모두 0인 데이터 세트의 경우 Y축 눈금 표시가 0으로 반복되었습니다. 모든 데이터 세트가 모두 0인 경우 [0,1]이라는 Y 도메인을 강제 적용하도록 영역 차트 논리가 업데이트되었습니다. 이제 모두 0인 데이터 세트의 Y축 눈금 표시는 01입니다. (BZ#1856352)
  • 현재 설치된 버전이 OperatorHub의 Operator 세부 정보 창에 표시되지 않았습니다. 따라서 현재 설치된 버전이 최신 버전인지 확인할 수 없었습니다. 이제 현재 설치된 Operator 버전이 최신 버전이 아닌 경우 OperatorHub의 Operator 세부 정보 창에 설치된 버전이 표시됩니다. (BZ#1856353)
  • 역할 바인딩 생성 링크에 일관되지 않게 네임스페이스 지정되거나 클러스터 링크가 사용되어 역할 바인딩 생성 페이지가 올바르지 않았습니다. 이 버그 수정에서는 네임스페이스를 사용할 수 있는 경우 네임스페이스를 사용하고 사용할 수 없는 경우 클러스터를 사용하도록 링크를 업데이트합니다. 이제 올바른 페이지가 사용됩니다. (BZ#1871996)
  • 이전에는 웹 콘솔에서 singlestat 패널에 Grafana 값 맵을 지원하지 않아 singlestat 패널에 Grafana 값 맵이 표시되지 않았습니다. 이제 지원이 추가되어 singlestat 패널에서 Grafana 값 맵을 표시할 수 있습니다. (BZ#1866928)
  • oc debug가 작업자 노드에 대해서만 작동하는 문제를 해결하기 위해 빈 노드 선택기를 사용하여 새 디버그 프로젝트를 만들도록 BZ#1812813을 사용하여 OC debug를 업데이트했습니다. 웹 콘솔에서는 터미널이 열리기 전에 노드터미널 페이지를 방문할 때 사용자에게 네임스페이스를 선택하도록 요청하여 이 문제를 방지하여 oc 에 비해 사용자 경험이 일관되지 않았습니다. 웹 콘솔에서 노드 터미널 페이지를 방문할 때 빈 노드 선택기를 사용하여 새 디버그 프로젝트를 생성합니다. 웹 콘솔 노드터미널 페이지의 동작이 이제 oc debug 동작과 일치합니다. (BZ#1881953)
  • 모든 수신자가 삭제되면 웹 콘솔에 런타임 오류가 발생하고 빈 화면이 표시되었습니다. 이제 Null 검사가 코드에 추가되고 대신 수신자 없음이라는 빈 상태 화면이 표시됩니다. (BZ#1849556)
  • 경우에 따라 레거시 피연산자 생성 양식의 리소스 요구 사항 위젯에 전달된 값이 immutablejs 맵 인스턴스가 아닐 수 있었습니다. 리소스 요구 사항 위젯 현재 값에 대한 immutablejs Map.getIn 함수를 참조하려고 하면 런타임 오류가 발생했습니다. immutablejs Map.getIn 함수를 참조할 때 선택적 체인을 사용하십시오. 런타임 오류가 발생하지 않고 위젯이 값 없이 렌더링됩니다. (BZ#1883679)
  • imagemanifestvuln 리소스에서 검색을 사용할 때 빈 페이지가 표시되었습니다. 구성 요소에서는 종종 정의되지 않은 props.match.params.ns를 사용했습니다. 그 결과 런타임 오류가 발생했습니다. 이 문제는 이제 해결되었습니다. (BZ#1859256)
  • 이전에는 피연산자 목록 오른쪽의 작업 메뉴가 열린 후 바로 닫힐 수 있었습니다. Operator 제공 API의 탭 중 하나를 클릭하면 설치된 Operator 세부 정보 페이지에서 확인할 수 있었습니다. 이제 메뉴가 올바르게 작동하고 사용자 개입 없이는 닫히지 않습니다. (BZ#1840706)
  • API에 누락된 키워드 필드가 있고 OperatorHub에서 키워드로 검색할 수 없었습니다. 이 버그 수정으로 문제가 해결되었습니다. (BZ#1840786)
  • 이전에는 웹 콘솔의 OperatorHub에 잘못된 Operator 아이콘이 표시되는 경우가 있었습니다. 이번 릴리스에서 이 문제가 해결되었습니다. (BZ#1844125)
  • 이 릴리스에서는 웹 콘솔 OperatorHub 설치 페이지에서 깨진 클러스터 모니터링 문서 링크가 수정되었습니다. (BZ#1856803)
  • 이전에는 EtcdRestores 페이지에서 Create EtcdRestore를 클릭하면 웹 콘솔의 응답이 중지되었습니다. 이번 릴리스에서는 Create EtcdRestore 작성 양식보기 워크 플로우가 올바르게 로드됩니다. (BZ#1845815)
  • 이전에는 피연산자 양식 배열 및 오브젝트 필드에 양식에서 필드 설명을 검색하고 표시하는 논리가 없었습니다. 그 결과 배열 또는 오브젝트 유형 필드에 대한 설명이 렌더링되지 않았습니다. 이번 버그 수정에서는 피연산자 생성 양식에 배열 및 오브젝트 필드 설명을 표시하는 논리를 추가합니다. (BZ#1854198)
  • 이전에는 새 포드가 시작될 때 e is undefined 오류와 함께 배포 구성 개요 페이지가 충돌하는 경우가 있었습니다. 이번 릴리스에서 이 문제가 해결되었습니다. (BZ#1853705)
  • 이전에는 OpenShift Dedicated 사용자가 클러스터 업그레이드를 수행할 수 없는 경우에도 웹 콘솔의 클러스터 업그레이드 인터페이스가 OpenShift Dedicated에 표시되었습니다. 이제 OpenShift Dedicated의 클러스터 업그레이드 인터페이스가 표시되지 않습니다. (BZ#1874257)
  • 이전에는 양식을 제출하거나 양식과 YAML 보기를 전환할 때 피연산자 템플릿의 빈 오브젝트가 정리되었습니다. 이 릴리스에서는 양식 데이터에서 빈 구조를 정리할 때 템플릿 데이터가 마스크로 사용되며 템플릿에 정의되지 않은 값만 정리됩니다. 템플릿에 정의된 빈 값은 그대로 유지됩니다. (BZ#1847921)
  • 클러스터 로깅 도넛 차트를 가리키면 툴팁 세부 정보가 잘리는 경우가 있었습니다. 이 버그 수정을 통해 이 차트에 대한 전체 툴팁 설명이 표시됩니다. (BZ#1842408)
  • 인스턴스 생성 페이지의 레지스트리 필드의 경우 스키마 속성 설명의 일부 텍스트는 Linkify에서 퍼지 하이퍼링크를 생성하는 데 사용된 형식과 일치했습니다. 이로 인해 의도하지 않은 하이퍼링크가 생성되었습니다. 이 버그 수정에서는 Linkify에서 퍼지 링크 기능을 비활성화합니다. 이제 적절한 프로토콜 체계를 사용하는 URL 문자열만 하이퍼링크로 렌더링됩니다. (BZ#1841025)
  • ListDropdown 구성 요소가 로드 중 상태가 아닌 경우에도 AWS Secret 필드에 항상 로드 아이콘이 표시되었습니다. 이 버그는 드롭다운 목록이 로드 중 상태일 때만 로드 아이콘이 표시되도록 구성 요소 논리를 수정합니다. 드롭다운 목록이 로드 중 상태가 아닌 경우에는 자리 표시자가 표시됩니다. (BZ#1845817)
  • 이전에는 로그에 긴 행이 포함된 경우 웹 콘솔의 리소스 로그 페이지가 느려지거나 응답하지 않았습니다. 이 버그는 리소스 로그 페이지에 표시되는 로그 행당 문자 수를 제한하고 전체 로그 콘텐츠를 볼 수 있는 대체 방법을 제공하여 성능 문제를 해결합니다. (BZ#1874558)
  • 이전에는 잘못된 쿼리로 인해 Used 및 Total 대한 노드 파일 시스템 계산이 올바르지 않았습니다. 이제 쿼리가 업데이트되어 데이터가 올바르게 계산됩니다. (BZ31874028)
  • 웹 콘솔의 Overview (개요) 페이지에 네트워크 사용률 데이터를 표시하는 컨테이너 수준 사용량 지표가 잘못 포함되었습니다. 이 버그 수정에서는 네트워크 활용도 데이터를 정확하게 표시하도록 잘못된 지표를 노드 수준 사용량 지표로 교체합니다. (BZ#1855556)
  • 이전에는 Operator의 생성 시점 타임스탬프 형식에 특정 형식이 필요하지 않아 타임스탬프가 웹 콘솔에서 일관되지 않게 표시되었습니다. 이제 생성 시점 타임스탬프 값이 Operator의 유효한 날짜로 입력되면 타임스탬프가 콘솔의 다른 타임스탬프와 일관된 방식으로 표시됩니다. 값을 유효한 날짜 형식으로 입력하지 않으면 생성 시점 타임스탬프가 잘못된 문자열로 표시됩니다. (BZ#1855378)
  • 웹 콘솔에 OperatorHub의 이전 로고가 표시되었습니다. 이 버그 수정으로 이전 로고가 현재 로고로 교체되었습니다. (BZ#1810046)
  • 이전에는 Operator 리소스 필드 이름이 웹 콘솔에서 camelCase 또는 Start Case로 일관되지 않게 표시되었습니다. 이제 피연산자 양식 생성 논리를 통해 기본적으로 Start Case를 사용하여 양식 필드에 라벨을 지정합니다. 기본값은 CSV 또는 CRD 오브젝트로 덮어쓸 수 있습니다. (BZ#1854196)
  • 이전에는 리소스 로그 보기에 단일 줄 로그가 표시되지 않았으며 줄 바꿈 제어 문자(/n)가 누락된 경우 Pod 로그의 마지막 줄이 표시되지 않았습니다. 이제 로그 보기가 업데이트되어 줄 바꿈 문자로 끝나지 않는 한 줄 로그 및 마지막 줄에 대한 전체 포드 로그 콘텐츠가 표시됩니다. (BZ#1876853)
  • 이전에는 OpenShift Container Platform 웹 콘솔 YAML 편집기에서 모든 리소스에 metadata.namespace 항목을 사용할 수 있었습니다. 네임스페이스 값을 사용하지 않는 리소스에 namespace: <namespace>가 추가되면 오류가 반환되었습니다. 이제 리소스에서 네임스페이스 값을 사용하지 않는 경우 구성이 저장될 때 metadata.namespace 항목이 제거됩니다. (BZ#1846894)
  • 이전에는 이름 값 편집기의 삭제 아이콘(-)에 툴팁이 제공되지 않아 이 아이콘이 어떤 작업을 수행하는지 명확하지 않았습니다. 이제 작업을 더 쉽게 이해할 수 있도록 삭제 아이콘(-)에 툴팁이 제공됩니다. (BZ#1853706)
  • 이전에는 ()와 같은 특수 문자가 있는 리소스 이름으로 인해 리소스 세부 정보가 OpenShift Container Platform 콘솔에 표시되지 않을 수 있었습니다. 이제 리소스 이름에 특수 문자가 있어도 리소스 세부 정보가 올바르게 표시됩니다. (BZ#1845624)

모니터링

  • 이전에는 구성이 완전히 생성되지 않은 상태로 Prometheus에 대한 구성이 다시 로드되는 경우가 있었습니다. 이로 인해 스크랩 또는 경고 대상이 없어 PrometheusNotIngestingSamplesPrometheusNotConnectedToAlertmanagers 경고가 트리거되었습니다. 이제 구성 다시 로드 프로세스에서 Prometheus를 다시 로드하기 전에 디스크의 구성이 유효한지 확인하고 경고가 표시되지 않습니다. (BZ#1845561)
  • 이전에는 상태 저장 세트의 롤링 업데이트로 인해 일부 Alertmanager 포드가 일시적으로 실행되지 않았기 때문에 업그레이드 중에 AlertmanagerConfigInconsistent 경고가 실행될 수 있었습니다. 경고가 자체적으로 해결되었지만 이로 인해 클러스터 관리자가 혼란스러울 수 있습니다. AlertmanagerConfigInconsistent에서 더 이상 실행 중인 Alertmanager 포드의 수를 고려하지 않으므로 일부 Alertmanager 포드가 일시적으로 실행되지 않는 경우 업그레이드하는 동안 해당 경고가 표시되지 않습니다. (BZ#1846397)
  • 이전에는 일부 경고에 올바른 심각도가 설정되지 않았거나 올바르지 않아 업그레이드 문제가 발생했습니다. 경고 대부분의 심각도 수준이 위험에서 경고로 변경되고 KubeStatefulSetUpdateNotRolledOutKubeDaemonSetRolloutStuck 경고가 조정되었으며, KubeAPILatencyHighKubeAPIErrorsHigh 경고는 제거되었습니다. 이러한 경고가 이제 올바르며 업그레이드 문제가 발생하지 않습니다. (BZ#1824988)
  • 이전에는 KubeTooManyPods 경고에서 완료된 포드를 포함하는 kubelet_running_pod_count를 사용했기 때문에 KubeTooManyPods 경고로 올바르지 않았습니다. 이제 container_memory_rss를 활용하여 KubeTooManyPods 경고에 대해 노드에서 실행 중인 실제 포드 수를 찾습니다. (BZ#1846805)
  • 이전에는 node_exporter 데몬 세트의 기본값이 maxUnavailable1 로 설정되어 대규모 클러스터에서 롤아웃이 완전히 직렬화되고 속도가 느렸습니다. node_exporter 데몬 세트는 워크로드 가용성에 영향을 미치지 않으므로 이제 maxUnavailable 값이 클러스터 크기에 따라 확장되므로 더 빨리 롤아웃할 수 있습니다. (BZ#1867603)

네트워킹

  • 이번 릴리스에서 Kuryr-Kubernetes는 in kuryr.conf 에 설정된 값을 사용하는 대신 CNI(Container Network Interface) 수준에서 Pod 하위 포트에 대한 브리지 인터페이스를 탐지하려고 합니다. 이러한 접근 방식을 통해 VM에서 kuryr.conf에 설정된 값을 사용하지 않고 인터페이스를 호출할 수 있습니다. (BZ#1829517)
  • 이전에는 OpenShift SDN에서 HTTP를 통해 암호화되지 않은 지표를 노출했습니다. 이제 OpenShift SDN에서 TLS를 통해 지표를 노출합니다. (BZ#1809205)
  • 이전 버전에서는 서비스를 유휴 상태로 설정할 때 OpenShift SDN에서 서비스와 해당 엔드포인트를 올바른 순서로 항상 삭제하지 않았습니다. 그 결과 서비스의 노드 포트가 종종 삭제되지 않았습니다. 이로 인해 서비스가 다시 확장될 때 해당 포트에 연결할 수 없었습니다. 이제 OpenShift SDN에서 노드 포트가 항상 올바르게 삭제되었는지 확인합니다. (BZ#1857743)
  • 이전에는 레거시 iptables 바이너리에 대한 종속성이 누락되어 송신 라우터 포드를 초기화하지 못했습니다. 이제 송신 라우터 Pod가 성공적으로 초기화됩니다. (BZ#1822945)
  • 이전 버전에서는 OVN-Kubernetes 클러스터 네트워킹 공급자를 사용하는 클러스터에서 네트워크 정책을 삭제할 때 관련 네임스페이스를 삭제할 때 경쟁 조건으로 인해 네트워크 정책이 안정적으로 삭제되지 않았습니다. 이제 네트워크 정책 오브젝트가 항상 올바르게 삭제됩니다. (BZ#1859682)
  • 이전에는 다중 테넌트 격리 모드에서 OpenShift SDN 포드 네트워크 공급자를 사용할 때 포드에서 externalIPs 세트를 사용하여 구성된 서비스에 연결할 수 없었습니다. 이제 포드에서 서비스 외부 IP 주소가 구성된 서비스에 연결할 수 있습니다. (BZ#1762580)
  • 이전에는 OVN-쿠버네티스에서 HTTP를 통해 암호화되지 않은 지표를 노출했습니다. 이제 OVN-Kubernetes가 TLS를 통해 지표를 노출합니다. (BZ#1822720)
  • 이전에는 Red Hat OpenStack Platform의 OpenShift Container Platform에서 OVN-Octavia 드라이버를 사용할 때 동일한 포트의 다른 프로토콜에 리스너를 연결할 수 없었습니다. 이제 동일한 포트에서 여러 프로토콜을 노출할 수 있습니다. (BZ#1846396)

노드

  • 이전에는 소프트 제거 임계값 및 유예 기간이 지정되지 않은 경우 Kubelet이 시작되지 않았습니다. 이 릴리스에서는 Kubelet 구성 중 이러한 값이 있는지 확인합니다. (BZ#1805019)
  • 사용자가 kubeconfig 오브젝트의 CPU 및 메모리 요청에 음수 값, 숫자가 아닌 문자와 같이 잘못된 문자를 입력할 수 있어 kubelet이 시작되지 않았습니다. kubelet 구성 메모리 요청 값이 유효한지 확인하도록 코드가 변경되었습니다. 결과적으로 잘못된 값이 거부됩니다. (BZ#1745919)
  • 이전에는 루트 장치에 장치 매퍼가 사용되는 경우 cadvisor에서 반환된 주요 호스트 수준의 여러 IO 지표가 0으로 잘못 설정되었습니다. 장치 매퍼가 루트에 사용되는 경우 cadvisor가 이러한 지표를 보고하도록 수정되었습니다. (BZ#1831908)

oauth-apiserver

  • 이전에는 Authentication Operator에서 Accept: application/json 헤더를 무시하는 OIDC(OpenID Connect Authentication) 서버에서 HTML 페이로드를 수신하면 Operator에서 페이로드에 대한 오류를 기록했습니다. 이제 Operator에 OIDC 서버 응답 문제 해결에 도움이 되도록 요청한 페이지의 URL이 포함됩니다. (BZ#1861789)

oc

  • 이전에는 프로젝트를 전환하기 위해서는 oc project 명령에 self-provisioner 역할의 권한이 필요했습니다. 이로 인해 일부 사용자는 해당 역할이 없는 경우 프로젝트를 전환할 수 없었습니다. self-provisioner 역할 요구 사항이 제거되어 이제 프로젝트에 액세스할 수 있는 모든 사람이 oc project를 사용하여 프로젝트를 전환할 수 있습니다. (BZ#1849983)
  • 이전에는 lastTimestamp로 이벤트를 정렬하는 경우 lastTimestamp가 비어 있는 이벤트를 정렬하면 오류가 발생할 수 있었습니다. 이제 lastTimestamp에 따라 정렬할 때 비어 있는 요소로 인해 오류가 발생하지 않고 제대로 작동합니다. (BZ#1880283)
  • 이전에는 oc create job 명령에 --save-config 플래그에 대한 논리가 누락되어 --save-config 옵션이 예상대로 작동하지 않았습니다. --save-logic 플래그에 대한 논리가 추가되어 이제 제대로 작동합니다. (BZ#1844998)

OLM

  • OLM(Operator Lifecycle Manager)은 서브스크립션 CRD에 subscription.spec.config.nodeSelector 필드를 노출하지만 이전에는 CSV( ClusterServiceVersion 오브젝트)에 정의된 배포에 nodeSelectors 레이블을 적용하지 않았습니다. 이로 인해 CSV 배포에 nodeSelector를 설정할 수 없었습니다. 이 버그 수정에서는 subscription.spec.config.nodeSelector 필드에 정의된 nodeSelector 라벨을 CSV의 배포에 전파하도록 OLM을 업데이트합니다. 그 결과 이 필드가 이제 예상대로 작동합니다. (BZ#1860035)
  • 이전에는 설치 단계에 진입한 CSV( ClusterServiceVersion 오브젝트)를 여러 번 설치할 때 OLM(Operator Lifecycle Manager)에서 기존 유효한 CA 인증서를 재사용하지 않았습니다. OLM은 새 Webhook 해시를 배포에 적용하여 이로 인해 새 복제본 세트가 생성되었습니다. 그러면 실행 중인 Operator가 설치 중 여러 번 재배치될 수 있었습니다. 이 버그 수정 업데이트를 통해 이제 OLM에서 CA가 이미 존재하는지 확인하고 유효한 경우 재사용합니다. 결과적으로 OLM에서 기존의 유효한 CA를 발견하는 경우 해당 CA를 재사용합니다. (BZ#1868712)
  • OLM(Operator Lifecycle Manager)은 API 서비스를 제공하는 Operator를 위해 설치된 서비스 리소스에 OwnerReferences 메타데이터를 추가합니다. 이전에는 예를 들어 인증서 순환 중에 이 클래스의 Operator가 OLM에 의해 재배치될 때마다 중복된 OwnerReference가 관련 서비스에 추가되어 OwnerReference 수가 무제한으로 증가했습니다. 이 버그 수정을 통해 OwnerReferences를 추가하면 OLM에서 기존 OwnerReference(있는 경우)를 업데이트합니다. 그 결과 OLM에 의해 서비스에 추가되는 OwnerReference 수가 제한됩니다. (BZ#1842399)
  • 이전에는 OLM(Operator Lifecycle Manager)을 압축 해제하기 전에 번들 이미지를 가져오지 않아 opm alpha bundle validate 명령이 이미지를 찾을 수 없거나 유사한 오류 메시지와 함께 실패했습니다. 이 버그 수정에서는 번들 유효성 검사기에서 압축을 풀기 전에 번들 이미지를 가져오도록 OLM을 업데이트합니다. 그 결과 opm alpha bundle validate 명령에서 유효성 검사를 수행하기 전에 이미지를 가져와서 압축을 해제합니다. (BZ#1857502)
  • 이전에는 웹 콘솔에서 패키지에 선언된 첫 번째 채널에서 아이콘을 반환하여 OperatorHub에 표시되는 Operator 아이콘을 선택했습니다. 이로 인해 표시된 아이콘이 패키지에 게시된 최신 아이콘과 다른 경우가 있었습니다. 이 문제는 최신 아이콘이 표시되도록 기본 채널에서 아이콘을 선택함으로써 해결되었습니다. (BZ#1843652)
  • 이전에는 podman 또는 docker 도구 옵션을 사용할 때 압축 해제된 콘텐츠에 화이트아웃 파일이 표시되었습니다. 이 릴리스에서는 podmandocker 도구 옵션을 사용하여 압축을 푼 후 화이트아웃 파일이 더 이상 존재하지 않습니다. (BZ#1841178)

openshift-controller-manager

  • 이전에는 API 서버의 간헐적인 가용성 문제로 인해 배포를 검색하는 OpenShift Controller Manager Operator에 간헐적인 문제가 발생할 수 있었습니다. 배치를 검색하지 못하면 Operator에 문제가 발생하는 경우가 있었습니다. 이 릴리스에서는 이 오류 조건을 처리 및 보고하고 작업을 다시 시도하도록 검사가 추가되었습니다. Operator는 이제 API 서버에서 배포를 검색하는 동안 발생하는 간헐적인 문제를 올바르게 처리합니다. (BZ#1852964)

RHCOS

  • 이전에는 DHCP가 없는 네트워크에서 NIC가 많은 머신을 부팅하는 데 오랜 시간이 걸렸습니다. 이는 initramfs에서 한 번에 인터페이스 하나씩 머신의 모든 인터페이스에서 DHCP를 가져오도록 시도하는 레거시 네트워크 스크립트를 사용했기 때문입니다. 이제 initramfs에서 레거시 스크립트 대신 NetworkManager를 사용합니다. NetworkManager는 물리적 연결이 없는 인터페이스에서 DHCP를 시도하지 않습니다. 또한 NetworkManager는 한 번에 하나씩이 아닌 병렬 방식으로 인터페이스에서 DHCP를 시도합니다. 이러한 변경으로 인해 DHCP가 타임아웃될 때까지의 대기 시간이 단축됩니다. (BZ#1836248)
  • 이전에는 설치 중 커널 인수를 수정할 수 없었습니다. 이제 coreos-installer 명령을 사용하여 설치된 시스템에서 커널 인수를 수정할 수 있습니다. 예를 들어 다음을 사용하여 다른 직렬 콘솔 인수를 사용하도록 설치된 시스템을 구성할 수 있습니다.

    $ coreos-installer install ... \
     --delete-karg console=ttyS0,115200n8 \
     --append-karg console=ttyS1,115200n8

    (BZ#1712511)

  • MCO를 사용하여 작업자 노드를 배포하는 경우 Ignition 구성의 사용자 구성 iSCSI 이니시에이터 이름이 동적으로 생성된 이름으로 자동 교체되었기 때문에 파일을 로드하지 못했습니다. 이제 Ignition 구성에 이름이 지정되지 않은 경우에만 iSCSI 이니시에이터 이름이 동적으로 생성됩니다. (BZ#1868174)
  • 프로비저닝 중 Azure VM을 수동으로 변경하면 구현 번호가 변경되었습니다. 이로 인해 구현 번호가 일치하지 않아 애프터번 읽기 상태가 보고되지 않았습니다. 이제 애프터번에서 준비 상태를 게시하기 직전에 새로운 구현 번호를 가져옵니다. (BZ#1853068)
  • 본딩 인터페이스와 같은 일부 인터페이스가 콘솔에 표시되지 않았습니다. 이전에 사용된 Udev 규칙이 NetworkManager 디스패치 스크립트로 대체되었습니다. 이 수정 사항을 통해 영구적인 하드웨어 주소가 있거나 영구적인 하드웨어 주소가 있는 장치에서 지원하는 네트워크 인터페이스가 콘솔에 표시됩니다. (BZ#1866048)

라우팅

  • 이전에는 HAProxy 라우터 503 페이지가 일부 웹 애플리케이션 방화벽에서 사용하는 표준을 준수하지 않았습니다. 이 문제를 해결하기 위해 503 페이지가 업데이트되었습니다. (BZ#1852728)
  • Ingress Operator에서 NodePortService 끝점 게시 전략 유형에 대해 구성된 IngressController 오브젝트를 조정할 때 Operator는 API에서 Ingress 컨트롤러의 NodePort 서비스를 가져와 서비스를 생성하거나 업데이트해야 하는지 결정합니다. 서비스가 존재하지 않으면 Operator에서 spec.sessionAffinity 필드에 빈 값을 사용하여 이를 생성합니다. 서비스가 존재하는 경우 Operator는 해당 서비스에 업데이트가 필요한지 확인하기 위해 Ingress Operator에 필요한 서비스와 비교합니다. 이 비교에서 API의 서비스 spec.sessionAffinity 필드에 기본값인 None이 설정되면 Operator에서 업데이트를 탐지하고 spec.sessionAffinity 필드를 다시 빈 값으로 설정하려고 합니다.

    결과적으로 Ingress Operator는 빈 칸에 대한 응답으로 NodePort 서비스를 반복적으로 업데이트합니다. NodePort 서비스를 비교할 때 지정되지 않은 값과 기본값을 동일하게 간주하도록 Ingress Operator가 변경되었습니다. Operator에서 API 기본값에 대한 응답으로 Ingress 컨트롤러 NodePort 서비스를 더 이상 업데이트하지 않습니다. (BZ#1842742)

  • 이전에는 부적절한 경로로 클러스터를 업데이트한 경우 HAProxy가 존재하지 않는 상태로 초기화되었습니다. 그러나 업데이트에서 경고를 트리거하지 않고 클러스터가 Ingress 컨트롤러를 사용 가능한 것으로 잘못 보고했습니다. 경로가 끊어진 업그레이드가 실패하도록 HAProxy 초기 동기화 논리가 수정되었습니다. 결과적으로 부적절한 경로를 사용하여 클러스터를 업그레이드할 수 없으며 HAProxyReloadFail 또는 HAProxyDown 경고가 보고됩니다. (BZ#1861455)
  • HTTP/2 ALPN 사용 시 연결 재사용/통합 위험으로 인해 사용자 정의(비와일드카드) 인증서를 사용하는 경로에만 HTTP/2 ALPN을 활성화하는 데 사용할 수 있도록 CLI의 수신 컨트롤러 출력에 경고 메시지가 추가되었습니다. 그 결과 고유의 사용자 정의 인증서가 없는 경로에서는 프런트 엔드 또는 백엔드에 HTTP/2 ALPN을 사용할 수 없습니다. (BZ#1827364)
  • 이전에는 HAProxy를 다시 로드할 때 HAProxy Prometheus 카운터 지표가 값이 감소하여 카운터 지표의 정의를 명시적으로 위반했습니다. 마지막 지표 스크랩 시간을 기록하도록 라우터 코드가 수정되었습니다. 이로 인해 다시 로드하는 동안 보존 된 카운터 값을 초과하는 스크랩이 수행되지 않습니다. 그 결과 라우터를 다시 로드할 때 카운터 지표가 급증 후 감소하는 상황이 표시되지 않습니다. (BZ#1752814)

샘플

  • 이전에는 Samples Operator에 대한 경고 규칙의 철자가 registry.redhat.io 호스트 이름의 철자가 잘못 표시되었습니다. 이제 규칙에서 경고 메시지에 올바른 호스트 이름을 사용합니다. (BZ#1863014)
  • 이전 버전에서는 OpenShift Container Platform을 업그레이드할 때 API 서버를 간헐적으로 사용할 수 없는 경우 Samples Operator에서 업그레이드를 차단할 수 있었습니다. 이제 Operator에서 간헐적인 연결을 정상적으로 처리하고 업그레이드가 더 이상 차단되지 않습니다. (BZ#1854857)

스토리지

  • Local Storage Operator 로깅에 대한 오류 메시지 내용이 너무 일반적이어서 디버깅에 도움이 되지 않았습니다. LocalVolume 오브젝트가 생성되고 지정된 장치를 찾을 수 없거나 유효하지 않은 경우 추가 세부 정보가 제공됩니다. (BZ#1840127)
  • v1alpha1 CRD에서 Upgradable=False인 경우 Storage Operator에서 조정을 중지했습니다. 그 결과 클러스터에서 이러한 CRD가 탐지되었을 때 Cluster Storage Operator에서 z-stream 업그레이드를 수행할 수 없었습니다. 이 수정으로 조정 루프의 순서가 변경되었습니다. 이제 z-stream 업그레이드가 성공적으로 완료되고 v1alpha1 CRD가 오류 없이 탐지됩니다. (BZ#1873299)
  • 재시작 프로세스에서 포드에 새 IP 주소를 할당했기 때문에 NFS 드라이버 포드가 재시작된 후 Manila 볼륨을 마운트 해제할 수 없었습니다. 이제 포드에서 드라이버 포드를 다시 시작한 후에도 호스트 네트워크 및 호스트 IP 주소를 사용하여 볼륨을 마운트 및 마운트 해제합니다. (BZ#1867152)
  • 이 버그 수정은 작은 볼륨의 fsGroup을 변경할 때 로그 노이즈를 줄입니다. (BZ#1877001)
  • vSphere 클라우드 공급자의 조건으로 인해 로드가 많기 때문에 드문 경우지만 영구 볼륨 프로비저닝에 오류가 발생할 수 있습니다. 이 버그는 조건을 수정하고 이를 통해 vSphere 볼륨을 안정적으로 프로비저닝할 수 있습니다. (BZ#1806034)
  • 클러스터가 수동 또는 독립 CSI 드라이버에 의해 v1alpha1 VolumeSnapshot CRD를 설치한 경우 OCP 4.3.z에서 4.4.0으로 업그레이드할 수 없습니다. OpenShift Container Platform 4.4에서는 v1alpha1 VolumeSnapshot CRD와 호환되지 않는 v1beta1 VolumeSnapshot CRD를 도입했습니다. 이제 Cluster Storage Operator에서 v1alpha1 VolumeSnapshot CRD가 있는지 확인합니다. 탐지된 경우 업그레이드를 진행하려면 v1alpha1 VolumeSnapshot CRD를 제거해야 한다는 메시지가 표시됩니다. (BZ#1835869)
  • VolumeSnapshotContent 오브젝트 삭제 정책이 수정되면 해당 인스턴스와 연결된 종료자가 업데이트되지 않아 VolumeSnapshot 리소스 인스턴스를 삭제할 수 없었습니다. 이번 버그 수정을 통해 VolumeSnapshotContent 오브젝트 삭제 정책이 수정될 때 종료자가 제거되고 연결된 리소스 오브젝트가 제거된 후 VolumeSnapshot 리소스 인스턴스를 삭제할 수 있습니다. (BZ#1842964)
  • 이전 버전에서는 기본 OpenShift RBAC 규칙에서 일반 사용자가 VolumeSnapshot 및 VolumeSnapshot Class 리소스 인스턴스에 액세스하거나 생성할 수 없었습니다. 이제 기본 OpenShift RBAC 규칙을 통해 basic-users는 VolumeSnapshot 리소스를 읽고 쓸 수 있으며 VolumeSnapshot Class 리소스를 읽을 수 있습니다. 또한 스토리지 관리자는 기본적으로 VolumeSnapshotContent 오브젝트를 읽고 쓸 수 있습니다. (BZ#1842408)
  • 이전에는 Local Storage Operator에서 하나의 장치를 여러 PV에 생성하지 못하도록 하는 검증 단계가 없었습니다. 이 릴리스에서는 Local Storage Operator에서 이미 프로비저닝한 블록 장치에 PV를 생성하려는 시도가 실패하도록 이 시나리오에 검증 단계를 추가합니다. (BZ#1744385)

Insights Operator

  • 이전에는 Insights Operator에서 무제한 CSR(인증서 서명 요청)에 대한 데이터를 하나의 보고서에 수집할 수 있었습니다. 이로 인해 CSR이 많은 클러스터에 대해 데이터를 과도하게 수집했습니다. 이제 Insights Operator에서 하나의 보고서에 최대 5000개의 CSR에 대한 데이터를 수집합니다. (BZ#1881044)