1.7. 버그 수정
assisted-installer
-
이전 버전에서
Helped-service
컨테이너는postgres
가 시작되고 연결을 허용할 준비가 될 때까지 기다리지 않았습니다.assisted-service
컨테이너는 데이터베이스 연결을 설정 시도했지만 실패했으며assisted-service
컨테이너가 실패하고 다시 시작되었습니다. 이 문제는assisted-service
컨테이너에서 최대 10 초 동안 데이터베이스에 연결하려고 시도함으로써 해결되었습니다.postgres
가 시작되고 10초 내에 연결을 허용할 준비가 되면assisted-service
컨테이너가 오류 상태가 되지 않고 연결됩니다.assisted-service
컨테이너가 10초 이내에postgres
에 연결할 수 없는 경우 오류 상태가 되고 재시작 후 다시 시도합니다. (BZ#1941859)
베어 메탈 하드웨어 프로비저닝
-
이전에는 Ironic에서 기본적으로 HTTPS를 사용하고 올바른 인증서 번들을 사용할 수 없기 때문에 설치용 이미지를 다운로드하지 못했습니다. 이 문제는 이미지 다운로드를
Insecure
로 설정하여 인증서 없이 전송을 요청하면 해결됩니다. (BZ#1953795) - 이전에는 듀얼 스택 네트워킹을 사용할 때 작업자 노드 호스트 이름이 배포 전에 Ironic에서 검사한 호스트 이름과 일치하지 않는 경우가 있었습니다. 이로 인해 노드에 수동 승인이 필요했습니다. 이 문제는 해결되었습니다. (BZ#1955114)
-
이전에는 UEFI 모드에서 RHCOS 이미지를 다운로드한 후
ironic-python-agent
가 UEFI 부트로더 항목을 생성했습니다. RHEL 8.4 기반의 RHCOS 이미지를 사용하는 경우 이 항목을 사용하여 이미지를 부팅하지 못할 수 있었습니다. 이미지를 부팅할 때 Ironic에서 설치한 항목을 사용하는 경우 부팅에 실패하고 BIOS 오류 화면이 출력될 수 있습니다. 이는 고정된 부팅 항목을 사용하는 대신 이미지에 있는 CSV 파일을 기반으로 부팅 항목을 구성하는ironic-python-agent
에 의해 해결됩니다. 이미지가 오류 없이 제대로 부팅됩니다. (BZ#1972213) -
이전에는 노드가 시작 시 잘못된 IP 버전(IPv4 대신 IPv6 또는 그 반대)을 선택하는 경우가 있었습니다. 노드가 IP 주소를 수신하지 못했기 때문에 시작되지 않습니다. 이는 Cluster Bare Metal Operator가 IP 옵션을 다운로드자(
ip=dhcp
또는ip=dhcp6
)에 전달하여 해결되므로 시작 시 올바르게 설정되고 노드가 예상대로 시작됩니다. (BZ#1946079) - 이전에는 virtualmedial iso를 호스팅하는 HTTP 서버에 직접 연결을 활성화하고 로컬 스토리지 문제를 방지할 수 있도록 Ironic의 이미지 캐싱 메커니즘이 비활성화되어 있었습니다. 비표준 호환 HTTP 클라이언트 및 redfish 구현으로 인해 BMC 연결에 오류가 발생했습니다. 이 문제는 virtualmedia iso 가 캐시되어 Ironic 실행 노드에서 제공되는 기본 Ironic 동작으로 복구하여 해결되었습니다. 비표준 HTTP 클라이언트 및 redfish 구현으로 인한 문제가 해결되었습니다. (BZ#1962905)
-
이전에는 머신 인스턴스
state
주석이 설정되지 않았습니다. 그 결과 STATE 열이 비어 있었습니다. 이번 업데이트를 통해 이제 머신 인스턴스state
주석이 설정되고 STATE 열의 정보가 자동으로 채워집니다. (BZ#1857008) - 최신 ipmitool 패키지는 기본적으로 암호화 제품군 17을 사용하므로 암호 모음 17을 지원하지 않는 이전 하드웨어는 배포 중에 실패합니다. 하드웨어에서 암호화 제품군 17을 지원하지 않으면 Ironic에서 암호화 제품군 3을 사용하므로 ipmitool을 사용한 이전 하드웨어에 성공적으로 배포할 수 있습니다. (BZ#1897415)
-
이전에는 이미지 캐시를 채우기 전에 채택이 발생하여 영구적으로 채택이 실패하고 재시도를 시도하지 않은 경우도 있었습니다. 이로 인해 컨트롤 플레인 베어 메탈 호스트가
adoption failed
를 보고했습니다. 이번 업데이트에서는 채택 실패 후 컨트롤 플레인 호스트가 올바르게 채택될 때까지 외부 프로비저닝 호스트를 자동으로 다시 시도합니다. (BZ#1905577) - 이전에는 CR(사용자 정의 리소스)에 BMC(Baseboard Management Controller) 세부 정보가 필요했습니다. 그러나 지원 설치 프로그램에서 이 정보는 제공되지 않았습니다. 이번 업데이트를 통해 CR에서 노드를 생성하지 않는 경우 BMC 세부 정보를 건너뛸 수 있습니다. (BZ#1913112)
- 노드에 이미지를 프로비저닝할 때 qemu-image 가 1G의 RAM으로 제한되어 qemu-img가 충돌할 수 있었습니다. 이번 수정으로 제한이 2G로 증가하여 qemu-img가 프로비저닝을 안정적으로 완료합니다. (BZ#1917482)
- redfish/v1/SessionService URL에는 인증이 필요하므로 Ironic에서 사이트에 액세스할 때 인증 오류가 발생할 수 있었습니다. Ironic에서 이 오류 메시지를 보고할 때 기능적인 문제가 없기 때문에 해당 메시지가 제거되었습니다. (BZ#1924816)
-
일부 드라이브의 경우 파티션(예:
/dev/sda1
)에는 읽기 전용 파일이 없었습니다. 그러나 기본 장치(예:/dev/sda
)에는 이 파일이 있습니다. 따라서 Ironic에서 파티션이 읽기 전용인지 확인할 수 없어 해당 드라이브에서 메타데이터 정리가 실패할 수 있었습니다. 이번 업데이트를 통해 파티션이 읽기 전용으로 감지되고 기본 장치에 대한 추가 검사가 포함됩니다. 결과적으로 읽기 전용 파티션에서 메타데이터 정리가 수행되지 않으며 메타데이터 정리가 더 이상 실패하지 않습니다. (BZ#1935419) -
프록시가 구성된 상태에서 베어 메탈 IPI를 배포하면 내부 머신-os 이미지 다운로드가 프록시를 통해 전달되었습니다. 이로 인해 이미지가 손상되어 다운로드되지 않았습니다. 이번 업데이트에서는 이미지 다운로드가 더 이상 프록시를 사용하지 않도록 내부 이미지 트래픽이
no_proxy
로 수정되었습니다. (BZ#1962592) - 이전에는 Ironic과 RAM 디스크 간에 대용량 패킷을 전송하면 베어 메탈 배포에 실패했습니다. 이번 업데이트를 통해 Ironic은 RAM 디스크에서 연결 오류와 관련된 정보를 쿼리하여 배포가 성공할 수 있도록 합니다. (BZ#1957976)
빌드
- 이전에는 CVE-2021-3344가 수정된 후 빌드에서 OpenShift Container Platform 노드에 인타이틀먼트 키를 자동으로 마운트하지 않았습니다. 따라서 인타이틀먼트 인증서가 호스트 또는 노드에 저장된 경우 수정으로 사용 권한이 있는 빌드가 원활하게 작동하지 않습니다. 호스트 또는 노드에 저장된 인타이틀먼트 인증서를 가져오지 못한 경우 4.7.z의 BZ#1945692 및 4.6.z의 BZ#1946363에서 수정되었지만 이러한 수정으로 RHCOS(Red Hat Enterprise Linux CoreOS) 작업자 노드에서 실행되는 빌드에 대한 경고 메시지가 추가되었습니다. 현재 릴리스에서는 빌드가 RHEL 작업자 노드에서만 인타이틀먼트를 자동으로 마운트하고 RHCOS 작업자 노드에서 마운트 시도를 방지하여 이 문제를 해결합니다. 이제 RHCOS 노드에서 빌드를 실행할 때 인타이틀먼트 마운트에 대한 무단 경고가 발생하지 않습니다. (BZ#1951084)
Docker Hub에서 이미지를 가져오는 일부 사용자는 다음 오류가 발생할 수 있습니다.
container image registry lookup failed...toomanyrequests: You have reached your pull rate limit
이 오류는
oc new-app
을 호출하는 데 사용한docker.io
로그인에docker.io
의 유료 지원이 없기 때문에 발생합니다. 결과 애플리케이션에는 이미지 가져오기 제한의 대상이 되며 이로 인해 오류가 발생할 수 있습니다. 현재 릴리스에서는oc new-app
도움말을 업데이트하여 이미지 레지스트리 및 리포지토리 사양에 대한 기본값이 작동하는 것을 사용자에게 알립니다. 따라서 사용자는 가능한 경우 기본값이 아닌 이미지 참조를 사용하여 유사한 오류를 방지할 수 있습니다. (BZ#1928850)-
이전에는 빌드가 이미지 푸시에 실패했는지 오류 검사를 수행하지 않았습니다. 결과적으로 빌드는 항상
Successfully push
메시지를 기록했습니다. 이제 빌드에서 오류가 발생했는지 확인하고 이미지 푸시에 성공한 후에만Successfully push
메시지를 기록합니다. (BZ#1947164) -
이전에는 문서 및
oc explain
도움말 텍스트에서BuildConfig
오브젝트의buildArgs
필드가 기본 KubernetesEnvVar
유형의valueFrom
필드를 지원하지 않는 것을 전달하지 않았습니다. 그 결과 사용자들은 이것이 지원되는 것으로 믿고 이를 사용하려고 했습니다. 현재 릴리스에서는 문서 및 도움말 텍스트가 업데이트되므로BuildConfig
오브젝트의buildArgs
필드에서valueFrom
필드를 지원하지 않는 것이 더 명확하게 되어 있습니다. (BZ#1956826) - 빌드가 기본 이미지 가져오기와 같은 이미지 레지스트리와 상호 작용할 때 간헐적인 통신 문제로 인해 빌드 오류가 발생할 수 있습니다. 현재 릴리스에서는 이러한 상호 작용에 대한 재시도 횟수가 증가되어 있습니다. 이제 이미지 레지스트리와 간헐적인 통신 문제가 발생하면 OpenShift Container Platform 빌드의 복원력이 향상됩니다. (BZ#1937535)
클라우드 컴퓨팅
-
이전에는
Cluster Image Registry Operator
가user_domain_name
을 변경할 수 없는 필드로 간주하여 설치 후 수정하지 않았습니다. 이로 인해user_domain_name
에 대한 변경 사항을 수락하지 않고 결과적으로 자격 증명이 발생했습니다. 이번 업데이트에서는user_domain_name
을 변경 가능한 것으로 표시하고 이미지 레지스트리 구성에 저장하지 않습니다. 이렇게 하면 설치 후user_domain_name
및 기타 모든auth
매개 변수를 수정할 수 있습니다. (BZ#1937464) - 이전 버전에서는 프록시 업데이트로 인해 CI(Continuous Integration)가 실행되는 동안 API 서버 재시작을 포함하여 전체 클러스터 구성 업데이트가 발생했습니다. 결과적으로 Machine API Operator의 일부 클러스터가 예기치 않은 API 서버 중단으로 인해 시간 초과되었습니다. 이번 업데이트에서는 프록시 테스트를 분리하고 postconditions를 추가하여 CI 실행 중에 Machine API Operator의 클러스터가 다시 안정화됩니다. (BZ#1913341)
-
이전 버전에서는 다양한 vCenter 작업 유형이 구분되지 않았기 때문에
Insufficient disk space on datastore
상태의 머신을 삭제하는 데 예상보다 오랜 시간이 걸렸습니다. 이번 업데이트를 통해 머신 컨트롤러 삭제 절차에서 vCenter 작업 유형을 확인하고 더 이상 머신 컨트롤러의 삭제를 차단하지 않습니다. 결과적으로 머신 컨트롤러가 즉시 삭제됩니다. (BZ#1918101) - 이전 버전에서는 인스턴스 유형이 누락된 경우에도 제로 주석에서 스케일링을 다시 큐에 추가했습니다. 그 결과 MachineSet 컨트롤러 로그에 지속적인 대기열 및 오류 공간 메시지가 표시되었습니다. 이번 업데이트를 통해 인스턴스 유형을 자동으로 확인하지 않으면 사용자가 주석을 수동으로 설정할 수 있습니다. 결과적으로 사용자가 주석을 수동으로 제공하면 알 수 없는 인스턴스 유형에 대해 0에서 부터 확장이 수행됩니다. (BZ#1918910)
-
이전에는 Machine API 종료 처리기에서 HTTP 응답이 올바르게 닫히지 않았습니다. 그 결과
net.http
읽기 및 쓰기 루프에 goroutine이 유출되어 메모리 사용량이 증가했습니다. 이번 업데이트를 통해 HTTP 응답이 항상 올바르게 닫힙니다. 결과적으로 메모리 사용량이 안정적이게 되었습니다. (BZ#1934021) - 이전에는 MachineSet 컨트롤러 내부에 생성된 여러 클라이언트 세트로 인해 시작 시간이 지연되어 일부 대규모 클러스터에서 Pod가 준비 상태 검사에 실패했습니다. 결과적으로 MachineSet 컨트롤러가 무단 루프에 고정되었습니다. 이번 업데이트에서는 단일 클라이언트를 사용하도록 MachineSet 컨트롤러가 수정되었습니다. 결과적으로 MachineSet 컨트롤러가 예상대로 작동합니다. (BZ#1934216)
- 이전 버전에서는 첫 번째 부팅 시 Machine Config Daemon에서 업그레이드를 수행할 때 인스턴스를 부팅하는 데 시간이 오래 걸렸습니다. 그 결과 작업자 노드는 재시작 루프에 고착되어 MCH(시스템 상태 점검)가 제대로 시작되지 않았기 때문에 작업자 노드를 제거했습니다. 이번 업데이트를 통해 MHC는 제대로 시작되지 않은 노드를 더 이상 제거하지 않습니다. 대신 MHC는 명시적으로 요청된 경우에만 노드를 제거합니다. (BZ#1939054)
- 이전에는 CSR(인증서 서명 요청) 승인이 알 수 없는 이유로 지연되었습니다. 결과적으로 설치 중에 클러스터에 새 머신이 표시되고 클러스터 설치에 시간이 걸렸습니다. 초기 설치 단계에서 경우에 따라 사용할 수 없는 API 서버를 완화하기 위해 이번 업데이트에서는 캐시 재동기화 기간을 10시간에서 10분으로 변경합니다. 결과적으로 이제 컨트롤 플레인 머신이 보다 신속하게 승인되므로 클러스터 설치에 시간이 걸리지 않습니다. (BZ#1940972)
- 이전 버전에서는 기본 GCP(Google Cloud Platform) 이미지가 최신 Ignition 버전을 지원하지 않는 OpenShift Container Platform 4.6 릴리스의 버전을 참조했습니다. 결과적으로 기본 GCP 이미지를 사용하는 클러스터의 새 머신이 OpenShift Container Platform 4.7 이상을 부팅할 수 없었습니다. 이번 업데이트에서는 릴리스 버전과 일치하도록 GCP 이미지가 업데이트되었습니다. 결과적으로 새 머신은 이제 기본 GCP 이미지로 부팅할 수 있습니다. (BZ#1954597)
-
이전 버전에서는 VM(가상 머신)의 ProvisioningState 값을 엄격하게 검사했기 때문에 존재 여부를 확인하는 동안 VM이 실패하는 경우가 있었습니다. 이번 업데이트에서는 존재 여부 확인 중에 삭제된 머신만
Failed
단계로 진행될 수 있도록 검사가 더 편리해졌습니다. (BZ#1957349) -
이전에는 AWS 클러스터에서
oc delete machine
을 사용하여 컨트롤 플레인 시스템을 삭제한 경우 해당 머신이 로드 밸런서에서 제거되지 않았습니다. 결과적으로 로드 밸런서는 제거된 컨트롤 플레인 시스템에 대한 요청을 계속 처리했습니다. 이번 수정으로 컨트롤 플레인 시스템을 제거해도 로드 밸런서에서 더 이상 시스템에 대한 요청을 처리하지 않습니다. (BZ#1880757) - 이전 버전에서는 연결할 수 없는 머신을 삭제할 때 영구 볼륨에 생성된 노드에 연결된 vSphere VMDK(가상 머신 디스크)가 잘못 삭제되었습니다. 그 결과 VMDK의 데이터를 복구할 수 없었습니다. 이번 수정에서는 kubelet에 연결할 수 없는 경우 vSphere 클라우드 공급자가 노드에서 이러한 디스크를 확인하고 분리합니다. 결과적으로 VMDK를 손실하지 않고 연결할 수 없는 시스템을 삭제할 수 있습니다. (BZ#1883993)
- 이전에는 성된 AWS 인스턴스 유형 목록이 최신 버전이 아니었기 때문에 복제본이 0인 Cluster Autoscaler Operator 및 머신 세트를 사용할 때 일부 최신 AWS(Amazon Web Services) 인스턴스 유형을 0에서 확장할 수 없었습니다. 이제 최신 인스턴스 유형을 포함하도록 AWS 인스턴스 유형 목록이 업데이트되었습니다. 이번 수정을 통해 클러스터 자동 스케일러 Operator에서 복제본이 없는 경우 더 많은 인스턴스 유형을 사용할 수 있습니다. (BZ#1896321)
- 이전에는 Pod 중단 예산에서 업스트림 제거 API 기능이 누락되어 연결할 수 없는 노드에서 Pod를 배출할 수 없었습니다. 결과적으로 연결할 수 없는 노드의 시스템은 삭제 후 제거되는 데 과도한 시간이 걸릴 수 있었습니다. 이제 연결할 수 없는 노드에서 머신을 삭제할 때 유예 기간 제한 시간이 1초로 변경되었습니다. 이번 수정으로 Machine API에서 연결할 수 없는 노드를 성공적으로 배출 및 삭제할 수 있습니다. (BZ#1905709)
Cloud Credential Operator
-
이전에는 Cloud Credential Operator가
지원되지 않는 플랫폼 유형을 반복했습니다. 베어 메탈 플랫폼에서 baremetal
경고. 이번 업데이트를 통해 베어 메탈 플랫폼은 더 이상 알 수 없는 플랫폼으로 취급되지 않습니다. 따라서 잘못된 로깅 메시지가 줄어듭니다. (BZ#1864116) -
이전 버전에서는 Cloud Credential Operator의
credentialsRequest
CR( 사용자 정의 리소스)에 저장된 반복적인 오류 메시지 표시로 인해 과도한 CPU 사용량이 발생하고 AWS(Amazon Web Services) 속도 제한과 같은 일부 오류 시나리오에 로깅되었습니다. 이번 업데이트에서는 사용자가 더 쉽게 찾을 수 있는 조건에 오류 메시지가 저장되도록 클라우드 공급자에서 반환되는 요청 ID를 제거하고CredentialRequest
CR에서 반복되는 오류 메시지를 제거합니다. (BZ#1910396) - 이전에는 CCO 배포가 비정상적인지 여부를 CCO(Cloud Credential Operator)와 CVO(Cluster Version Operator) 모두 보고했습니다. 이로 인해 문제가 발생한 경우 이중 보고가 발생했습니다. 이번 릴리스를 통해 CCO에서는 배포가 비정상적인지 여부를 더이상 보고하지 않습니다. (BZ#1957424)
Cluster Version Operator
-
이전 버전에서는 Cluster Version Operator가
cluster_operator_up
메트릭을 설정할 때Available
및Degraded
매개변수를 모두 평가하여Available=True
가 "has not been available"의 경고 설명과 일치하지 않더라도Available=True
또는Degraded=True
를 사용하여 Operator에 대해ClusterOperatorDown
경고가 표시되었습니다. 이번 수정으로 Cluster Version Operator는 이제cluster_operator_up
메트릭을 설정할 때Degraded
매개변수를 무시합니다. (BZ#1834551) -
이전 버전에서는 Prometheus가 클러스터에 설치될 때 중요한 플랫폼 토폴로지 메트릭을 사용할 수 없었으며 호출자로 생성된 설치 프로그램 메트릭을
""
로 설정하면 CI 오류가 발생했습니다. 오류를 유발하는 메트릭이 제공되기 전에 정보를 동기화하지 않은 경우 가능한 경합 조건이 수정되었습니다. (BZ#1871303) -
이전 버전에서는 Cluster Version Operator의 자체 배포와 같이 동일한 키에 대한 허용 오차가 있는 여러 매니페스트에서 마지막 항목 읽기 및 이전 항목 덮어쓰기만 허용했습니다. 이로 인해
in-cluster tolerations
이 매니페스트의 나열된 허용 오차와 달랐습니다. 이번 업데이트를 통해 이제 Cluster Version Operator가 완전히 동일한 경우 허용 오차가 일치하는 것으로 간주합니다. 이를 통해 Cluster Version Operator는in-cluster resource
의 매니페스트에 모든 허용 오차를 표시할 수 있습니다. (BZ#1941901) -
이전에는 Cluster Version Operator가 이러한 속성을 설정하지 않은 매니페스트에 대해
env
및envFrom
을 조정하지 않았습니다. 이는 Cluster Version Operator가 컨테이너 환경을 제대로 관리하지 못했음을 의미합니다. 이번 업데이트에서는 Cluster Version Operator가 개선되어 이제 매니페스트에 설정되지 않은 경우env
및envFrom
을 지웁니다. 이를 통해 클러스터는 잘못된cluster-admin
변경 사항에서 이러한 속성을 자동으로 복구할 수 있습니다. (BZ#1951339) -
이전 버전에서는
cluster-version-operator
배포 오브젝트와 같이 동일한 키에 대한 허용 오차가 있는 여러 매니페스트에서 마지막 항목 읽기 및 이전 항목 덮어쓰기만 허용했습니다. 이로 인해 클러스터내 허용 오차가 매니페스트의 나열된 허용 오차와 달랐습니다. 이번 업데이트를 통해 이제 Cluster Version Operator는 허용 오차가 동일할 때 일치하는 것으로 간주합니다. 이를 통해 Cluster Version Operator는 클러스터내 리소스의 매니페스트에 모든 허용 오차를 표시할 수 있습니다. (BZ#1941901) -
이전에는
ClusterOperator
리소스가 10분 동안 성능이 저하될 때 Cluster Version Operator에서ClusterOperatorDegraded
경고를 보고했습니다. 이는 리소스가 아직 생성되고 있기 때문에 설치 중에 이 경고가 중간에 발생되는 경우가 있었습니다. 이번 업데이트에서는 10분 기간을 30분으로 변경하여 조기ClusterOperatorDegraded
경고 없이 설치가 진행될 수 있는 충분한 시간이 제공됩니다. (BZ#1957991)
Compliance Operator
-
이전 버전에서는 사용자가 규정 준수 확인을 실행할 때
NON-COMPLIANT
결과가 제공되었지만 사용자가 조치를 취해야 하는 해결 단계는 표시되지 않았습니다. 이번 릴리스에서는 사용자가 규칙을 확인하는 데 필요한 단계를 검토할 수 있는instructions
키를 제공합니다. 이를 통해 사용자와 감사자는 Operator가 올바른 값을 확인하고 있는지 확인할 수 있습니다. (BZ#1919367)
콘솔 Kubevirt 플러그인
- 이전 버전에서는 사용자가 가상화 템플릿에 부팅 소스를 추가할 수 있는 웹 콘솔 양식에서 설명 텍스트는 템플릿이 사용된 운영 체제와 관계없이 Fedora에 대한 정보를 제공했습니다. 이번 업데이트에서는 템플릿의 운영 체제와 관련된 예를 제공하는 수정 사항을 추가하여 사용자에게 관련 지침을 제공합니다. (BZ#1908169)
- 이전 버전에서는 사용자가 가상 머신 템플릿을 생성하는 데 도움이 되는 웹 콘솔 마법사에서 부정확한 언어로 인해 작업이 템플릿에 적용되었는지 또는 가상 머신에 적용되었는지 알 수 없었습니다. 이번 수정에서는 사용자가 정보에 입각한 결정을 내릴 수 있도록 명확하게 설명합니다. (BZ#1922063)
- 이전에는 웹 콘솔의 모호한 오류 메시지로 인해 템플릿에서 생성 중인 가상 머신에 네트워크 인터페이스를 추가하려는 일부 사용자에게 불필요한 혼동이 발생했습니다. 이번 업데이트에서는 오류 메시지에 세부 정보를 추가하여 사용자가 오류 문제를 보다 쉽게 해결할 수 있도록 합니다. (BZ#1924788)
- 이전에는 웹 콘솔의 RHEL(Red Hat Enterprise Linux) 6 템플릿에서 가상 머신을 생성하려고 하면 RHEL 6을 통해 지원 수준을 정의하는 방법에 대한 정보가 팝업 창에 표시되었습니다. 이번 수정을 통해 이 창의 텍스트가 변경되어 RHEL 6이 지원되지 않습니다. (BZ#1926776)
-
이전에는 웹 콘솔의 드롭다운 목록이 버튼 요소에 의해 가려져 사용자가 가상 시스템을 생성할 때 특정 운영 체제를 선택할 수 없었습니다. 이번 수정에는 오류를 수정하고 사용자가 사용 가능한 운영 체제를 선택할 수 있는 버튼 요소의
z-index
값을 조정하는 작업이 포함되어 있습니다. (BZ#1930015) - 이전에는 스토리지 클래스가 정의되지 않은 클러스터에서 웹 콘솔의 새 가상 시스템 마법사를 사용한 경우 웹 콘솔이 무한 루프에 묶여 충돌했습니다. 이번 수정을 통해 스토리지 클래스가 정의되지 않은 인스턴스의 스토리지 클래스 드롭다운 목록이 제거됩니다. 결과적으로 웹 콘솔이 충돌하지 않습니다. (BZ#1930064)
- 이전에는 버튼 요소의 텍스트가 즐겨찾기 목록에서 VM 템플릿을 제거하는 버튼의 기능을 명확하게 설명하지 않았습니다. 이번 수정을 통해 버튼의 기능을 명확히 설명하는 텍스트가 업데이트되었습니다. (BZ#1937941)
-
이전에는
RerunOnFailure
실행 전략이 있는 가상 시스템의 경우 가상 시스템을 중지하면 여러 UI 요소가 응답하지 않아 사용자가 상태 정보를 읽거나 가상 시스템을 다시 시작할 수 없었습니다. 이번 업데이트에서는 사용자가 이러한 기능을 사용할 수 있도록 응답하지 않는 요소가 수정되었습니다. (BZ#1951209) -
이전 버전에서는 별도의
/var
파티션을 포함하도록 구성된 클러스터의 경우 파일 시스템을 쿼리하는 경우/var
파티션 크기를 제외하고 루트 디렉터리에 마운트된 디스크 크기만 반환했습니다. 이번 수정으로 쿼리 실행 방식이 변경되어 사용자가 클러스터에서 파일 시스템의 총 크기를 확인할 수 있습니다. (BZ#1960612)
콘솔 스토리지 플러그인
- 이전 버전에서는 올바른 스토리지 클래스를 사용할 수 없는 경우 OpenShift Container Storage Operator에 오류 메시지가 표시되었습니다. 이번 업데이트에서는 오류 메시지를 제거하고 올바른 스토리지 클래스를 사용할 수 있을 때까지 다음 버튼을 비활성화합니다. (BZ#1924641)
- 이전 버전에서는 사용자가 내부 연결 스토리지 클러스터를 생성하는 동안 브라우저의 뒤로 버튼을 클릭하면 설치 마법사에서 프로세스가 다시 시작되었습니다. 이번 업데이트에서는 문제가 해결되었습니다. (BZ#1928008)
- 로컬 볼륨 검색에 노드를 추가하면 기존 노드 목록이 표시되므로 불필요한 탐색이 줄어듭니다. (BZ#1947311)
- 이전에는 스토리지 클러스터 생성 마법사를 통해 정의되지 않은 값이 있는 중재자 영역을 활성화할 수 있었습니다. 이번 업데이트에서는 정의되지 않은 값을 필터링하므로 중재자 영역을 정의된 값으로만 만들 수 있습니다. (BZ#1926798)
- 이전 버전에서는 제품 제목의 철자와 등록된 상표 기호의 사용 방법이 일치하지 않아 웹 콘솔에웹 콘솔에 퀵 스타트 카드가 잘못 표시되었습니다. 이번 업데이트에서는 제품 이름이 올바르게 지정되어 있으며 등록된 상표 기호가 첫 번째 카드에만 일관되게 표시됩니다. (BZ#1931760)
DNS
- 이전 버전에서는 BZ#1936587에서 글로벌 CoreDNS 캐시 최대 TTL을 900초로 설정했습니다. 그 결과 업스트림 리졸버에서 수신된 NXDOMAIN 레코드가 900초 동안 캐시되었습니다. 이번 업데이트를 통해 최대 30초 동안 음수 DNS 응답 레코드를 명시적으로 캐시합니다. 결과적으로 NXDOMAINs가 더 이상 900초 동안 캐시하지 않습니다. (BZ#1943578)
-
BZ#1953097 의 수정으로 CoreDNS
bufsize
플러그인이 1232바이트인 CoreDNS bufsize 플러그인을 활성화했습니다. 일부 기본 DNS 확인자는 UDP에서 512바이트를 초과하는 DNS 응답 메시지를 수신할 수 없습니다. 결과적으로 Go의 내부 DNS 라이브러리와 같은 일부 DNS 확인자는 DNS Operator에서 자세한 DNS 응답을 받을 수 없습니다. 이번 업데이트에서는 모든 서버에 대해 CoreDNSbufsize
를 512바이트로 설정합니다. 그 결과 UDP DNS 메시지가 올바르게 수신됩니다. (BZ#1966116) -
이전 버전에서는 클러스터 업스트림 리졸버에서 UDP를 통해 512 바이트를 초과하는 DNS 응답을 반환했습니다. 그 결과 coreDNS에서
SERVFAIL
또는 기타 오류 메시지를 반환하고 클라이언트가 TCP를 다시 시도하도록 했습니다. 이번 업데이트에서는 UDP 버퍼 크기가 1232바이트인 coreDNS bufisze 플러그인을 활성화했습니다. (BZ#1949361)
etcd
- 이전에는 etcd Operator에 전송 누수가 발생하여 시간이 지남에 따라 메모리 사용량이 증가했습니다. 메모리 누수가 수정되었습니다. (BZ#1925586)
-
이전에는
etcdInsufficientMembers
경고가 잘못 실행되었습니다. 이번 릴리스에서는 인스턴스 레이블 외에도 pod 레이블을 포함하도록 경고가 업데이트되어 쿼럼이 유실된 경우에만 경고가 실행됩니다. (BZ#1929944) - 이전 버전에서는 SO_REUSEADDR 소켓 옵션이 도입되어 준비 상태 프로브가 올바른 준비 상태를 보고하지 않아 etcd Pod가 etcd-quorum-guard에 실패하더라도 etcd pod가 준비 상태로 표시되었습니다. 이러한 옵션을 고려하여 준비 상태 프로브 검사가 업데이트되었으며 etcd 준비 상태 프로브가 이제 피연산자의 준비 상태를 올바르게 반영합니다. (BZ#1946607)
이전에는
spec.loglevel
필드에서 etcd 피연산자에log-level
플래그를 설정하지 않았으므로 사용자가 etcd 로그 수준을 변경할 수 없었습니다. 이제 사용자는 다음과 같이 로그 수준을 설정할 수 있습니다.-
Debug
,Trace
,TraceAll
로그 수준이 etcddebug
로그 수준에 매핑됩니다. -
default
또는Normal
로그 수준은 etcdinfo
로그 수준에 매핑됩니다.
자세한 내용은 BZ#1948553에서 참조하십시오.
-
-
이전 버전에서는 etcd 프로세스에 따라 관련 포트가 릴리스될 때까지 다음 프로세스가 시작되지 않았습니다. 이 프로세스에
SO_REUSEADDR
을 추가하면 포트를 즉시 재사용할 수 있습니다. 자세한 내용은 BZ#1927942에서 참조하십시오. -
이전 버전에서는
network.Status.ServiceNetwork
필드가 채워지지 않은 경우 etcd-endpoint의 ConfigMap이 비어 있었습니다. 이로 인해 etcd Operator를 확장할 수 없었습니다. OpenShift Container Platform 4.8의 새로운 기능을 사용하면network.Status.ServiceNetwork
필드가 채워지지 않을 때 etcd Operator를 확장할 수 있습니다. (BZ#1902247)
이미지 레지스트리
-
이전에는 이미지를 삭제하지 못할 때 이미지 정리기가 중지되었습니다. 결과적으로 두 이미지 정리기가 동시에 이미지를 삭제하려고 하면 둘 중 하나가
not found
오류로 실패했습니다. 이번 업데이트를 통해not found
오류가 무시되어 이미지 정리기가 동시 삭제를 허용할 수 있습니다. (BZ#1890828) -
이전 버전에서는 Image Registry Operator 상태 평가 중에 경로 상태 포함 부족으로 인해 성능이
degraded
상태의 경로가 있더라도 Image Registry Operator의 성능이 저하되지 않았습니다. 이번 수정을 통해 이미지 레지스트리 Operator에서 구성된 모든 경로를 가져와서 자체 상태를 평가할 때 해당 상태를 평가합니다. 이번 업데이트를 통해degraded
경로가 있는 경우 이미지 레지스트리 Operator는 오류 메시지와 함께degraded
로 보고합니다. (BZ#1902076) - 이전에는 자동으로 생성된 Docker 구성 보안에 통합된 내부 레지스트리 경로에 대한 인증 정보가 포함되지 않았습니다. 경로를 통해 레지스트리에 액세스하는 데 필요한 인증 정보가 없기 때문에 pod는 인증 부족으로 인해 레지스트리에 연결하지 못했습니다. 이번 수정 사항에는 기본 Docker 인증 정보 시크릿에 구성된 모든 레지스트리 경로가 포함됩니다. 이제 인증 정보에 각 경로에 대한 항목이 포함되어 있으므로 pod는 모든 경로에서 통합 레지스트리에 연결할 수 있습니다. (BZ#1911470)
-
이전에는 이미지 레지스트리가 클러스터 전체 ICSP(
ImageContentSourcePolicy
) 규칙을 무시했습니다. pull-through 중에 이미지 미러가 무시되어 연결이 끊긴 클러스터에서 풀링 오류가 발생했습니다. 이번 업데이트를 통해 대상 저장소에 ICSP 규칙이 있는 경우 레지스트리에서 미러를 가져옵니다. 결과적으로 구성된 미러에서 이미지를 가져오는 데 실패하지 않습니다. (BZ#1918376) -
이전에는 Image Registry Operator가 구성 리소스의
.status.readyReplicas
필드를 업데이트하지 않았으므로 해당 값은 항상0
이었습니다. 이번 수정으로 Image Registry Operator는 배포의 준비된 이미지 레지스트리 복제본 수를 구성에 기록합니다. 이제 이 필드에 준비된 이미지 레지스트리 복제본 수가 표시됩니다. (BZ#1923811) -
Azure는 사용자가
v1
대신 Storage Accountsv2
를 사용하는 것을 권장합니다. 특정 보안 프로필에서 관리자는 Azure가v1
스토리지 계정 생성을 수락하지 않도록 할 수 있습니다. 이미지 레지스트리는v1
스토리지 계정에 따라 다르기 때문에 이러한 환경에서 클러스터 설치에 실패합니다. 이번 수정으로 클러스터 부트스트랩 중에 Image Registry Operator에서V2
스토리지 계정을 생성하고 사용하려고 시도합니다.v1
에서 실행되는 클러스터는 계속해서V1
스토리지 계정을 사용합니다. 설치에 성공하고 Image Registry Operator에서Available
을 보고합니다. (BZ#1929654)
ImageStreams
- 이전에는 스트림에서 여러 이미지를 가져올 때 성능이 저하된 경우가 있었습니다. 이번 릴리스에서는 이미지 레지스트리에 대한 동시 요청 수가 5개에서 50개로 증가하여 성능이 향상됩니다. (BZ#1954715)
Insights Operator
-
이전에는 Insights Operator에서
openshift-cluster-version
네임스페이스에서 CVO(Cluster Version Operator) Pod 또는 이벤트를 수집하지 않았습니다. 그 결과 Insights Operator는 CVO가 경험할 수 있는 문제에 대한 정보를 표시하지 않았으며 사용자가 CVO에 대한 진단 정보를 가져올 수 없었습니다. 이제 Insights Operator가 CVO pod 및 이벤트를openshift-cluster-operator
네임스페이스에서 수집하여 CVO 관련 문제를 보고하도록 업데이트되었습니다. (BZ#1942271)
설치 프로그램
- 이전에는 IPv6 네트워크가 /64가 아닌 경우 접두사 길이를 DNSmasq로 지정해야 했습니다. 이로 인해 컨트롤 플레인 호스트가 PXE 부팅에 실패했습니다. 이번 업데이트에는 DNSmasq 구성의 서브넷 접두사 길이가 포함됩니다. 결과적으로 컨트롤 플레인 호스트는 접두사 길이의 IPv6 네트워크에서 DHCP 및 PXE 부팅됩니다. (BZ#1927068)
-
vSphere에 설치할 때 부트스트랩 머신이
/etc/resolv.conf
파일의 이름 서버를 올바르게 업데이트하지 않은 경우가 있었습니다. 이로 인해 부트스트랩 시스템이 임시 컨트롤 플레인에 액세스할 수 없어 설치에 실패했습니다. 이번 수정에서는 보다 안정적인 업데이트를 위한 올바른 행을 찾는 데 필요한 변경 사항이 포함되어 있습니다. 이제 부트스트랩 관리자가 임시 컨트롤 플레인에 액세스할 수 있으므로 설치에 성공할 수 있습니다. (BZ#1967355) - 이전에는 설치 프로그램에서 URL을 생성할 때 부트스트랩 Ignition 구성이 있어야 하는 리전을 고려하지 않았습니다. 결과적으로 부트스트랩 머신이 올바르지 않았기 때문에 제공된 URL에서 구성을 가져올 수 없었습니다. 이번 업데이트에서는 URL을 생성할 때 사용자의 리전을 고려하여 올바른 공용 엔드포인트를 선택합니다. 결과적으로 설치 프로그램에서 항상 올바른 부트스트랩 Ignition URL을 생성합니다. (BZ#1934123)
- 이전 버전에서는 스토리지 계정을 만들 때 Azure의 최소 TLS의 기본 버전이 1.0이었습니다. 그 결과 정책 검사에 실패했습니다. 이번 업데이트에서는 스토리지 계정을 생성할 때 Minimum TLS 버전을 1.2로 설정하도록 openshift-installer Azure 클라이언트를 구성합니다. 결과적으로 정책 검사를 통과합니다. (BZ#1943157)
- 이전에는 Azure에서 IPI를 사용하여 배포된 프라이빗 클러스터에 부트스트랩 노드에 SSH를 허용하는 인바운드 NSG 규칙이 있었습니다. 이 허용으로 Azure의 보안 정책을 트리거할 수 있습니다. 이번 업데이트를 통해 NSG 규칙이 제거되었습니다. (BZ#1943219)
-
이전에는 설치 프로그램이
ap-northeast-3
AWS 리전을 인식하지 못했습니다. 이번 업데이트를 통해 설치 프로그램에서 알려진 파티션의 패턴에 맞는 알 수 없는 지역에 설치할 수 있으므로 사용자가ap-northeast-3
AWS 리전에 인프라를 생성할 수 있습니다. (BZ#1944268) - 이전 버전에서는 온프레미스 플랫폼에 내부 로드 밸런서 장치를 만들 수 있는 기능이 없었습니다. 이번 업데이트를 통해 사용자가 매니페스트를 생성할 때 이 전략이 AWS, Azure 및 GCP와 같은 클라우드 플랫폼에서만 사용되는지 확인하는 검사가 추가되었습니다. (BZ#1953035)
-
이전 버전에서는 Google Cloud Platform 리소스의 이름을 지정할 때 필터로 인해
Google
이라는 단어를 사용하는 특정 이름을 사용할 수 없었습니다. 이번 업데이트에서는 클러스터 이름에 설치 프로그램에 추가되어 이름을 설정할 때 Google이라는 단어의 일부 변형을 사용할 수 있습니다. (BZ#1955336) -
이전에는 설치 관리자 프로비저닝 인프라가 있는 베어 메탈 설치에서 설치 프로그램 프로세스가 프로비저닝 네트워크와 통신할 수 있어야 했습니다. 이제 설치 프로그램 프로세스에서 API 서버의 가상 IP와 통신할 수 있습니다. 이번 변경으로 인해 프로비저닝 네트워크가 라우팅할 수 없고 설치 프로그램 프로세스가 RHOSP(Red Hat OpenStack Platform) 또는 Red Hat Advanced Cluster Management와 같은 원격 위치에서 실행될 수 있습니다. API 서버의 가상 IP에서 TCP 포트
6385
및5050
과 통신할 수 있도록 방화벽 규칙을 조정해야 할 수도 있습니다. (BZ#1932799) 이전에는 RHOSP(Red Hat OpenStack Platform)에 설치할 때
platform.openstack.machinesSubnet
필드에 없는 서브넷 ID가 제공되면openshift-install
명령에서 SIGSEGV 및 역추적이 생성되었습니다. 이제 다음 메시지와 같은 오류가 생성되도록openshift-install
명령이 수정되었습니다.FATAL failed to fetch Metadata: failed to load asset "Install Config": platform.openstack.machinesSubnet: Not found: "<network-ID>"
-
이전에는 RHOSP HTTPS 인증서를 호스팅 장치로 가져오지 않은 한 RHOSP(Red Hat OpenStack Platform)의 설치에 실패했습니다. 이제
cloud.yaml
의cacert
값이 RHOSP HTTPS 인증서로 설정된 경우 설치가 성공적으로 수행됩니다. 더 이상 인증서를 호스트에 가져올 필요가 없습니다. (BZ#1786314) -
이전에는
proxy.config.openshift.io
의 외부 네트워크 항목이 부정확하여 설치에 실패할 수 있었습니다. 이제 유효성 검사를 통해 수정을 활성화하기 위한 부정확한 정보가 식별됩니다. (BZ#1873649) - 이전에는 모호하거나 혼란스러웠던 Terraform 구성 요소에 대한 설명이 이제는 더 명확한 정보로 대체되었습니다. (BZ#1880758)
-
이전 gophercloud/utils 변경에 자체 서명된 인증서를 사용하는 사용자 지정 HTTP 클라이언트가 도입되었습니다. 이러한 변경으로 프록시 환경 변수에 대한 설정을 포함하여
DefaultTransport
에서 제거된 설정으로 인해 자체 서명 인증서와 프록시를 모두 사용한 설치에 오류가 발생했습니다. 이번 업데이트에서는 사용자 정의 HTTP 클라이언트가DefaultTransport
의 설정을 상속하므로 이제 자체 서명된 인증서 및 프록시를 사용하여 OpenShift Container Platform을 설치할 수 있습니다. (BZ#1925216) -
이전 버전에서는 설치 프로그램이 검증 중에 설치 구성의
defaultMachineSet
값을 고려하지 않아 설치 프로그램이 실패했습니다. 이번 업데이트에서는 기본값을 설치 구성에 적용하고 빈 필드의 유효성을 검사하기 시작합니다. (BZ#1903055) -
이전에는
soft-anti-affinity
에 클라이언트에서 최소 Nova 마이크로버전을 설정해야 했습니다. 대부분의 Ansible OS 서버 모듈 버전에서는 클라이언트가 최소 값을 자동으로 설정하지 않아도 되었습니다. 결과적으로 soft-anti-affinity 명령이 실패할 가능성이 있었습니다. 이번 업데이트에서는 소프트 방지를 처리할 때 Python OpenStack 클라이언트를 사용하여 Nova 마이크로버전을 설정하는 작업이 수정되었습니다. (BZ#1910067) -
이전에는 OpenStack UPI 플레이북에서 생성된 모든 리소스에 태그를 지정하지 않았습니다. 그 결과
openshift-install destroy
명령이 모든 클러스터 리소스를 올바르게 식별하지 못하고 시간 초과에 도달할 때까지 리소스 삭제를 반복하여 리소스가 남아 있게 되었습니다. 이번 업데이트에서는 OpenStack UPI 플레이북에 누락된 태그 지침이 추가되었습니다. (BZ#1916593) -
이전에
e2e-gcp-upi
Python 패키지 오류로 인해 실패했습니다. 이번 업데이트를 통해 gsutil에 대해 올바른 Python 버전, pip 버전 및CLOUDSDK_PYTHON
을 설정하여 패키지 오류를 해결할 수 있습니다. (BZ#1917931) - 이전 버전에서는 pip 버전 21이 설치된 Python 버전 2를 지원하지 않았습니다. 이로 인해 컨테이너 설정에 필요한 모든 종속 패키지를 확인하는 중에 오류가 발생했습니다. 이번 업데이트에서는 문제를 피하기 위해 pip 버전이 21보다 작은 값으로 수정되었습니다. (BZ#1922235)
- 이전에는 설치 프로그램이 클라우드에 대한 정보를 두 번 수집했습니다. 그 결과 OpenStack API에 대한 요청 수가 두 배로 늘어났습니다. 이로 인해 클라우드에 추가 로드가 발생하고 설치 시간이 늘어났습니다. 이번 업데이트에서는 할당량을 확인하기 전에 클라우드에 대한 정보를 수집하여 문제를 해결한 다음 검증을 위해 동일한 정보를 재사용합니다. (BZ#1923038)
- 이전 버전에서는 /64 이외의 서브넷을 사용하여 IPv6 프로비저닝 네트워크를 배포할 때 DNSmasq는 접두사 길이를 지정해야 했습니다. 따라서/64 이외의 네트워크를 사용할 때 호스트가 PXE 부팅에 실패했습니다. 이번 업데이트에는 DNSmasq 구성의 접두사 길이가 포함됩니다. 결과적으로 호스트는 접두사 길이의 IPv6 네트워크에서 DHCP 및 PXE 부팅에 성공합니다. (BZ#1925291)
-
이전 버전에서는 로깅이 제거되었다고 표시했지만 OpenShift Container Platform 설치 프로그램에서
Shared Subnet
태그를 제거할 때 IAM 권한 문제를 보고하지 않았습니다. 이번 업데이트에서는 결과에 태그 해제 및 로깅 오류가 있는지 확인합니다. 이제 로그에 공유 리소스 태그 해제의 상태가 표시됩니다. (BZ#1926547) - 이전에는 Premium_LRS 디스크 유형을 사용하여 Azure 클러스터가 생성되었으며 PremiumIO 기능을 지원하지 않는 인스턴스 유형으로 클러스터가 실패했습니다. 이번 업데이트에서는 선택한 인스턴스 유형에 디스크 유형이 기본 디스크 유형인 Premium_LRS인 PremiumIO 기능이 있는지 확인합니다. 코드는 Azure 서브스크립션 및 리전을 쿼리하여 필요한 정보를 가져오고 조건이 충족되지 않는 경우 오류를 반환합니다. (BZ#1931115)
- 이전에는 API 서버가 다시 시작될 때 부트스트랩에서 API VIP를 사용할 수 없게 되어 프로비저닝 서비스를 사용할 수 없게 되고 프로비저닝에 실패했습니다. 이제 프로비저닝 서비스(Ironic)가 VIP 상태 점검에 포함되고, API VIP를 계속 사용할 수 있습니다. (BZ#1949859)
kube-apiserver
- 이전에는 GCP(Google Cloud Platform) 로드 밸런서 상태 검사기에서 호스트의 오래된 conntrack 항목을 남겨 두었으며 이로 인해 GCP 로드 밸런서를 사용하는 API 서버 트래픽에 대한 네트워크 중단이 발생했습니다. 상태 검사 트래픽이 호스트를 통해 더 이상 반복되지 않으므로 API 서버에 대한 네트워크 중단이 더 이상 발생하지 않습니다. (BZ#1925698)
Machine Config Operator
-
이전에는
drain timeout
및 풀 성능저하 기간이 너무 짧고 더 많은 시간이 필요한 일반 클러스터에서 경고가 조기에 발생할 수 있었습니다. 이번 업데이트를 통해 시간 초과가 오류를 보고하는 데 필요한 시간이 연장됩니다. 이를 통해 일반 클러스터의 성능이 저하되지 않고 Cluster Operator에게 더 실용적이고 유용한 경고가 제공됩니다. (BZ#1968019) - 이전에는 IPI(OpenShift Installer Provisioned Infrastructure)를 사용하여 VMware vSphere에서 새 가상 시스템을 생성하는 동안 노드가 클러스터에 참여하지 못했습니다. 이러한 문제는 DHCP(Dynamic Host Configuration Protocol)가 IDI에서 제공하는 이름 대신 호스트 이름을 입력할 때 발생했습니다. 이 문제가 해결되었습니다. (BZ#1920807)
- 이전에는 호스트 이름을 설정하기 전에 네트워크를 활성화하면 설치에 실패할 수 있었습니다. 이로 인해 노드가 클러스터에 참여하지 못하고 다른 시도를 수행하기 전에 5분 정도 지연되었습니다. 이제 이 문제가 해결되고 노드가 첫 번째 시도 중에 클러스터에 자동으로 참여합니다. (BZ#1899187)
- 이전에는 키가 남아 있어도 코어 사용자 및 관련 SSH 키를 삭제할 수 있었습니다. 이번 업데이트를 통해 사용자는 코어 사용자를 삭제할 수 없습니다. (BZ#1885186)
- 4.6에서 4.7로 업그레이드할 때 vsphere-hostname 서비스에서 설정한 호스트 이름은 노드가 설치된 경우에만 적용되었습니다. 업그레이드하기 전에 호스트 이름이 정적으로 설정되지 않은 경우 호스트 이름이 손실되었을 수 있습니다. 이번 업데이트에서는 노드가 설치된 경우에만 vsphere-hostname 서비스가 실행될 수 있는 조건을 제거합니다. 따라서 업그레이드 시 vSphere 호스트 이름이 손실되지 않습니다. (BZ#1942207)
-
keepalived
2.0.10 버그로 인해 활성 프로브에서keepalived
컨테이너가 삭제된 경우 시스템에 할당된 모든 가상 IP 주소(VIP)는 그대로 유지되고keepalived
가 다시 시작할 때 정리되지 않았습니다. 이로 인해 여러 노드가 동일한 VIP를 보유할 수 있었습니다. 이제keepalived
가 시작될 때 VIP가 제거됩니다. 결과적으로 VIP는 단일 노드에 의해 보유됩니다. (BZ#1931505) - 이전에는 RHCOS(Red Hat Enterprise Linux CoreOS)와 같은 비CoreOS 노드에서 rpm-ostree 관련 작업이 제대로 처리되지 않았습니다. 결과적으로 커널 전환과 같은 작업이 RHEL 노드를 포함하는 풀에 적용되면 RHEL 노드 성능이 저하되었습니다. 이번 업데이트를 통해 Machine Config Daemon은CoreOS 노드에서 지원되지 않는 작업이 수행될 때마다 메시지를 로깅합니다. 메시지를 기록한 후 오류 대신 nil을 반환합니다. 이제 풀의 RHEL 노드는 머신 구성 데몬에서 지원되지 않는 작업을 수행할 때 예상대로 진행됩니다. (BZ#1952368)
-
이전에는 비어 있는 정적 pod 파일이
/etc/kubernetes/manifests
디렉터리에 작성되었습니다. 이로 인해 kubelet 로그에서 일부 사용자와 혼동을 일으킬 수 있는 오류를 보고했습니다. 빈 매니페스트는 이제 필요하지 않은 경우 다른 위치로 이동합니다. 이로 인해 kubelet 로그에 오류가 표시되지 않습니다. (BZ#1927042)
Metering Operator
-
이전 버전에서는 Reporting Operator에서 이벤트 조정 시 사용자 제공 보존 기간이 포함된
Report
CR(사용자 정의 리소스)을 잘못 처리했습니다. 결과적으로 영향을 받는 사용자 정의 리소스가 무기한 다시 큐에 추가되므로 만료된Report
CR로 인해 Reporting Operator가 계속 반복됩니다. 이번 업데이트에서는 보존 기간을 지정한 만료된Report
CR을 다시 큐에 추가하지 않습니다. 결과적으로 Reporting Operator는 만료된Report
CR에 대한 이벤트를 올바르게 처리합니다. (BZ#1926984)
모니터링
-
이전에는
node-exporter
daemontset의mountstats
수집기로 인해 NFS 마운트 지점이 있는 노드에서 메모리 사용량이 증가했습니다. 이번 업데이트를 통해 이제 사용자가mountstats
수집기를 비활성화하여 메모리 사용량을 줄일 수 있습니다. (BZ#1955467)
네트워킹
-
이전 버전에서는 잘못된
keepalived
설정으로 인해 VIP가 잘못된 시스템으로 종료되어 올바른 시스템으로 다시 이동할 수 없었습니다. 이번 업데이트를 통해 VIP가 올바른 시스템에 종료되도록 잘못된keepalived
설정이 제거됩니다. (BZ#1916890) - iptables 재작성 규칙으로 인해 서비스 IP와 pod IP를 통해 고정 소스 포트를 사용하여 서비스에 연결하는 클라이언트가 포트 충돌과 관련된 문제가 발생할 수 있습니다. 이번 업데이트를 통해 추가 OVS 규칙을 삽입하여 포트 충돌이 발생하는 시점을 파악하고 추가 SNAT을 수행하여 해당 충돌을 방지합니다. 따라서 서비스에 연결할 때 더 이상 포트 충돌이 발생하지 않습니다. (BZ#1910378)
- 이전 버전에서는 컨트롤 플레인 노드와 송신 할당 노드 간의 IP 포트 9가 내부 방화벽에 의해 차단되었습니다. 이로 인해 IP 주소가 할당되지 않아 송신 노드가 실패했습니다. 이번 업데이트에서는 IP 포트 9를 통해 컨트롤 플레인 노드와 송신 노드 간 액세스를 활성화합니다. 결과적으로 송신 노드에 IP 주소 할당이 성공적으로 허용됩니다. (BZ#1942856)
-
이전에는 더 이상 유효하지 않은 연결 추적 항목으로 인해 UDP 서비스 트래픽이 차단될 수 있었습니다.
NodePort
서비스에 대해 서버 pod가 사이클링된 후 pod에 대한 액세스가 제한되었습니다. 이번 업데이트를 통해NodePort
서비스 사이클링의 경우 연결 추적 항목이 제거되어 새 네트워크 트래픽이 사이클된 엔드포인트에 도달할 수 있습니다. (BZ#1949063) -
이전에는 OVN-Kubernetes 네트워크 공급자가 여러
ipBlocks
가 있는 네트워크 정책을 무시했습니다. 첫 번째 항목을 무시한 후 모든 ipBlock을 수행하면 Pod가 구성된 모든 IP 주소에 연결할 수 없습니다. Kubernetes 네트워크 정책에서 OVN ACL을 생성하는 코드가 수정되었습니다. 결과적으로 여러ipBlocks
이 있는 네트워크 정책이 올바르게 작동합니다. (BZ#1953680) - 이전에는 OVN-Kubernetes 클러스터 네트워크 공급자를 사용할 때 엔드포인트가 없는 Kubernetes 서비스가 잘못된 연결을 수락했습니다. 이번 업데이트를 통해 엔드포인트가 없는 서비스에 대해 더 이상 로드 밸런서가 생성되지 않으므로 트래픽이 더 이상 허용되지 않습니다. (BZ#1918442)
- 이전에는 Multus의 CNI(Container Network Interface) 플러그인이 0으로 시작된 IPv6 주소를 인식하지 못했습니다. 이번 업데이트를 통해 CNI 플러그인은 0보다 큰 값으로 시작하는 IPv6에서 작동합니다. (BZ#1919048)
- 이전에는 머신 구성 정책 변경에 의해 재부팅이 트리거될 때 SR-IOV Network Operator가 재부팅을 시작하면 경쟁 조건이 트리거될 수 있었습니다. 이 경우 노드가 결정되지 않은 상태로 남아 있었습니다. 이번 업데이트를 통해 이러한 상황을 피할 수 있습니다. (BZ#1921321)
- 이전에는 Kuryr 클러스터 네트워크 공급자를 사용하여 새 사용자 프로비저닝 클러스터를 생성할 때 클러스터 노드에서 사용하는 OpenStack 하위 집합이 검출되지 않아 클러스터 설치 시간이 초과될 수 있었습니다. 이번 업데이트를 통해 서브넷이 올바르게 감지되고 사용자가 프로비저닝한 설치가 성공적으로 수행됩니다. (BZ#1927244)
-
이전 버전에서는 OpenShift Container Platform 4.6에서 OpenShift Container Platform 4.7으로 업그레이드할 때 CNO(Cluster Network Operator)가 다음 버전으로 업그레이드를 완료한 것으로 잘못 표시되었습니다. 이후 업그레이드에 실패한 경우 CNO는 자체적으로
degraded
으로 보고되었지만 버전 4.7로 잘못 보고되었습니다. 이번 업데이트를 통해 CNO는 클러스터 네트워크 제공자 이미지가 성공적으로 업그레이드될 때까지 기다린 후 CNO 업그레이드를 성공한 것으로 보고합니다. (BZ#1928157) - 이전 버전에서는 OVN-Kubernetes 클러스터 네트워크 공급자를 사용하는 경우 Kubernetes 버전에 영숫자가 아닌 마이너 버전이 포함된 경우 엔드포인트 슬라이스 컨트롤러가 실행되지 않을 수 있었습니다. 이 업데이트를 설치하면 엔드포인트 슬라이스 컨트롤러가 기본적으로 활성화됩니다. (BZ#1929314)
- Kuryr 클러스터 네트워크 공급자를 사용하는 경우 설치 후 생성된 Neutron 포트의 이름은 설치 중에 생성된 Neutron 포트와 다른 패턴으로 이름이 지정되었습니다. 결과적으로 설치 후 생성된 Neutron 포트가 기본 로드 밸런서에 추가되지 않았습니다. 이번 업데이트를 통해 Kuryr는 두 명명 규칙을 사용하여 생성된 Neutron 포트를 탐지합니다. (BZ#1933269)
- 이전에는 OVN(Open Virtual Network)에서 Hairpin 트래픽 패킷의 소스 IP 주소를 로드 밸런서의 IP 주소로 변경하여 네트워크 정책을 사용 중일 때 트래픽이 차단되었습니다. 이번 업데이트를 통해 Kuryr는 네트워크 정책의 네임스페이스에서 모든 서비스의 IP 주소로 트래픽을 열고 헤어핀 트래픽이 차단되지 않습니다. (BZ#1920532)
- 이전에는 IPv4 주소가 있는 노드에서 단일 스택 IPv6 클러스터를 시작할 때 kubelet에서 노드 IP에 IPv6 IP 대신 IPv4 IP를 사용할 수 있었습니다. 결과적으로 호스트 네트워크 pod에는 IPv6 IP 대신 IPv4 IP가 있어 IPv6 전용 pod에서 연결할 수 없게 되었습니다. 이번 업데이트에서는 node-IP-picking 코드가 수정되어 IPv6 IP를 사용하는 kubelet이 생성됩니다. (BZ#1939740)
-
이전에는 알 수 없는 이유로 kubelet이 노드에 잘못된 IP 주소를 등록할 수 있었습니다. 그 결과 노드가 재부팅될 때까지
NotReady
상태가 됩니다. 이제 systemd 관리자 구성이 유효한 IP 주소를 환경 변수로 다시 로드됩니다. 즉, kubelet이 잘못된 IP 주소를 등록했기 때문에 노드가 더 이상NotReady
상태를 입력하지 않습니다. (BZ#1940939) - 이전에는 shadowed 변수에 대한 리팩토링으로 인해 체크포인트 파일 사용과 관련된 회귀 문제가 발생했으며 SR-IOV Pod 샌드박스가 시작되지 않았습니다. 리팩토링 중 kubelet 소켓 경로에 대한 검사가 올바르게 처리되지 않았습니다. 수정을 통해 kubelet 소켓 경로에 대한 검사를 올바르게 복원하고 이제 SR-IOV Pod 샌드박스가 제대로 생성됩니다. (BZ#1968625)
노드
-
이전에는 RADOS(Reliable Autonomic Distributed Object Store) 블록 장치(RBD)가
lsblk
를 실행하는 권한이 없는 컨테이너 pod에 표시되었습니다. 이 문제는 수정되었으며 RBD는lsblk
를 실행하는 권한이 없는 컨테이너 pod에 더 이상 표시되지 않습니다. (BZ#1772993). -
이전 버전에서는 클러스터를 업그레이드하는 동안
/etc/hostname
파일이 CRI-O로 변경되었습니다. 이로 인해 노드가 실패하고 재부팅 시 반환되었습니다. 이번 업데이트에서는 업그레이드 중에/etc/hosts
파일을 그대로 유지하도록 CRI-O에 특수 처리가 추가되어 업그레이드된 노드가 문제없이 부팅됩니다. (BZ#1921937) - 이전 버전에서는 CRI-O가 네트워크를 프로비저닝한 후 pod를 생성하는 데 시간이 너무 오래 걸렸습니다. 이렇게 되면 네트워크 정리 코드에 버그가 발생하여 네트워크 리소스가 프로비저닝된 후 네트워크 리소스가 제대로 정리되지 않습니다. 이번 업데이트에서는 명령이 시간 초과되어도 네트워킹 리소스를 올바르게 정리하도록 코드가 변경되었습니다. 이렇게 하면 Pod 생성에 시간이 너무 오래 걸리는 경우에도 클러스터가 정상적인 네트워크 작업을 계속할 수 있습니다. (BZ#1957224)
-
이전에는
CNI
플러그인을 사용하여 노드가 재부팅되지 않았습니다. CRI-O는 재부팅하기 전에 실행 중인 모든 컨테이너에서CNI DEL
을 호출하도록 수정되었습니다. 이번 업데이트에서는CNI
리소스를 정리하고 성공적으로 재부팅할 수 있습니다. (BZ#1948137) -
이전에는
CNI
정리 작업에서 클린업 실패를 확인하지 않았기 때문에 실패한 경우CNI DEL
요청을 호출하지 않았습니다. 이제 CRI-O에서CNI DEL
요청을 호출하여CNI
리소스를 올바르게 정리합니다. (BZ#1948047) - 이전 버전에서는 컨테이너 또는 이미지에 대한 재부팅 요청으로 인해 컨테이너 또는 이미지가 디스크에 커밋되는 동안 재부팅이 발생한 경우 오류가 발생할 수 있었습니다. 이로 인해 컨테이너에 대한 스토리지가 손상되어 이미지를 가져오거나 이미지에서 컨테이너를 다시 생성할 수 없었습니다. 이번 업데이트에서는 노드가 재부팅될 시기를 감지하고 true 인 경우 컨테이너 스토리지를 지웁니다. (BZ#1942536)
-
이전에는
runc
에서 해당 권한을 실행한 엔터티의 권한을 사용했습니다. 그러나workdir
에 대한 권한은container
사용자가 설정합니다. 이러한 권한이 다르면 컨테이너 생성 오류가 발생하여 컨테이너 시작에 오류가 발생했습니다. 이 패치는 한 번만 실패할 경우workdir
에runc
를chdir
로 여러 번 업데이트합니다. 이렇게 하면 컨테이너가 성공적으로 생성됩니다. (BZ#1934177) - 이전에는 CRI-O 로그에 이미지를 가져온 소스에 대한 정보가 없었습니다. 이번 수정을 통해 CRI-O 로그의 정보 수준에 로그 풀 소스가 추가됩니다. (BZ#1881694)
- 이전 버전에서는 Pod를 빠르게 생성 및 삭제할 때 Pod가 삭제되기 전에 Pod 샌드박스 생성을 완료하는 데 시간이 부족할 수 있었습니다. 결과적으로 'ErrCreatePodSandbox'error를 사용하여 Pod 삭제가 실패할 수 있었습니다. 이제 Pod가 종료되면 이 오류가 무시됩니다. 결과적으로 Pod가 Pod 샌드박스 생성을 완료하지 못한 경우 Pod 종료가 더 이상 실패하지 않습니다. (BZ#1908378)
- 이전에는 MCO (Machine Config Operator)에서 추적을 유효한 로그 수준으로 허용하지 않았습니다. 결과적으로 MCO는 CRI-O에서 지원하는 경우에도 추적 수준 로깅을 활성화하는 방법을 제공할 수 없었습니다. 추적 로그 수준을 지원하도록 MCO가 업데이트되었습니다. 결과적으로 MCO 구성을 통해 추적 로그 수준을 볼 수 있습니다. (BZ#1930620)
-
이전에는 kubelet에서 완전히 가져오지 않은 이미지 상태를 가져오려고 했습니다. 결과적으로
crictl
에서 이러한 이미지에 대한error locating item named "manifest"
오류를 보고합니다. 매니페스트가 없는 이미지를 나열하지 않도록 CRI-O가 업데이트되었습니다. 결과적으로crictl
에서 더 이상 이러한 오류를 보고하지 않습니다. (BZ#1942608) - 이전에는 오래된 상태 메시지가 제거되지 않았습니다. 이로 인해 MCO(Machine Config Operator)가 적절한 머신 구성 풀을 찾을 수 없는 경우가 있었습니다. 이번 릴리스에서는 상태 수를 제한하기 위해 정리 기능이 추가되었습니다. 결과적으로 MCO는 최대 3개의 다른 kubeletConfig 상태를 유지합니다. (BZ#1950133)
-
이전 버전에서는 OpenShift Container Platform 버전 4.6.25에서 업그레이드할 때
kubeletconfig
CR 또는ContainerRuntimeConfig
CR이 두 개 이상 있는 클러스터에서 MCO(Machine Config Operator)가 동일한 구성에 대한 중복 머신 구성을 생성할 수 있었습니다. 그 결과 MCO에서 이전 컨트롤러 버전(IGNITION 3.1.0)을 사용하므로 업그레이드에 실패했습니다. 이번 업데이트에서는 오래된 중복 머신 구성을 정리하고 버전 4.6.25에서 올바르게 업그레이드할 수 있습니다. (BZ#1955517)
oauth-apiserver
- 이전 버전에서는 일부 OAuth 서버 지표가 제대로 초기화되지 않았으며 Prometheus UI의 검색에 표시되지 않았습니다. 이제 누락된 OAuth 서버 지표가 올바르게 초기화되고 Prometheus UI 지표 검색에 표시됩니다. (BZ#1892642)
-
이전에는 사용자 정의 보안 컨텍스트 제약 조건(SCC)에
defaultAllowPrivilegeEscalation: false
및allowPrivilegedContainer : true
필드가 포함된 경우 보안 컨텍스트 변경이 API 검증에 실패한 상태로 권한 있는openshift -apiserver
및oauth-apiserver
Pod를 변경했습니다. 이로 인해 pod를 시작하지 못해 OpenShift API 중단이 발생하는 경우가 있었습니다. 보안 컨텍스트 변경기에서 이미 권한이 있는 컨테이너의defaultAllowPrivilegeEscalation
필드를 무시하고 해당 필드를 포함하는 사용자 지정 SCC에서는 pod가 시작되지 않습니다. (BZ#1934400)
oc
-
이전 버전에서는
oc explain
명령을 실행할 때 리소스 문자열의 일부로 제공된 경우 리소스 그룹 이름이 자동으로 탐지되지 않았습니다. 다른 그룹의 두 리소스에 동일한 리소스 이름이 있는 경우--api-version
매개 변수를 통해 그룹을 지정하지 않는 한 가장 높은 우선 순위 정의가 반환되었습니다. 이제--api-version
매개 변수가 포함되어 있지 않으면 그룹 이름을 감지하기 위해 리소스 문자열에 대해 접두사 확인이 실행됩니다. 명령에서 반환되는 설명은 명시된 그룹의 일치하는 리소스와 관련이 있습니다. (BZ#1725981) -
이전에는
oc image extract
명령에서 이미지의 루트 디렉터리에서 파일을 추출하지 않았습니다. 명령이 업데이트되었으며 이제 이미지 루트 디렉터리에서 파일을 추출하는 데 사용할 수 있습니다. (BZ#1919032) -
이전에는
oc apply
명령이 각 호출에 대해 OpenAPI 사양을 가져옵니다. 이제 명령을 처음 실행하면 OpenAPI 사양이 캐시됩니다.oc apply
명령이 여러 번 실행되고 네트워크 로드가 감소하면 캐시된 OpenAPI 사양이 재사용됩니다. (BZ#1921885) -
이전에는 이미지 미러링 중에 생성된 권한 부여 헤더가 일부 레지스트리의 헤더 크기 제한을 초과할 수 있었습니다. 이로 인해 미러링 작업 중에 오류가 발생했습니다. 이제 인증 헤더가 헤더 크기 제한을 초과하지 않도록
oc adm catalog mirror
명령에--skip-multiple-scopes
옵션이true
로 설정됩니다. (BZ#1946839) -
이전에는
oc volume set
명령에--claim-class
옵션이 포함된 경우storageClassName
속성이PersistentVolumeClaim
오브젝트에 추가되지 않았습니다. 대신--claim-class
옵션 값이volume.beta.kubernetes.io/storage-class
주석에 추가되었습니다. 이로 인해storageClassName
속성에 종속되어 볼륨의 스냅샷이 실패할 수 있었습니다. 이제oc volume set
명령에서--claim-class
옵션의 값을PersistentVolumeClaim
오브젝트의storageClassName
속성에 적용하고 볼륨 스냅샷은 특성 값을 참조할 수 있습니다. (BZ#1954124) -
이전 버전에서는
oc adm top --help
의 출력에서oc adm top
명령이 pod 및 노드의 CPU, 메모리 및 스토리지 리소스 사용량을 표시할 수 있다고 설명했습니다.oc adm top
명령은 스토리지 리소스 사용량을 표시하지 않습니다. 이제 스토리지 참조가oc adm top --help
출력에 포함되어 있지 않습니다. (BZ#1959648)
OLM(Operator Lifecycle Manager)
-
이전 버전에서는 Operator 설치의 일부로 적용된 CRD(
CustomResourceDefinition
) 오브젝트가 동일한 Operator의 최신 버전의 설치 요구 사항을 충족할 수 있었습니다. 결과적으로 Operator 업그레이드 중에 교체되는 버전이 조기 제거될 수 있었습니다. 경우에 따라 업그레이드가 중지되는 경우도 있습니다. 이번 업데이트를 통해 Operator 번들 설치의 일부로 생성되거나 업데이트된 CRD에 원본 번들을 나타내는 주석이 추가됩니다. 이러한 주석은CSV(ClusterServiceVersion
) 오브젝트에서 기존 CRD와 동일한 번들 CRD를 구분하는 데 사용됩니다. 결과적으로 현재 버전의 CRD를 적용할 때까지 업그레이드가 완료되지 않습니다. (BZ#1947946) -
이전에는
CatalogSource
오브젝트에서 참조하는 인덱스를 실행한 Pod에securityContext
필드에 명시적으로 설정된readOnlyRootFileSystem: false
가 없었습니다. 결과적으로readOnlyRootFileSystem: true
를 강제 적용하고 해당 pod의securityContext
와 일치하는 SCC(보안 컨텍스트 제약 조건) 가 있는 경우 해당 pod에 할당되어 반복적으로 장애가 발생하게 됩니다. 이번 업데이트에서는securityContext
필드에readOnlyRootFileSystem: false
를 명시적으로 설정합니다. 결과적으로CatalogSource
오브젝트에서 참조하는 Pod는 읽기 전용 루트 파일 시스템을 적용하는 SCC와 더 이상 일치하지 않으며 더 이상 장애가 발생하지 않습니다. (BZ#1961472) -
이전 버전에서는 OLM(Operator Lifecycle Manager)에서 처음 설치하는 동안 버전이
startingCSV
필드에 지정된 경우 건너뛴 버전의 설치를 허용하지 않았습니다. 이로 인해 사용자가 생략한 이유와 관계없이 설치를 원하더라도 건너뛴 버전을 설치할 수 없게 되었습니다. 이번 수정에서는 사용자가Subscription
오브젝트에startCSV
사양을 사용하여 초기 설치 중에만 건너뛴 버전을 설치할 수 있도록 OLM을 업데이트합니다. 사용자는 예상대로 건너뛰기된 버전으로 업그레이드할 수 없습니다. (BZ#1906056) -
k8s.io/apiserver가
웹 후크 작성자의 컨텍스트 오류를 처리하지 않았기 때문에 시간 초과와 같은 컨텍스트 오류로 인해 작성자가 패닉 상태가 발생했습니다. 이번 수정을 통해 문제에 대한 업스트림 수정을 포함하도록 API 서버 버전이 증가하므로 작성자가 컨텍스트 오류를 정상적으로 처리할 수 있습니다. (BZ#1913525) -
이전에는
oc adm catalog mirror
명령을 Air-Gapped 환경에서 Operator 카탈로그를 미러링하는 데 쉽게 사용할 수 없었습니다. 이 향상된 기능을 통해 카탈로그의 콘텐츠를 파일 시스템에 미러링하고 이동식 미디어에 배치한 다음 파일 시스템에서 아울러 클러스터에서 사용할 레지스트리로 미러링할 수 있습니다. (BZ#1919168) -
이전에 Catalog Operator가 생성한 번들은 시간 제한을 설정하지 않고 설치 계획에 대한 번들 압축 풀기 작업을 만들었습니다. 번들 이미지가 없거나 삭제된 경우 작업이 영구적으로 실행되었으며 설치 계획이
Installing
단계에 머물러 작업 pod가 이미지를 확인하지 못했습니다. 이번 수정으로 Catalog Operator는--bundle-unpack-timeout
플래그를 사용하여 구성할 수 있는 번들 압축 해제 작업에 기본10m
시간 초과를 설정합니다. 결과적으로 구성된 시간 초과 후 번들의 압축 풀기 작업이 실패하고 설치는status.conditions
및status.bundleLookups.conditions
속성에 이유가 표시되며Failed
단계로 전환됩니다. (BZ#1921264) - OpenShift Container Platform 4.6 이전의 클러스터에 설치된 Operator는 종속성 확인 및 업그레이드 선택을 위해 지정된 Operator 패키지에서 가져온 것으로 확인되지 않았습니다. 이로 인해 기존 Operator 설치가 자체 서브스크립션 기준과 충돌하여 네임스페이스 내에서 업그레이드 및 종속성 확인이 차단되었습니다. 이번 수정에서는 서브스크립션에서 참조하는 Operator의 패키지 이름과 버전을 추측하도록 OLM이 업데이트되었습니다. 그 결과 업그레이드 및 종속성 확인이 예상대로 진행됩니다. (BZ#1921953)
-
일시적인 오류에 사용되는
Info
로그 수준으로 인해 기본 구성에 대한 OLM Operator 로그가 상세하게 표시되었습니다. 이번 수정을 통해 일시적인 오류 로그 수준을debug
로 변경합니다. 결과적으로debug
구성에 대해 볼 수 있는 중요하지 않은 로그 수가 줄어듭니다. (BZ#1925614) -
이전에는
Subscription
오브젝트의spec.config.resources
섹션이 설정되지 않았거나 비어 있는 경우에도 설치된 배포에 항상 적용되었습니다. 이로 인해 CSV(클러스터 서비스 버전)에 정의된 리소스가 무시되고Subscription
오브젝트의spec.config.resources
섹션에 정의된 리소스만 사용되었습니다. 이번 수정에서는spec.config.resources
섹션이 nil 또는 비어 있지 않은 값으로 설정된 경우에만 배포 관련 리소스를 재정의하도록 OLM을 업데이트합니다. (BZ#1926893) -
종속성 및 업그레이드 확인 중에 서브스크립션 고유성은 이전에 서브스크립션된 패키지 이름을 기반으로 했습니다. 네임스페이스의 두 서브스크립션이 동일한 패키지를 구독하면 내부적으로 단일 서브스크립션으로 처리되므로 예기치 않은 동작이 발생합니다. 이번 수정을 통해 이제
.spec.name
대신.metadata.name
을 통해 네임스페이스 내에서 내부적으로 서브스크립션을 고유하게 식별할 수 있습니다. 결과적으로 동일한.spec.name.
이 포함된 여러Subscription
오브젝트가 포함된 네임스페이스에 업그레이드 및 종속성 확인 동작이 일관되게 유지됩니다. (BZ#1932001) - 예정된 카탈로그 업데이트 폴링 시도가 1분 이내로 남아 있는 경우 간격 지터 기능은 재동기화 간격을 0으로 줄입니다. 이로 인해 Operator Catalog가 핫 루프에 진입하여 CPU 사이클이 낭비되었습니다. 이번 수정을 통해 재동기화 지연을 계산하는 데 사용되는 지터 기능의 정확도가 높아졌습니다. 결과적으로 Catalog Operator는 다음 카탈로그 업데이트 폴링까지 대부분 유휴 상태로 유지됩니다. (BZ#1932182)
-
Operator 업그레이드 중에 관련
ServiceAccount
오브젝트의 소유자 참조가 이전이 아닌 새로운 CSV(ClusterServiceVersion
) 오브젝트를 가리키도록 업데이트되었습니다. 이로 인해 CSV를 조정하는 OLM Operator와 Catalog Operator 간에 경쟁 조건이 발생하여 서비스 계정 소유권 변경으로Pending/RequirementsNotMet
로 표시하는 설치 계획을 실행할 수 있습니다. 이로 인해 새 CSV가 이전 CSV가 정상 상태를 나타낼 때까지 무기한 기다리는 동안 업그레이드 완료를 차단했습니다. 이번 수정으로 한 단계에서 소유자 참조를 업데이트하는 대신 두 번째 소유자가 기존 소유자에 추가됩니다. 따라서 동일한 서비스 계정이 이전 CSV와 새 CSV에 대한 요구 사항을 충족할 수 있습니다. (BZ#1934080) -
이전에 CSV(클러스터 서비스 버전)에는
ownerReferences
값이 설정되지 않았거나 관련 CSV로 설정된ownerReferences
값을 설정하지 않았습니다. 이로 인해metadata.ownerReferences
필드가 비어 있지 않은 경우 Operator 설치의 일부로default
서비스 계정이 생성되지 않았습니다. 이번 수정으로 CSV에는 CSV로 설정된ownerReferences
값이 없거나ownerReference
값을 관련 CSV로 설정하기 위해 CSV에 연결된 서비스 계정이 있어야 합니다. 결과적으로 CSV가 아닌ownerReferences
값만 있는 서비스 계정은 모든 CSV의 요구 사항을 충족할 수 있습니다. (BZ#1935909) -
OpenShift Container Platform 4.5 이전에는
openshift-marketplace
네임스페이스의 Marketplace Operator에서 배포 및 관리하는 기본 카탈로그가 Marketplace Operator에서 노출한 API인OperatorSource
개체에 의해 생성되었습니다. Operator 소스에서 발생하는 오류를 나타내기 위해 적절한 메트릭 및 경가 작성되었습니다. OpenShift Container Platform 4.6에서는 여러 릴리스에서 더 이상 사용되지 않는OperatorSource
리소스가 제거되었으며 Marketplace Operator가 대신 OLM의CatalogSource
리소스를 직접 생성했습니다. 그러나openshift-marketplace
네임스페이스에 배포된 카탈로그 소스에는 동일한 메트릭 및 경고 계측이 수행되지 않았습니다. 따라서 기본 카탈로그 소스에서 발생한 오류가 Prometheus 경고로 강조 표시되지 않았습니다. 이번 수정에서는 OLM의 새catalogsource_ready
메트릭이 도입되었습니다. 이 메트릭은 기본 카탈로그 소스에 대한 메트릭에 카탈로그 소스가 준비되지 않음을 나타낼 때마다 Marketplace Operator에서 경고를 발생시키는 데 사용됩니다. 결과적으로openshift-marketplace
네임스페이스에 준비되지 않은 기본 카탈로그 소스에 대해 Prometheus 경고가 제공됩니다. (BZ#1936585) - 이전 버전에서는 기본 채널과 비기본 채널에서 Operator 종속성을 사용할 수 있는 경우 OLM(Operator Lifecycle Manager)에서 두 채널 중 하나를 임의로 지정하는 서브스크립션을 생성할 수 있었습니다. 이제 Operator 종속성은 먼저 기본 채널의 후보자에 의해 충족되고 그 다음에는 다른 채널의 후보자에 의해 충족됩니다. (BZ#1945261)
-
이전에는 CSV(클러스터 서비스 버전)가 여러 Operator의 구성 요소로 복사될 수 있었습니다. 이는 Operator를 설치한 후 Operator 그룹에 네임스페이스가 추가된 경우 발생할 수 있습니다. 이 동작은 메모리 사용 및 CPU 로드에 영향을 미쳤습니다. 이제 CSV가
Copied
이유와 함께 Operator의status.components
필드에 표시되지 않으며 성능에도 영향을 주지 않습니다. (BZ#1946838)
Operator SDK
-
이전에는 조정 중에
ManagedFields
가 처리되었기 때문에 일부 리소스가 무한 루프로 포착되었습니다. 이번 수정에서는ManagedFields
를 무시하도록operator-lib
를 업데이트하여 루프를 일관되게 조정합니다. (BZ#1856714) -
--help
가 CLI(명령줄 인터페이스)에서 전달되었을 때 기본 플러그인이 호출되지 않았기 때문에 Operator SDK에 최소 도움말 메시지가 출력되었습니다. 이번 수정에서는 사용자가operator-sdk init --help
명령을 실행할 때 기본 플러그인을 호출하고 더 유용한 도움말 메시지를 출력합니다. (BZ#166222) -
이전 버전에서는 선택적 검증기가 누락된 경우 문제 경고 대신
operator-sdk bundle
이 실패했습니다. 이 문제가 해결되었습니다. (BZ#1921727)
openshift-apiserver
-
이전에는 사용자 정의 보안 컨텍스트 제약 조건(SCC)의 기본 집합보다 우선 순위가 더 높을 수 있었습니다. 그 결과 해당 SSC가
openshift-apiserver
pod와 일치하는 경우가 있어 루트 파일 시스템에 쓸 수 있는 기능이 손상되었습니다. 또한 이 버그로 인해 일부 OpenShift API가 중단되었습니다. 이번 수정에서는openshift-apiserver
pod에 루트 파일 시스템에 쓰기 가능하도록 명시적으로 표시되어 있습니다. 따라서 사용자 정의 SCC가openshift-apiserver
Pod의 실행을 저지할 수 없습니다. (BZ#1942725)
Performance Addon Operator
-
이전 버전에서는 대기 시간이 짧은 응답을 제공하도록 컨테이너를 구성할 때 CRI-O를 사용한 동적 인터럽트 마스크가
irqbalance
시스템 서비스에 설정된 인터럽트 마스크와 일치하지 않았습니다. 각각 다른 마스크를 설정하고 컨테이너 지연 시간이 손상되었습니다. 이번 업데이트에서는irqbalance
시스템 서비스와 일치하도록 CRI-O를 설정하여 설정된 인터럽트 마스크세트를 변경합니다. 그 결과 동적 인터럽트 마스크 처리가 예상대로 작동합니다. (BZ#1934630)
RHCOS
- 이전에는 부팅 프로세스에서 다중 경로가 너무 늦게 활성화되었습니다. 결과적으로 RHCOS(Red Hat Enterprise Linux CoreOS)는 일부 다중 경로 환경에서 I/O 오류를 반환합니다. 이번 업데이트를 통해 이제 부팅 프로세스 초기에 다중 경로가 활성화됩니다. 따라서 RHCOS는 일부 다중 경로 환경에서 더 이상 I/O 오류를 반환하지 않습니다. (BZ#1954025)
-
이전 버전에서는 잠재적인 경쟁 조건으로 인해 일부 환경에서 RHCOS(Red Hat Enterprise Linux CoreOS) PXE 배포에서 rootfs를 가져오지 못할 수 있었습니다. 이번 수정을 통해 rootfs를 가져오려고 시도하기 전에 연결을 다시 시도하여 경우에 따라
coreos-livepxe-rootfs
스크립트가 실패하는 시점을 계속 진행하기 전에 원격 서버에 대한 액세스를 확인하고 rootfs 파일을 확인합니다. (BZ#1871303) -
이전에는
MachineConfig
의 사용자 사전 설정이 무시되었습니다. 이로 인해 사용자가kdump.service
의 설정을 변경할 수 없었습니다. 이제 기본 사전 설정의 우선 순위 수준이 사용자 구성 기본값보다 낮으므로 사용자 구성이 벤더 구성을 적절하게 재정의할 수 있습니다. (BZ#1969208) -
이전에는
coreos-installer
가 손상된 GUID 파티션 테이블(GPT)이 있는 디스크에 설치를 거부했습니다. 설치 이미지로 작성하기 전에 대상 디스크의 GPT를 읽으려고 했기 때문입니다. 이번 수정으로coreos-installer
는 기존 파티션을 보존하라는 지침이 있을 때 대상 디스크의 GPT만 읽고 손상된 GPT가 있는 디스크에 성공적으로 설치됩니다. (BZ#1914976) -
이전에는 포맷되지 않은 직접 액세스 스토리지 장치(DASD)에 클러스터를 설치하면
coreos-installer
에서 잘못 작성된 디스크 섹터가 생성되었습니다. 이제coreos-installer
는 포맷되지 않은 새로운 DASD 드라이브를 4096바이트 섹터로 올바르게 포맷합니다. 이렇게 하면coreos-installer
가 디스크 드라이브에 OS 이미지의 설치를 완료할 수 있습니다. (BZ#1905159) -
이전에는 s390x z15 시스템에서 하드웨어 지원
zlib
압축을 해제하면 RHEL rootfs 이미지 마운트에 실패하여 RHEL 8.3 커널을 사용하는 REHL s390x z15 노드의 부팅이 실패했습니다. 하드웨어 지원zlib
압축을 사용할 수 있을 때 커널이zlib
에서 압축된 squashfs 파일을 올바르게 처리하도록 업데이트되었습니다. (BZ#1903383) -
이전에는
zipl
명령은 512바이트의 섹터 크기를 가정하여 디스크를 구성했습니다. 그 결과 4k 섹터가 있는 SCSI 디스크에서zipl
부트로더 구성에 잘못된 오프셋이 포함되어 zVM을 부팅할 수 없었습니다. 이번 수정으로zipl
은 이제 디스크 섹터 크기를 고려하여 zVM이 성공적으로 부팅됩니다. (BZ#1918723) -
이전 버전에서는
chrony.config
가 자동으로 여러 번 실행되어 첫 번째 실행에 실패할 수 있었습니다. 이로 인해chrony.config
구성이 초기 실행 중에 설정되고 변경할 수 없기 때문에 문제가 발생했습니다. 이제chrony.config
가 처음 실행되는 경우 구성 설정 프로세스를 제한하여 이러한 오류를 방지할 수 있습니다. (BZ#1924869) - 이전에는 노드가 비정상으로 표시되었으며 워크로드가 많은 기간에는 예상대로 작동하지 않았습니다. 이는 메모리를 사용하는 워크로드가 메모리 회수 속도보다 더 빠르기 때문에 발생했습니다. 이번 업데이트를 통해 메모리 재요청 및 메모리 부족 상황이 해결되었으며 워크로드가 많은 상황에서는 이러한 상태가 더 이상 발생하지 않습니다. (BZ#1931467)
- 이전에는 Kerberos 인수를 사용하는 본딩 인터페이스의 최대 전송 단위(MTU) 사양이 제대로 할당되지 않았습니다. 이 문제가 해결되었습니다. (BZ#1932502)
-
이전에는
clevis-luks-askpass.path
장치가 기본적으로 활성화되지 않았습니다. 이로 인해 루트가 아닌LUKS Clevis
장치가 재부팅 시 자동으로 잠금 해제되지 않았습니다. 이번 업데이트를 통해 기본적으로clevis-luks-askpass.path
장치를 활성화하고 루트가 아닌LUKS Clevis
장치가 재부팅 시 자동으로 잠금 해제할 수 있습니다. (BZ#1947490) -
이전 버전에서는 systemd가
mountinfo
를 과도하게 읽고 CPU 리소스를 과도하게 소비하여 이로 인해 컨테이너가 시작되지 않았습니다. 이번 업데이트를 통해systemd
에서mountinfo
를 읽을 때 제한을 활성화하여 컨테이너가 성공적으로 시작될 수 있습니다. (BZ#1957726) - 이전 버전에서는 MCO (Machine Config Operator)에서 Ignition 버전을 점검하기 위해 Ignition을 호출하면 Ignition이 충돌했습니다. 결과적으로 MCO가 시작되지 않았습니다. 이번 업데이트를 통해 MCO가 더 이상 Ignition 버전을 쿼리하지 않고 MCO가 성공적으로 시작됩니다. (BZ#1927731)
라우팅
- 이전에는 HAProxyDown 경고 메시지가 모호했습니다. 결과적으로 최종 사용자는 이 경고가 HAProxy pod가 아닌 라우터 pod를 사용할 수 없음을 의미한다고 생각했습니다. 이번 업데이트로 HAProxyDown 경고 메시지가 더 명확해졌습니다. (BZ#1941592)
- 이전에는 허용 목록 IP에 대한 파일을 생성하는 HAProxy의 도우미 기능 템플릿에서 잘못된 인수 유형이 예상되었습니다. 결과적으로 긴 IP 목록의 백엔드에 대해 허용 목록 ACL이 적용되지 않았습니다. 이번 업데이트를 통해 허용 목록 ACL이 긴 IP 목록 백엔드에 적용되도록 도우미 기능 템플릿의 인수 유형이 변경됩니다. (BZ#1964486)
-
이전에는 사용자 정의 도메인을 사용하여 Ingress를 생성할 때 OpenShift Container Platform Ingress 컨트롤러에서 라우터 표준 호스트 이름으로 업데이트하고
external-dns
를 사용하여 Route 53과 동기화했습니다. 문제는 정식 라우터 호스트 이름이 DNS에 존재하지 않았으며 OpenShift Container Platform에서 생성되지 않았다는 것입니다. OpenShift Container Platform은apps.<cluster_name>.<base_domain>
DNS 레코드가 아닌*.apps.<cluster_name>.<base_domain>
DNS 레코드를 생성합니다. 따라서 정식 라우터 호스트 이름이 올바르지 않았습니다. 이번 수정에서는 정식 라우터 호스트 이름을router-default.apps.<cluster_name>.<base_domain>
으로 설정합니다. 정식 호스트 이름을 사용하고 와일드카드 또는 하위 도메인 앞에 자동화가 있는 클러스터 관리자는 정식 Ingress 호스트 이름이<ingress-controller-name>.apps.<cluster_name>.<base_domain>
으로 설정되어 있음을 인지하고 있어야 합니다. (BZ#1901648) - 이전에는 BZ#1932401에 대한 수정 사항이 기본 Go HTTP 클라이언트 전송을 덮어썼습니다. 이로 인해 클러스터 전체 프록시 설정이 Ingress Operator Pod에 연결되어 있지 않아 클러스터 전체 송신 프록시가 있는 클러스터에서 카나리아 검사를 수행하지 못했습니다. 이번 업데이트에서는 카나리아 클라이언트의 HTTP 전송에서 프록시 설정을 명시적으로 설정합니다. 결과적으로 카나리아 검사는 모든 클러스터 전체 프록시에서 작동합니다. (BZ#1935528)
- 이전에는 카나리아 DaemonSet에서 노드 선택기를 지정하지 않아 카나리아 네임스페이스의 기본 노드 선택기를 사용했습니다. 결과적으로 카나리아 DaemonSet은 인프라 노드에 예약할 수 없으며 경우에 따라 경고가 발생했습니다. 이번 업데이트에서는 인프라 노드에 카나리아 DaemonSet을 명시적으로 예약하고 테인트된 인프라 노드를 허용합니다. 이를 통해 카나리아 DaemonSet은 문제나 경고 없이 작업자 및 인프라 노드에 안전하게 롤아웃할 수 있습니다. (BZ#1933102)
-
이전 버전에서는 유휴 워크로드가 있는 이전 버전에서 클러스터를 업그레이드할 때
oc idle
기능 수정 및 재작업으로 인해 OpenShift Container Platform 4.6 또는 4.7으로 업그레이드된 HTTP 요청에서 유휴 상태의 워크로드가 발생하지 않았습니다. 이번 업데이트를 통해 유휴 변경 사항이 Ingress Operator 시작 시 엔드포인트에서 서비스로 미러링됩니다. 따라서 업그레이드 후 워크로드를 유휴 상태로 해제하면 예상대로 작동합니다. (BZ#1925245) -
이전에는 모든 HTTP 트래픽을 HTTPS로 리디렉션하는 외부 로드 밸런서를 통해 기본 Ingress 컨트롤러를 노출하면 Ingress Operator에서 수행한 Ingress Canary 엔드포인트 검사가 실패하여 Ingress Operator가
degraded
되었습니다. 이번 수정을 통해 일반 텍스트 카나리아 경로를 에지 암호화된 경로로 변환합니다. 이제 카나리아 경로는 안전하지 않은 트래픽이 로드 밸런서에 의해 리디렉션되는 경우에만 HTTPS 로드 밸런서를 통해 작동합니다. (BZ#1932401) -
이전에는 Ingress Operator Canary Check Client에서 HTTP 트래픽을 삭제한 로드 밸런서에 HTTP를 통해 카나리아 요청을 전송했습니다. 이로 인해 카나리아 검사에 실패한 후 Ingress Operator의 성능이
degraded
되었습니다. 이번 수정으로 라우터의 리디렉션을 사용하는 대신 Ingress Operator Canary Check Client는 처음부터 HTTPS를 통해 카나리아 점검 요청을 보냅니다. 이제 비보안 HTTP 트래픽을 삭제하는 로드 밸런서를 통해 기본 Ingress 컨트롤러를 노출하는 클러스터에 대해 카나리아 검사가 작동합니다. (BZ#1934773) -
이전 버전에서는
openshift-router
에서 사용한 HAProxy 템플릿이firstMatch()
함수에 대해 반복적으로 호출했습니다. 이 함수는 매번 정규 표현식을 구문 분석하고 다시 컴파일합니다.firstMatch()
로 호출할 때 마다 정규식을 구문 분석하고 다시 컴파일하는 것은 특히 경로가 수천 개인 구성의 경우 비용이 많이 듭니다. 이번 수정을 통해firstMatch()
호출의 정규 표현식이 이미 표시된 경우 이미 컴파일된 버전이 다시 사용되고 캐시됩니다. 이제haproxy-config.template
을 구문 분석하고 평가할 때 실행 시간이 60% 단축되었습니다. (BZ#1937972) - 이전에는 재정의 주석을 사용하여 잘못된 호스트 이름으로 경로 이름을 지정할 수 있었습니다. 이번 업데이트에서는 이 문제가 해결되었습니다. (BZ#1925697)
-
이전 버전에서는 경로를 통해 노출된 서비스에서
선택기를
제거하면 서비스 포드에 대해생성되는
끝점 라이센스가 복제되어 중복 서버 항목으로 인해 HAProxy 재로드 오류가 발생했습니다. 이번 업데이트에서는 HAProxy 구성 파일을 작성할 때 실수로 중복된 서버 행을 필터링하여 서비스에서 선택기를 삭제해도 더 이상 라우터가 실패하지 않습니다. (BZ#1961550)
Samples
- 이전에는 Cluster Samples Operator에서 모니터링 중인 개체에 대한 컨트롤러 캐시를 변경할 수 있었기 때문에 Kubernetes에서 컨트롤러 캐시를 관리할 때 오류가 발생했습니다. 이번 업데이트에서는 Cluster Samples Operator가 컨트롤러 캐시의 정보를 사용하는 방법이 수정되었습니다. 결과적으로 Cluster Samples Operator에서 컨트롤러 캐시를 수정하여 오류가 발생하지 않습니다. (BZ#1949481)
service-ca
OpenShift Container Platform 4.8을 사용하면 조직의 요구에 맞게 루트가 아닌 사용자로
service-ca-operator
Pod를 실행할 수 있습니다. 루트가 아닌 사용자로 실행하는 경우service-ca-operator
는 다음 UID 및 GID 로 실행됩니다.uid=1001(1001) gid=1001 groups=1001
스토리지
-
이전 버전에서는
capacity breakdown
을 요청할 때block type PVC
파일 시스템에 대한 지표가 보고되지 않았습니다. 즉, 사용자는 모든 파일 시스템에서 지표에 대한 부정확한 보고를 받았습니다. 이번 업데이트를 통해 Kubelet에서 요청할 때block type PVC
가 포함됩니다. 이는 모든 파일 시스템 지표에 대한 정확한 보고를 제공합니다. (BZ#1927359) -
이전에는
/var/lib/kubelet
이Cinder CSI Node Controller
컨테이너에 두 번 마운트되었습니다. 이로 인해/var/lib/kubelet/pods
가 공간이 부족함을 나타내는 오류로 인해CSI Node Controller
가 시작하지 못했습니다. 수정을 통해CSI Node Controller
를 성공적으로 실행할 수 있는/var/lib/kubelet
및/var/lib/kubelet/pods
의 중복 마운트가 제거됩니다. (BZ#1952211) -
이전 버전에서는 Cinder CSI 드라이버의 PV(영구 볼륨) 재조정 중에
findmnt
명령이 여러 볼륨 마운트를 수신하여 올바른 볼륨을 선택할 수 없어 크기 조정이 중지되었습니다. 결과적으로 사용자가 파일 시스템을 수동으로 확장해야 했습니다. 이 수정을 통해 이제 명령에서 첫 번째 마운트를 사용하므로 파일 시스템의 크기를 PV와 함께 조정할 수 있습니다. (BZ#1919291) -
Cinder CSI Driver Operator는 이제
VolumeSnapshotClass
오브젝트를 수동으로 생성하지 않고 기본 스토리지 클래스를 생성할 때 Cinder CSI용 기본VolumeSnapshotClass
오브젝트를 자동으로 프로비저닝합니다. (BZ#1905849) - 이전에는 recycler-pod 템플릿이 kubelet 정적 매니페스트 디렉터리에 잘못 배치되었습니다. 이 잘못된 위치에서는 recycler의 정적 pod 시작 실패를 나타내는 정적 pod 로그 메시지가 생성되었습니다. 이번 업데이트를 통해 정적 Pod 매니페스트 디렉터리에서 잘못 배치된 recycler-pod 템플릿이 제거되었습니다. 결과적으로 오류 메시지가 더 이상 표시되지 않습니다. (BZ#1896226)
- 이전에는 사용 중인 디스크가 사용 가능한 디스크로 잘못 감지되었기 때문에 LSO(Local Storage Operator)에서 다른 프로비저너에 속하는 디스크를 클레임할 수 있었습니다. 이제 LSO에서 해당 디스크를 클레임할 수 없도록 디스크의 바인딩 마운트가 확인됩니다. (BZ#1929175)
-
이전 버전에서는 장치 ID에 다음과 같은 지원되지 않는 문자 (예:
:
)가 포함되어 있기 때문에 LSO(Local Storage Operator)에서 잘못된 레이블 값으로 PV(영구 볼륨)를 생성하려고 했습니다. 이 문제는 장치 정보를 레이블에서 주석으로 이동하여 수정되었습니다. (BZ#1933630) -
이전 버전에서는 삭제 프로그램이 올바르게 등록되지 않았기 때문에 LSO(Local Storage Operator)에서 PV(영구 볼륨)를 정리하지 않았습니다. 이로 인해 PV가
released
상태로 유지됩니다. 이제 PV가 올바르게 큐에 추가되어 올바르게 삭제됩니다. (BZ#1937145) - 이전 버전에서는 Pod가 삭제될 때 파이버 채널 볼륨이 노드에서 제대로 마운트 해제되지 않았습니다. 이 문제는 노드의 kubelet이 실행되지 않은 경우 API 서버에서 볼륨을 사용한 다른 Pod가 삭제될 때 발생했습니다. 이번 업데이트를 통해 새 kubelet이 시작될 때 파이버 채널 볼륨이 올바르게 마운트 해제됩니다. 또한 새 kubelet이 완전히 시작되고 볼륨을 마운트 해제하는 조합이 생성되어 파이버 채널 볼륨이 손상되지 않을 때까지 볼륨을 여러 노드에 마운트할 수 없습니다. (BZ#1954509)
웹 콘솔(관리자 화면)
- 이전 버전에서는 개발자 모드에서 콘솔 UI의 CNV 네임스페이스 내에서 사용자 정의 리소스를 삭제하려고 할 때 삭제 버튼을 클릭하면 삭제 버튼이 고착 상태로 표시되었습니다. 또한 CLI에서 동일한 작업을 수행할 때 표시되는 오류 메시지가 표시되지 않았습니다. 이번 업데이트를 통해 오류 메시지가 예상대로 표시되고 D삭제 버튼이 고착되지 않습니다. (BZ#1939753)
-
이전에는 OperatorHub 공급자 유형
filter
속성에CatalogSource
와의 관계가 명확하게 표시되지 않았습니다. 이 문제로 인해 사용자는filter
기준을 구분할 수 없었습니다. 이 패치는 공급자 유형filter
를Source
로 업데이트합니다. 이를 통해filter
와CatalogSource
간의 관계가 보다 명확하게 표시됩니다. (BZ#1919406) - 이전에는 리소스 메뉴의 리소스 목록 드롭다운 구성 요소가 일부 언어에 대해 국제화되지 않았습니다. 이번 업데이트를 통해 영어 이외의 사용자의 환경을 개선하도록 리소스 메뉴가 업데이트되었습니다. (BZ#1921267)
- 이전에는 영구 볼륨 클레임 삭제와 같은 일부 메뉴 항목이 올바르게 국제화되지 않았습니다. 이제 더 많은 메뉴 항목이 올바르게 국제화되었습니다. (BZ#1926126)
- 이전에는 HorizontalPodAutoscaler 추가 페이지의 일부 텍스트 및 경고 메시지가 국제화되지 않았습니다. 텍스트는 이제 국제화되었습니다. (BZ#1926131)
-
이전 버전에서는 사용자가 Operator SDK를 사용하여 Operator를 생성하고
xDescriptors={"urn:alm:<…와 같은 주석을 지정할 때>:hidden"}
Operator 인스턴스 생성 페이지에서 필드를 숨기는 경우 해당 필드가 여전히 페이지에 표시될 수 있습니다. 이제 Operator 인스턴스 생성 페이지에서 숨겨진 필드가 생략됩니다. (BZ#1966077) - 이전에는 모바일 장치에 테이블이 잘못 표시되었습니다. 이번 업데이트를 통해 이제 테이블이 올바르게 표시됩니다. (BZ#1927013)
- 이전에는 OpenShift Container Platform 웹 콘솔의 실행 속도가 느릴 수 있었습니다. 이번 업데이트를 통해 웹 콘솔이 더 빠르게 시작됩니다. (BZ#1927310)
- 이전 버전에서는 OpenShift Container Platform 관리자에게 보내는 국제화된 알림 부족이 사용자 환경에 영향을 주었습니다. 이제 국제화가 가능합니다. (BZ#1927898)
- 이전 버전에서는 클러스터 사용량 대시보드의 국제화 지속 시간이 부족하여 사용자 환경에 영향을 주었습니다. 이제 국제화가 가능합니다. (BZ#1927902)
- 이전 버전에서는 OpenShift Container Platform 웹 콘솔의 OLM(Operator Lifecycle Manager) 상태 설명자가 호환되지 않는 데이터 유형이 할당되면 오류가 발생했습니다. 검증이 추가되어 처리에서 호환되지 않는 데이터 유형이 제거되어 오류가 발생하지 않습니다. 로깅된 경고는 호환되지 않는 상태 유형도 식별합니다. (BZ#1927941)
다음 OpenShift Container Platform 웹 콘솔 보기에서 다중 필터링을 지원합니다.
-
홈
검색 ( 리소스 탭) -
홈
이벤트 ( 리소스 탭) - 워크로드 > Pod (필터 탭)
자세한 내용은 BZ#1930007에서 참조하십시오.
-
홈
다음 버그 수정에서는 OpenShift Container Platform 웹 콘솔의 다양한 변환 문제를 해결합니다.
- 이전에는 웹 콘솔이 채널 모달 드롭다운을 채우기 위해 하드 코딩된 채널 문자열에 의존했습니다. 결과적으로 사용자는 현재 버전에 대해 올바르지 않을 수 있는 채널 값을 볼 수 있었습니다. 이제 Cluster Version Operator가 지정된 버전에 올바른 채널을 제공하지 않으면 채널 모달 드롭다운이 텍스트 입력 필드로 변경되고 사용자에게 채널 및 도움말 텍스트를 제안합니다. 콘솔은 더 이상 하드 코딩된 채널 문자열에 의존하지 않습니다. (BZ#1932281)
-
이전에는 중국어 또는 일본어에 대한 타임스탬프 형식이 올바르지 않았습니다. 결과적으로 타임스탬프를 읽기가 어려웠고 이로 인해 사용자 환경이 저하되었습니다. 이번 업데이트를 통해 사용자 환경 개선을 위해
Moment.js
로 중국어 및 일본어에 기본 타임스탬프 형식을 사용합니다. (BZ#1932453) -
이전에는 FilterToolbar 구성 요소의
rowFilters
속성에서null
값을 허용하지 않았습니다. 따라서rowFilters
속성이 정의되지 않은 경우 무의미한 예외가 발생했습니다. 이제 FilterToolbar 구성 요소에서rowFilters
속성이 참조되면null
값이 허용됩니다. 결과적으로rowFilters
속성이 정의되지 않은 경우 FilterToolbar 에서 예외가 발생하지 않습니다. (BZ#1937018) - 이전에는 필드 수준 도움말 인스턴스에 잘못된 스타일의 도움말 텍스트가 적용되었습니다. 이제 필드 수준 도움말 인스턴스에 대해 도움말 텍스트의 올바른 스타일이 표시되고 콘솔 전체에 일관되게 적용됩니다. (BZ#1942749).
- 이전 버전에서는 OLM(Operator Lifecycle Manamgent) 상태 조건 설명자가 리소스 세부 정보 페이지에서 일반 세부 정보 항목으로 렌더링되었습니다. 그 결과 Condition 테이블이 절반 너비로 렌더링되었습니다. 이번 업데이트를 통해 조건 설명자는 Operand 세부 정보 페이지의 일반 Conditions 테이블 아래에 전체 범위 테이블로 렌더링됩니다. (BZ#1943238)
- 이전에는 "Ingresses"라는 단어가 중국 사용자를 위해 번역되었지만 사용자 환경에 맞지 않았습니다. 이제 "Ingress"라는 단어가 번역되지 않습니다. (BZ#1945816)
- 이전에는 "Operators"라는 단어가 중국어 사용자에 대해 번역되었지만 복수의 번역으로 인해 사용자 환경이 저하되었습니다. 이제 "Operators"라는 단어가 번역되지 않습니다. (BZ#1945818)
-
이전에는 잘못된 코드로 인해
User
및Group
세부 정보에 관련이 없는 제목이 표시되었습니다. 이제User
또는Group
을 필터링하기 위해 코드가 추가되어User
및Group
세부 정보에 관련 제목이 표시됩니다. (BZ#1951212) - 이전에는 Pod Containers 텍스트가 국제화되지 않았으므로 사용자 환경이 좋지 않았습니다. 이제 Pod Containers 텍스트가 국제화되어 사용자 환경이 개선되었습니다. (BZ#1937102)
-
이전 버전에서는
PackageManifest
목록 페이지 항목이 세부 정보 페이지에 연결되지 않아 사용자가 목록 페이지에서 개별PackageManifest
항목을 쉽게 탐색할 수 없었습니다. 이제 각PackageManifest
항목이 다른 목록 페이지의 규칙과 일치하는 세부 정보 페이지에 연결됩니다. 사용자는 목록 페이지에서 PackageManifest 세부 정보 페이지에 쉽게 액세스할 수 있습니다. (BZ#1938321) - 작업 테이블의 완료 열은 성공된 완료 수 대신 원하는 완료 수를 기준으로 정렬되었습니다. 데이터는 # Succeeded of # Desireded로 표시되므로 해당 열을 기준으로 정렬할 때 두 번째 숫자를 기준으로 정렬되었기 때문에 결과가 혼동되었습니다. 이제 작업 완료 열이 # Succeeded에서 정렬되어 보다 잘 이해할 수 있습니다. (BZ#1902003)
- Manage Columns 모달의 입력 레이블은 클릭할 수 없으므로 해당 레이블을 클릭하여 열을 관리할 수 없었습니다. 이번 버그 수정을 통해 이제 열 관리에 사용할 수 있는 레이블을 클릭할 수 있습니다. (BZ#1908343)
- Google Cloud Platform에서 스토리지 클래스를 생성할 때 CSI 프로비전 프로그램이 나열되지 않았습니다. 이번 버그 수정으로 문제가 해결되었습니다. (BZ#1910500)
-
이전에는 사용자가 사용자 관리
역할 목록 보기에서 클러스터 역할을 클릭한 경우 세부 정보 페이지의 백 링크는 클러스터 역할에 대한 일반 목록 보기를 제공하는 클러스터 역할입니다. 이로 인해 이전 웹 콘솔 탐색이 잘못된 페이지로 리디렉션되었습니다. 이번 릴리스에서는 백 링크가클러스터 역할/역할 바인딩세부 정보 페이지에서 역할/바인딩 목록 보기로 사용자를 안내합니다. 이를 통해 사용자는 웹 콘솔에서 뒤로 올바르게 이동할 수 있습니다. (BZ#1915971) - 이전에는 생성된 날짜 시간이 읽기 쉬운 형식으로 표시되지 않아 UTC에 표시된 시간을 이해하고 사용하기 어려웠습니다. 이번 릴리스에서는 UTC를 읽고 이해할 수 있도록 표시 시간이 다시 포맷됩니다. (BZ#1917241)
- 이전에는 웹 콘솔의 Pod 요청 및 제한 계산이 올바르지 않았습니다. 이는 완료된 Pod 또는 init 컨테이너를 제외하지 않은 결과입니다. 이번 릴리스에서는 계산에 필요하지 않은 Pod가 제외되어 pod 요청에 대한 웹 콘솔 계산 결과의 정확성이 향상됩니다. (BZ#1918785)
- 이전에는 정의되지 않은 값을 구문 분석하면 숫자(NaN) 예외가 발생하지 않았으며 차트 툴팁에 값이 없는 상자가 표시되었습니다. 이번 릴리스에서는 차트 도구에 올바른 값을 표시하도록 데이터를 가져올 때 시작 날짜가 지정됩니다. 이번 변경으로 결과가 동기화되고 정의되지 않은 값이 구문 분석되지 않습니다. (BZ#1906304)
-
이전 버그 수정 중에 Pod 로그에 대한 다운로드 링크가 빈 다운로드 속성이 포함된 표준 HTML 앵커 요소로 변경되었습니다. 결과적으로 다운로드 파일은 기본 파일 이름 형식을 찾을 수 없었습니다. 이번 업데이트에서는 앵커 요소 다운로드 속성에 파일 이름을 추가하여 pod 로그를 다운로드할 때
<pod-name>-<container-name>.log
형식으로 기본 파일 이름이 사용되도록 합니다. (BZ#1945630) - 이전 버전에서는 사용자가 리소스를 생성할 수 있지만 편집 권한이 없는 경우 웹 콘솔 YAML 편집기가 읽기 전용 모드로 잘못 설정되었습니다. 이제 리소스에 대한 액세스 권한이 있는 사용자가 편집기 콘텐츠를 편집할 수 있습니다. (BZ#1824911)
- 이전에는 웹 콘솔이 대부분의 장소에 12시간 형식으로 표시했으며 경우에 따라 24시간 형식으로 표시되었습니다. 또한 1년 이상 지난 날짜에 대해서는 연도가 표시되지 않았습니다. 이번 릴리스에서는 날짜 및 시간이 일관되게 포맷되고 사용자 로케일 및 언어 기본 설정과 일치하며 1년 이상 지난 날짜에 대해서도 연도가 표시됩니다. (BZ#1862084)
-
이전에는 웹 콘솔에서 해당 이벤트를 볼 권한이 없는 사용자에 대해
ClusterVersion
리소스를 폴링하고 있었습니다. 이렇게 하면 콘솔 pod 로그에 많은 수의 오류가 출력됩니다. 이 문제를 방지하려면 리소스를 폴링하기 전에 사용자의 권한을 확인해야 합니다. 따라서 콘솔 Pod 로그에서 불필요한 오류가 제거됩니다. (BZ#1848151) -
이전에는 YAML 편집기의 키보드 사용자가 편집기를 종료할 수 없었습니다. 편집기 외부에서
view shortcuts
팝업을 사용하여 편집기에서 사용자가 액세스할 수 없었습니다. 이번 업데이트를 통해 사용자는opt + F1
키 입력을 사용하여 편집기 위에Accessibility help
를 표시할 수 있습니다. 이러한 변경으로 YAML 편집기의 키보드 사용자는 올바른 키 입력을 사용하여 편집기를 종료할 수 있습니다. (BZ#1874931) - OCP(OpenShift Container Platform)의 4.x 릴리스 후 OCP 4 웹 콘솔에 업로드된 바이너리 시크릿 파일이 로드되지 않았습니다. 이로 인해 설치에 실패했습니다. OpenShift Container Platform 4.8에서는 이 기능이 OCP 4 웹 콘솔로 복원되었습니다. 이제 바이너리 파일 형식을 사용하여 필수 시크릿의 입력을 수행할 수 있습니다. (BZ#1879638)
-
이전에는 역할 바인딩 링크를 적절히 생성하도록 BZ#1871996이 수정되어 네임스페이스를 선택할 때 바인딩 유형을 일관되게 선택할 수 없었습니다. 따라서 활성 네임스페이스가 있는 사용자는 활성 네임스페이스를
All namespaces
로 변경하지 않고 클러스터 역할 바인딩을 생성할 수 없었습니다. 이번 업데이트에서는 BZ#1871996 변경 사항의 일부를 되돌려서 사용자가 활성 네임스페이스와 관계없이 클러스터 역할 바인딩을 생성할 수 있도록 합니다. (BZ#1927882)
웹 콘솔 (개발자 화면)
-
이전에는 개발자 콘솔에서 서비스 클러스터를 로컬로 만들기 위해 레이블을 변경하면 사용자가 Knative 서비스를 생성할 수 없었습니다. 이번 업데이트에서는 사용자가 개발자 콘솔에서 Knative 서비스를
cluster-local
로 생성할 수 있도록 cluster-local에 대해 지원되는 최신 레이블을 사용합니다. (BZ#1969951) - 이전에는 IMV(Image Manifest Vulnerabilities)의 낮음 및 중간 수준의 심각도 문제에 대한 색상이 (Quay.io) 인터페이스에 표시된 색상과 일치하지 않았습니다. 결과적으로 사용자가 취약점의 심각도 순서를 높음으로 변경한 경우 IMV가 문제를 잘못 정렬했습니다. 이로 인해 IMV를 검토할 때 혼동이 발생했습니다. 현재 릴리스에서는 이 문제가 해결되었습니다. (BZ#1942716)
- 이전에는 Samples Operator가 설치되지 않았기 때문에 OpenShift 네임스페이스 템플릿을 사용할 수 없는 경우 개발자 화면의 토폴로지 보기가 로드되지 않았습니다. 이번 업데이트에서는 이 문제가 해결되었습니다. (BZ#1949810)
-
이전 버전에서는 devfile을 가져올 때 웹 콘솔이 환경 변수, 포트 및 제한에 대한 구성을 제공하는
buildguidanceimage-placeholder
컨테이너를 무시했습니다. 새로운 배포에 자리 표시자 이미지를 가져올 수 없고 필요한 구성이 누락되어 새 배포에 두 번째 컨테이너를 시작할 수 없었습니다. 이제build guidance
컨테이너가 새 배포에서 삭제되고 컨테이너는 환경 변수, 포트 및 제한 구성을 추가합니다. (BZ#1952214) -
이전에는 다른 탭에서 개발자 화면을 전환하고 프로젝트 세부 정보를 다시 로드할 때 화면에 연결된 경로가 렌더링되지 않아
404
오류가 발생했습니다. 이번 업데이트에서는 모든 비활성 경로를 로드하고 올바른 화면으로 전환합니다. (BZ#1929769) - 이전 버전에서는 사용자에게 네임스페이스에 필요한 액세스 권한이 없어 오류가 발생하면 모니터링 대시보드 페이지의 워크로드 드롭다운 메뉴에 진행 중인 로드 아이콘이 계속 표시되었습니다. 현재 릴리스에서는 이 문제가 해결되었습니다. 이제 모니터링 대시보드 페이지에 Forbidden 오류가 있음을 나타내는 메시지가 표시됩니다. (BZ#1930546)
-
이전 버전에서는 API 서버에서
resource quota
리소스를 업데이트하는 충돌이 있을 때 409 상태 코드를 반환하는 리소스를 생성할 수 없었습니다. 결과적으로 리소스를 만들지 못했으므로 API 요청을 다시 시도해야 할 수 있었습니다. 이번 업데이트를 통해OpenShift Console
웹 애플리케이션은 409 상태 코드를 수신할 때 요청을 3번 재시도하려고 시도하므로 요청을 완료하기에 충분한 경우가 많습니다. 409 상태 코드가 계속 발생하는 경우 콘솔에 오류가 표시됩니다. (BZ#1920699) -
이전에는 YAML 탭을 선택할 때
metadata.managedFields
섹션이 즉시 축소되지 않았습니다. 이는 Pipeline Builder 및 Edit HorizontalPodAutoscaler (HPA)와 같은 페이지의 Form 또는 YAML 전환기와 관련된 문제로 인해 발생했습니다. 그 결과 입력하려고 했던 문서 부분이 축소되었습니다.metadata.managedFields
섹션은 그대로 유지되었으며 커서는 YAML 편집기의 왼쪽 맨 위의 시작 위치로 재설정되었습니다. 현재 릴리스에서는 이 문제가 해결되었습니다. 이제 YAML을 로드할 때metadata.managedFields
섹션이 즉시 축소됩니다. (BZ#1932472) -
이전에는 프라이빗 리포지토리에 대한 Git 가져오기 흐름에서 생성된 파이프라인을 실행하지 못했습니다. 이는 pipeline
ServiceAccount
오브젝트가 개인 Git 리포지토리에 대해 Git 가져오기 흐름에 의해 생성된 시크릿을 사용하지 않았기 때문에 발생했습니다. 이번 업데이트를 통해 pipelineServiceAccount
오브젝트의 주석에 시크릿 이름을 추가하고 제공된 시크릿에 파이프라인별 주석을 추가할 수 있습니다. 결과적으로 프라이빗 Git 리포지토리의 파이프라인이 성공적으로 실행됩니다. (BZ#1970470) - 이전에는 사용자가 YAML 편집기에 포맷된 YAML 스니펫을 삽입할 때 새 선택 사항이 스니펫의 새 콘텐츠와 일치하지 않았습니다. 들여쓰기가 제거되었으며 선택 항목에 임의의 글자가 표시됩니다. 현재 릴리스에서는 이 문제가 해결되었습니다. 이제 커서가 시작된 위치에 남아 있으며 커서 끝 위치에 누락된 들여쓰기가 추가됩니다. YAML 스니펫을 삽입한 후 새 선택 항목이 새 콘텐츠와 일치합니다. (BZ#1952545)
- 이전 버전에서는 Knative 서비스의 사양과 메타데이터에 주석이 전달되었습니다. 그 결과 토폴로지에서 Knative 서비스의 관련 개정을 위해 데코레이터가 표시되었습니다. 이번 릴리스에서는 주석을 Knative 서비스 메타데이터에만 전달하여 이 문제를 해결했습니다. 이제 데코레이터는 토폴로지의 Knative 서비스에만 표시되고 관련 수정 사항은 표시되지 않습니다. (BZ#1954959)
-
이전에는 매개 변수가 비어 있는 파이프라인을 생성한 경우 (예:
”
) OpenShift Container Platform 웹 콘솔의 필드에서 빈 문자열을 허용하지 않았습니다. 현재 릴리스에서는 이 문제가 해결되었습니다. 이제”
는 매개 변수 섹션에서 유효한 기본 속성으로 지원됩니다. (BZ#1951043) -
이전에는 개발자 관점에서 Knative 서비스를 개인 서비스로 생성할 수 없었습니다. 이 문제는
'networking.knative.dev/visibility': 'cluster-local'
레이블을 업데이트하여 해결되었습니다. (BZ#1970796) - 이전에는 유형 소스와 함께 이벤트 소스의 카탈로그에 싱크 유형 Kamelets가 표시되었습니다. 이 문제는 Kamelets 리소스를 필터링하여 소스 유형만 나열하여 해결되었습니다. (BZ#1972258)
Windows 컨테이너
- 이전에는 사용자가 추가 Windows 노드를 확장할 때 로드 밸런서 서비스가 불안정해졌습니다. 이번 업데이트를 통해 로드 밸런서 서비스를 안정화하여 사용자가 잘못된 성능 없이 여러 개의 Windows 노드를 추가할 수 있습니다. (BZ#1905950)
-
이전에는 Windows Pod가 실행된 후 생성된 경우 로드 밸런서가 생성된 후
kube-proxy
서비스가 예기치 않게 충돌했습니다. 이번 업데이트를 통해 로드 밸런서 서비스를 다시 생성할 때 kube-proxy 서비스가 충돌하지 않습니다. (BZ#1939968) - 이전에는 로드 밸런서의 Ingress에 있는 빈 IP 주소 값이 데이터 경로를 중단했습니다. 그 결과 Windows 서비스에 연결할 수 없었습니다. 이번 업데이트를 통해 IP 주소 값이 비어 있어도 Windows 서비스에 연결할 수 있습니다. (BZ#1952914)
-
이전 버전에서는 사용자가 예상 볼륨이 있는 Windows Pod를 생성할 때 Pod가
ContainerCreating
단계에 남아 있었습니다. 이번 업데이트를 통해 Windows Pod 생성이Running
단계로 진행됩니다. (BZ#1973580)