1.6. 버그 수정
베어 메탈 하드웨어 프로비저닝
-
이전 버전에서는 일부 디스크에 RHCOS 이미지를 작성할 때 스파스 영역을 포함하여
qemu-img
가 전체 디스크에 공간을 할당했습니다. 이는 일부 하드웨어에서 쓰기 프로세스 시간이 연장되었습니다. 이번 업데이트에서는 이미지 생성에서qemu-img
스파스를 비활성화합니다. 결과적으로 이미지 작성에 더 이상 영향을 받는 하드웨어에 시간이 오래 걸리지 않았습니다. (BZ#2002009) -
이전 버전에서는
rotational
필드가RootDeviceHints
에 대해 설정된 경우 호스트는 프로비저닝에 실패할 수 있었습니다. 이번 업데이트를 통해RootDeviceHints
의rotational
필드가 올바르게 복사 및 검사됩니다. 결과적으로rotational
필드를 사용할 때 프로비저닝이 성공합니다. (BZ#2053721) 이전에는 BMC에서
TransferProtocolType
속성을 선택적 속성이지만 요청에 명시적으로 설정해야 하므로 Ironic에서 가상 미디어를 사용하여 Nokia OE 20 서버를 프로비저닝할 수 없었습니다. 또한 BMC는 전용RedFish
설정 리소스를 사용하여 부팅 순서를 재정의해야 하지만 대부분의 BMC는system
리소스만 사용해야 합니다. 이 오류는 Nokia OE 20은 vMedia 첨부 파일에 대한 선택적TransferProtocolType
특성이 엄격하게 필요하며 부팅 시퀀스를 재정의하기 위해RedFish
설정 리소스를 사용해야하기 때문에 발생했습니다. 결과적으로 가상 미디어 기반 프로비저닝이 Nokia OE 20에서 실패했습니다. 이 문제에 대한 두 가지 해결 방법이 있습니다.-
TransferProtocolType
속성이 누락되었음을 나타내는 오류와 함께 vMedia 첨부 요청이 실패하면 요청을 다시 시도한 후 이 속성을 명시적으로 지정합니다. - 시스템에 RedFish 설정 리소스가 있는지 확인합니다. 부팅 시퀀스 재정의에 이를 사용합니다.
이러한 해결 방법으로 인해 가상 미디어 기반 프로비저닝이 Nokia OE 20 시스템에서 성공합니다. (BZ#2059567)
-
- 이전에는 OpenShift Container Platform 베어 메탈 IPI 배포를 사용할 때 Ironic API 검사기 이미지가 패시브 다중 경로 설정의 일부인 디스크를 정리하지 못했습니다. 이번 업데이트에서는 활성 또는 수동 스토리지 어레이를 사용 중인 경우 오류를 수정합니다. 결과적으로 고객이 활성 또는 수동 상태인 다중 경로 설정을 사용하려는 경우 OpenShift Container Platform 베어 메탈 IPI를 사용할 수 있습니다. (BZ#2089309)
-
이전에는 Ironic에서
wwn
일련 번호를 다중 경로 장치에 일치시킬 수 없었습니다. 결과적으로 장치 매퍼 장치의wwn
일련 번호는install-config.yaml
구성 파일의rootDeviceHint
매개변수에서 사용할 수 없었습니다. 이번 업데이트를 통해 Ironic은 이제wwn
일련 번호를 다중 경로 장치의 고유 식별자로 인식합니다. 결과적으로install-config.yaml
파일의 장치 매퍼 장치에wwn
일련 번호를 사용할 수 있습니다. (BZ#2098392) - 이번 업데이트 이전에는 Redfish 시스템에 설정 URI가 있는 경우 Ironic 프로비저닝 서비스에서 항상 이 URI를 사용하여 부팅 관련 BIOS 설정을 변경합니다. 그러나 BMC(Baseboard Management Controller)에 설정 URI가 있지만 이 설정 URI를 사용하여 특정 BIOS 설정 변경을 지원하지 않는 경우 베어 메탈 프로비저닝이 실패합니다. OpenShift Container Platform 4.11 이상에서 시스템에 설정 URI가 있는 경우 Ironic은 계속하기 전에 설정 URI를 사용하여 특정 BIOS 설정을 변경할 수 있는지 확인합니다. 그렇지 않으면 Ironic은 시스템 URI를 사용하여 변경 사항을 구현합니다. 이 추가 논리를 통해 Ironic에서 부팅 관련 BIOS 설정 변경 사항을 적용할 수 있으며 베어 메탈 프로비저닝이 성공할 수 있습니다. (OCPBUGS-2052)
빌드
-
이전에는
BuildConfig
인스턴스의ImageLabel
이름에 슬래시(/
)를 사용하면 오류가 발생했습니다. 이번 수정에서는 검증에 사용되는 유틸리티를 변경하여 문제를 해결합니다. 결과적으로BuildConfig
인스턴스의ImageLabel
이름에 슬래시를 사용할 수 있습니다. (BZ#2105167) -
이전 버전에서는
$ oc new-app --search <image_stream_name>
명령을 사용할 때docker.io
이미지와 관련된 잘못된 메시지가 표시될 수 있었습니다. 이로 인해 OpenShift Container Platform에서docker.io
를 가리키는 이미지 스트림을 사용하지 않기 때문에 사용자에게 혼동이 발생했습니다. 이번 수정에서는docker.io
에 대한 참조가 발생하지 않도록 코드 검사를 추가합니다. 결과적으로 해당 명령의 출력에는 메시지가 포함되지 않습니다. (BZ#2049889) - 이전에는 Shared Resource CSI Driver 지표를 Telemetry 서비스로 내보내지 않았습니다. 결과적으로 공유 리소스 CSI 드라이버의 사용량 지표를 분석할 수 없었습니다. 이번 수정을 통해 공유 리소스 CSI 드라이버 지표가 Telemetry 서비스에 노출됩니다. 결과적으로 공유 리소스 CSI 드라이버의 사용 지표를 수집하고 분석할 수 있습니다. (BZ#2058225)
기본적으로 Buildah는 빌드 입력 시크릿을 포함할 수 있는 환경 변수의 내용을 포함하여 로그 파일에 단계를 출력합니다.
--quiet
build 인수를 사용하여 해당 환경 변수 출력을 억제할 수 있지만 S2I(Source-to-Image) 빌드 전략을 사용하는 경우 이 인수를 사용할 수 없습니다. 현재 릴리스에서는 이 문제가 해결되었습니다. 환경 변수 출력을 표시하지 않으려면 빌드 구성에서BUILDAH_QUIET
환경 변수를 설정합니다.sourceStrategy: ... env: - name: "BUILDAH_QUIET" value: "true"
-
이번 업데이트 이전에는
$ oc new-app --search <image_stream_name> 명령을 사용하여 컨테이너 이미지
에 액세스할 수 없다는 경고가 표시되었습니다. 이로 인해 OpenShift Container Platform에"docker.io/tekton
/<image_name>:<tag>"docker.io
를 가리키는 이미지 스트림이 있다고 혼동되었습니다. 이번 업데이트에서는 'docker.io'에 대한 혼란스러운 참조를 방지하기 위해 코드 검사를 추가하여 문제를 해결합니다. 이제 해당 명령의 출력에docker.io
에 대한 메시지가 포함되지 않습니다(BZ#2049889)
클라우드 컴퓨팅
-
CSR (
CertificateSigningRequest
) 리소스 갱신은 Kubernetes 컨트롤러 관리자에서 처리하며 Cluster Machine Approver Operator에 의해 올바르게 보류 중이어서mapi_current_pending_csr
지표의 값이1
로 증가합니다. 이전 버전에서는 Kubernetes 컨트롤러 관리자가 CSR을 승인할 때 Operator는 이를 무시하고 지표를 변경하지 않고 그대로 유지했습니다. 그 결과 Operator가 다음에 조정될 때까지mapi_current_pending_csr
지표가1
에 고정되었습니다. 이번 릴리스에서는 다른 컨트롤러의 CSR 승인이 항상 조정되어 지표 업데이트를 위해 조정되고 모든 조정 후mapi_current_pending_csr
메트릭 값이 업데이트됩니다. (BZ#2047702) - 이전에는 AWS SDK 내의 알려진 리전 목록에 포함된 리전만 검증되었으며 다른 리전을 지정하면 오류가 발생했습니다. 즉, 새로운 리전이 추가되었으므로 새 지역 정보를 포함하도록 SDK가 업데이트될 때까지 사용할 수 없었습니다. 이번 릴리스에서는 리전이 인식되지 않는 경우 사용자에게 경고하는 설정으로 리전이 검증됩니다. 결과적으로 새 지역에는 경고 메시지가 표시될 수 있지만 즉시 사용할 수 있습니다. (BZ#2065510)
-
이전에는 Cluster Machine Approver Operator에서
"Approved"
상태 조건을 조건 목록에 추가했습니다. 결과적으로 Kubernetes API 서버는[SHOULD NOT HAPPEN] failed to update managedFields
메시지가 포함된 오류를 기록했습니다. 이번 릴리스에서는 목록에 추가하기 전에 조건을 확인하도록 Operator가 업데이트되어 필요한 경우에만 조건을 업데이트합니다. 결과적으로CertificateSigningRequest
리소스에서 조건이 더 이상 중복되지 않으며 Kubernetes API 서버는 더 이상 중복에 대한 오류를 기록하지 않습니다. (BZ#1978303) - 이전 버전에서는 RHOSP(Red Hat OpenStack Platform) 버전 16에 존재하는 Cisco ACI neutron 구현의 결함으로 인해 지정된 네트워크에 속한 서브넷 쿼리가 예기치 않은 결과를 반환했습니다. 결과적으로 RHOSP Cluster API 공급자는 동일한 서브넷에 중복된 포트가 있는 인스턴스를 프로비저닝하여 프로비저닝에 실패할 수 있었습니다. 이번 릴리스에서는 RHOSP Cluster API 공급자의 추가 필터링을 통해 서브넷당 여러 개의 포트가 없으므로 Cisco ACI를 사용하여 RHOSP 버전 16에 OpenShift Container Platform을 배포할 수 있습니다. (BZ#2033862)
- 이전에는 RHOSP(Red Hat OpenStack Platform) Machine API 공급자가 프록시 환경 변수 지시문을 사용하지 않아 HTTP 또는 HTTPS 프록시 뒤에 설치에 실패했습니다. 이번 릴리스에서는 공급자는 프록시를 통해서만 송신 트래픽이 허용되는 제한된 환경에서 프록시 지시문 및 기능을 올바르게 따릅니다. (BZ#2046133)
- 이전에는 OpenShift Container Platform 4.9에서 4.10으로 업그레이드할 때 여러 컨트롤러 간의 불일치로 인해 버전 번호가 올바르지 않았습니다. 결과적으로 버전 번호가 일치하지 않았습니다. 이번 릴리스에서는 버전 번호에 대한 일관된 읽기가 적용되어 클러스터 Operator 상태에서 릴리스 버전이 안정적으로 제공됩니다. (BZ#2059716)
- 이전에는 AWS Machine API 공급자의 로드 밸런서 대상 누출이 발생할 수 있었습니다. 컨트롤 플레인 시스템을 교체할 때 IP 기반 로드 밸런서 첨부 파일이 로드 밸런서 등록 내에 남아 있을 수 있기 때문입니다. 이번 릴리스에서는 AWS에서 Amazon EC2 인스턴스를 제거하기 전에 IP 기반 로드 밸런서 첨부 파일이 로드 밸런서에서 제거됩니다. 결과적으로 누수를 피할 수 있습니다. (BZ#2065160)
-
이전 버전에서는 업그레이드 중에 Machine API를 통해 생성된 새 머신이 HW-13으로 기본 설정되어 클러스터의 성능이 저하되었습니다. 이번 릴리스에서는 머신 컨트롤러가 템플릿 복제에서 머신 생성 중에 가상 머신의 하드웨어 버전을 확인합니다. 템플릿의 하드웨어 버전이 OpenShift Container Platform 4.11 이상 버전에서 지원되는 최소 하드웨어 버전인 15 미만이면 시스템이
failed
상태가 됩니다. (BZ#2059338) - 이전 버전에서는 Azure 가용성 세트의 절차 이름 생성기가 최대 80자 제한을 초과했습니다. 이로 인해 Machine API가 여러 가용성 세트를 생성하지 않고 이름 잘림 중에 동일한 세트를 재사용할 수 있습니다. 이번 릴리스에서는 이름이 80자를 초과하여 클러스터 이름이 설정되지 않고 클러스터 이름이 중복되지 않도록 할 수 있습니다. 결과적으로 Azure 가용성 세트는 더 이상 예기치 않은 이름 생성기로 잘리지 않습니다. (BZ#2093044)
- 리더 선택 매개변수를 설정하지 않고 Cluster Autoscaler Operator에서 클러스터 자동 스케일러를 배포했기 때문에 클러스터 자동 스케일러가 예기치 않게 실패하고 클러스터 재시작 후 다시 시작할 수 있었습니다. 이번 수정으로 Cluster Autoscaler Operator는 이제 잘 정의된 리더 선택 플래그와 함께 클러스터 자동 스케일러를 배포합니다. 결과적으로 클러스터를 다시 시작한 후 클러스터 자동 스케일러가 예상대로 작동합니다. (BZ#2063194)"
-
이전 버전에서는 CSR(인증서 서명 요청) 갱신이
kube-controller-manager
에 의해 처리되었으며 시스템 승인자가 보류 중인 상태로 올바르게 남아 이로 인해mapi_current_pending_csr
이1
로 증가했습니다. 이후kube-controller-manager
가 CSR을 승인했지만 머신 승인자는 이를 무시하며 지표는 변경되지 않았습니다. 그 결과mapi_current_pending_csr
은 다른 머신 승인자가 조정될 때까지1
에 고정되었습니다. 이번 업데이트를 통해 CSR 승인이 다른 컨트롤러에서 조정되어 메트릭을 올바르게 업데이트합니다. 그 결과mapi_current_pending_csr
은 조정마다 항상 최신 상태가 됩니다. (BZ#2072195) - 이전 버전에서는 다른 Operator가 성능 저하된 것으로 보고되어도 클러스터 설치 시 시작된 작업자 노드 수가 충분하지 않은 경우 Machine API Operator가 성능이 저하된 것으로 보고하지 않았습니다. 이번 릴리스에서는 Machine API Operator가 성능 저하된 것으로 보고되고 이 시나리오의 설치 로그에 오류가 게시됩니다. 결과적으로 Machine API Operator가 실패한 Operator 목록에 표시되고 사용자는 작업자 노드가 충분하지 않은 이유로 머신의 상태를 검사합니다. (BZ#1994820)
- Machine API Operator에서 프록시 환경 변수 지시문을 준수하지 않았기 때문에 HTTP 또는 HTTPS 프록시 뒤의 설치에 실패했습니다. 이번 수정으로 Machine API Operator의 HTTP 전송 논리가 이제 프록시 지시문을 따릅니다. 결과적으로 Machine API Operator는 이제 프록시를 통해서만 송신 트래픽이 허용되는 제한된 환경에서 작동합니다. (BZ#2082667)
- 이전에는 태그가 수천 개이고 API 로드가 많은 클러스터의 vSphere에 설치되지 않았습니다. 이제 머신 컨트롤러에서 특정 OpenShift Container Platform 설치와 관련된 태그만 쿼리합니다. 결과적으로 OpenShift Container Platform은 이러한 클러스터의 vSphere에 올바르게 설치됩니다. (BZ#2097153)
-
kubelet은 노드 영역 레이블을 가져오기 위해 vCenter에 문의해야 하므로 vCenter 인증 정보가 시크릿에 저장된 경우 kube 클라이언트가 동시에 생성되지 않았기 때문에 kubelet을 시작할 수 없었습니다. 결과적으로
cloud-provider-config
구성 맵을 편집할 때 노드를 재부팅하지 않은 경우 노드가 작동하지 않았습니다. 이번 수정으로 인증 정보가 시크릿에 저장된 경우 노드 등록 후 kubelet이 영역 라벨을 얻습니다. 결과적으로 노드가 예상대로 재부팅됩니다. (BZ#1902307) -
이전에는
timeout
옵션 부족으로 인해 컨트롤러 차단으로 인해 vCenter가 중단되지 않거나 매우 느리게 응답할 수 있었습니다. 이번 릴리스에서는 vSphere 머신 컨트롤러 내의 vCenter 클라이언트에 대한timeout
옵션이 추가되었습니다. (BZ#2083237)
Cluster Version Operator
-
이전 버전에서는 업그레이드 중 오류가 발생하면 CVO(Cluster Version Operator)가 현재 릴리스 매니페스트를 조정하지 않았습니다. 이번 업데이트를 통해 릴리스 로드는 조정과 분리되므로 후자는 릴리스 로드 상태를 명확히하기 위해 이전 및 새 조건
Releasedatabinded
를 차단하지 않습니다. (BZ#1822752)
Console Metal3 플러그인
-
이전에는 UI에
bootMode
전략을 설정하는 옵션이 누락되었습니다. 결과적으로 UI는 항상 기본값 (UEFI) 부팅 전략을 사용하므로 일부 유형의 베어 메탈 배포 유형을 부팅하는 데 문제가 발생했습니다. 이번 업데이트에서는 베어 메탈 호스트 추가 양식에 새 필드를 노출하여 적절한 부팅 모드 전략을 선택합니다. 결과적으로 베어 메탈 머신이 올바르게 시작됩니다. (BZ#2091030) - 이전에는 노드 유지보수 기능이 새 프로젝트로 이동되어 API가 변경되었습니다. 결과적으로 노드 유지보수의 작동이 중지되었습니다. 이번 업데이트에서는 새 API에서 제대로 작동하도록 코드가 수정되었습니다. 결과적으로 노드 유지보수가 다시 작동합니다. (BZ#2090621)
- 이전에는 지원 설치 프로그램에서 생성된 클러스터의 경우 2일차 (Day2)의 작업에게 가 기본 베어 메탈 호스트 및 머신 리소스가 누락되었습니다. 결과적으로 작업자 노드의 세부 정보를 표시하려고 할 때 UI가 실패했습니다. 이번 업데이트를 통해 베어 메탈 호스트 및 머신 리소스가 더 정상적으로 처리되고 UI에 사용 가능한 모든 세부 정보가 표시됩니다. (BZ#2090993)
DNS(Domain Name System)
-
토폴로지 인식 힌트는 OpenShift Container Platform 4.11의 새로운 기능으로
EndpointSlice
컨트롤러가 컨테이너 네트워크 인터페이스(CNI)에 대한 힌트를 서비스 엔드포인트로 라우팅해야 하는 방법에 대한 힌트를 지정할 수 있습니다. DNS Operator는 클러스터 DNS 서비스에 대한 토폴로지 인식 힌트를 활성화하지 않았습니다. 그 결과 CNI 네트워크 공급자는 DNS 트래픽을 영역 또는 노드에 로컬로 유지하지 않았습니다. 이번 수정으로 DNS Operator가 클러스터 DNS 서비스에 대한 토폴로지 인식 힌트를 지정하도록 업데이트되었습니다. (BZ#2095941) -
이전에는 kubelet에서 노드 호스트에서
/etc/resolv.conf
를 기반으로 Pod의 기본/etc/resolv.conf
를 생성했습니다. 결과적으로 잘못된 형식의resolv.conf
파일을 사용하면 확인자가resolv.conf
를 구문 분석하지 않아 Pod에서 DNS 확인이 손상될 수 있습니다. 이번 업데이트를 통해 kubelet에서resolv.conf
파일을 수락하고 Pod에서 유효한resolv.conf
파일을 가져옵니다. (BZ#2063414) -
이전에는 DNS Operator에서 DNS Pod에
cluster-autoscaler.kubernetes.io/enable-ds-eviction
주석을 설정하지 않았습니다. 결과적으로 클러스터 자동 스케일러는 노드를 제거하기 전에 노드에서 DNS Pod를 제거하지 않았습니다. 이번 업데이트를 통해 DNS Operator가cluster-autoscaler.kubernetes.io/enable-ds-eviction
주석을 DNS Pod에 추가하도록 변경되었습니다. 이제 클러스터 자동 스케일러로 노드를 제거하기 전에 노드에서 DNS Pod를 제거할 수 있습니다. (BZ#2061244)
이미지 레지스트리
-
이전에는 이미지 레지스트리가 정확히 일치하는 경우에만 소스로
ImageContentSourcePolicy
(ICSP)를 사용했습니다. 모든 하위 리포지토리에 대해 동일한 소스 파일을 가져와야 했습니다. ICSP 이름과 경로가 하위 리포지토리와 일치하지 않았습니다. 그 결과 이미지가 사용되지 않았습니다. 이제 ICSP가 미러링된 이미지를 사용할 수 있는 하위 리포지토리에 성공적으로 적용됩니다. (BZ#2014240) - 이전에는 pruner가 실패하면 pruner가 성공적으로 실행될 때까지 이미지 레지스트리 Operator가 성능이 저하된 것으로 보고되었습니다. 이번 업데이트를 통해 Operator는 pruner에 대한 복원력이 향상됩니다. (BZ#1990125)
-
이전에는 ICSP(
ImagetentSourcePolicy
)를 적용할 때 레지스트리가 정확히 일치했습니다. 이번 업데이트를 통해 ICSP가 하위 리포지터리에 적용되고 미러가 이제 예상대로 작동합니다. (BZ#2014240) - 이전에는 Image Registry Operator가 RHOSP의 AWS S3에서 작동하지 않았습니다. 이번 업데이트를 통해 이미지 레지스트리 Operator는 모든 플랫폼에서 AWS S3를 신뢰합니다. (BZ#2007611)
- 이전에는 OpenShift Container Platform 이미지 레지스트리가 Ceph Radosgw에서 작동하지 않았습니다. 이번 업데이트를 통해 이미지 레지스트리는 Ceph Radosgw에서 작동합니다. (BZ#1976782)
-
이전에는 Image Registry Operator에서 데이터를 사용할 수 없는 것처럼 업스트림 레지스트리에서
429
오류 메시지를 해석했습니다. Operator는429 Too Many Requests
대신404 Not Found
메시지를 반환했습니다. 이번 업데이트를 통해 관리자가 요청을 재시도할 수 있도록 적절한429 Too Many Requests
메시지가 반환됩니다. (BZ#1923536) - 이전에는 Image Registry Operator를 CloudFront를 구성하는 데 사용할 수 없었습니다. 이번 업데이트를 통해 Image Registry Operator에서 CloudFront를 구성할 수 있습니다. (BZ#2065224)
- 이전에는 KMS 암호화가 활성화되었지만 가져오지 않은 경우 Image Registry Operator에서 이미지를 푸시했습니다. 이번 업데이트를 통해 KMS 암호화를 활성화된 상태에서 이미지를 푸시하고 가져올 수 있습니다. (BZ#2048214)
- 이전에는 인증 정보가 제공되지 않아 Image Registry Operator에서 익명으로 공용 이미지를 가져올 수 없었습니다. 이번 업데이트를 통해 고객은 익명으로 공개 이미지를 가져올 수 있습니다. (BZ#2060605)
-
이전에는 이미지 레지스트리 Operator에서
ap-southeast-3
AWS 리전을 사용할 수 없었습니다. 이번 업데이트를 통해 레지스트리를ap-southeast-3
으로 구성할 수 있습니다. (BZ#2065552)
설치 프로그램
- 이전 버전에서는 사용자가 기간으로 OpenShift Container Platform 클러스터 이름을 지정한 경우 설치에 실패했습니다. 이번 업데이트에서는 설치 프로그램에 검증 검사가 추가되어 클러스터 이름에 기간이 있는 경우 오류를 반환합니다. (BZ#2084580)
-
이전 버전에서는 설치 프로그램을 사용하여
install-config.yaml
파일을 만들 때 사용자가 AWSus-gov-east-1
리전을 선택할 수 있었습니다. 이로 인해 설치 프로그램이 공용 AWS 리전의install-config.yaml
파일을 생성하는 데만 사용할 수 있었기 때문에 배포가 실패했습니다. 이번 업데이트에서는 공용 AWS 클라우드에서 지원하지 않는 설치 프로그램에서 AWS 리전을 모두 제거합니다. (BZ#2048222) -
이전에는 설치 프로그램을 사용하여
install-config.yaml
파일을 만들 때ap-north-east-3
리전을 선택할 수 없었습니다. 이 문제를 발생시킨 AWS SDK가 업데이트되어 사용자가ap-north-east-3
리전을 선택할 수 있습니다. (BZ#1996544) - 이전에는 설치 프로그램에서 API 가상 IP 주소에 대한 DNS 레코드를 생성하지 않았기 때문에 Azure Stack Hub에 프라이빗(내부) OpenShift Container Platform 클러스터를 설치할 수 없었습니다. 이번 업데이트에서는 이 문제가 발생한 잘못된 검사를 제거합니다. 이제 설치 프로그램에서 프라이빗 클러스터에 대한 DNS 레코드를 올바르게 생성합니다. (BZ#2061549)
- 이전에는 IBM Cloud VPC 클러스터를 설치 제거해도 예기치 않은 결과가 발생할 수 있었습니다. 사용자가 클러스터 (cluster 1)를 설치 제거하면 클러스터 1의 이름 (example)이 클러스터 2 (myexample)의 이름의 하위집합이거나 또는 두 클러스터가 기본 도메인을 공유하는 경우 다른 클러스터(cluster 2)의 DNS 레코드가 제거되었습니다. 이번 업데이트에서는 이 동작을 올바르게 수행합니다. 제거 중인 클러스터와 관련된 리소스만 제거됩니다. (BZ#2060617)
- 이전에는 Azure Stack Hub에서 Standard_LRS 이외의 디스크 유형을 지원하지 않았습니다. 이번 업데이트에서는 디스크 유형을 사용자 지정할 수 있는 기능이 추가되어 클러스터의 수동 사용자 정의 없이 기본 디스크 유형을 가질 수 있습니다. 이로 인해 디스크 유형을 하드 코딩하는 방식에서 사용자로부터의 입력을 수락하고 Stack Hub API에 대해 검증하는 방식으로 전환되었습니다. (BZ#2061544)
- 이전 버전에서는 클러스터를 삭제할 때 프라이빗 route5 호스팅 영역의 ID가 호스팅 영역에서 DNS 레코드가 삭제될 때 잘못 보고되었습니다. 이로 인해 제거자 로그에 잘못된 호스트 영역 ID가 보고되었습니다. 이번 업데이트에서는 로그에서 올바른 호스트 영역 ID를 사용합니다. 결과적으로 로그는 기본 도메인의 호스팅 영역에서 DNS 레코드를 제거할 때 올바른 호스팅 영역 ID를 표시합니다. (BZ#1965969)
-
이전에는 AWS 사용자 정의 서비스 엔드 포인트를 요청할 때 시스템 프록시 설정이 고려되지 않았습니다. 이번 업데이트에서는 AWS 사용자 지정 서비스 엔드 포인트에 대한
HEAD
요청과 함께 시스템 프록시 설정을 고려하도록 AWS 사용자 지정 서비스 엔드포인트 검증을 구성합니다. 결과적으로 사용자 시스템에서 AWS 사용자 지정 서비스 엔드 포인트에 액세스할 수 있습니다. (BZ#2048451) -
이전에는 설치 프로그램에서 설치 프로그램 호스트의
$PATH
에 Terraform 공급자를 사용했습니다. 따라서 설치 프로그램에 포함된 공급자가 아닌 잘못된 버전 또는 공급자를 사용하는$PATH
에 Terraform 공급자가 있으면 설치에 실패합니다. 이번 업데이트를 통해 설치 프로그램은 공급자를 알려진 디렉터리에 포함시키고 알려진 디렉터리를 사용하도록 Terraform을 설정합니다. 결과적으로 설치 프로그램이 항상 알려진 디렉터리의 공급자를 사용하므로 설치가 성공적으로 수행됩니다. (BZ#1932812) - 이전에는 새 로드 밸런서를 업데이트할 때 AWS Terraform 공급자에 궁극적으로 일관성 문제가 있었습니다. 따라서 새 로드 밸런서에 액세스하려고 할 때 설치에 실패합니다. 이번 수정으로 설치 프로그램이 업스트림 Terraform 공급자로 업데이트되어 최종 일관성이 보장됩니다. 이로 인해 설치에 실패하지 않습니다. (BZ#1898265)
-
이전 버전에서는 설치 프로그램에 할당량 및 권한을 확인하는 필수 API 목록이 있었으며, 목록에 권한을 제공하지 않은 경우 실패한 몇 가지 불필요한 API가 포함되어 있었습니다. 이번 업데이트를 통해 API 목록이
optional
API에 대해 액세스할 수 없는required
및optional
로 분할됩니다.optional
API에 대한 경고 메시지가 표시됩니다. (BZ#2084280) -
이전에는
.apps
항목에 설치 프로그램에서 지정된 클러스터에 대해 생성된 모든 리소스를 격리하고 삭제하는 데이터베이스에서 코드를 삭제하는 데 사용한 태그kubernetes.io_cluster<infraID>
가 없었습니다. 이번 업데이트를 통해 생성 시 클러스터 Ingress Operator에 태그가 추가되어 항목을 삭제할 수 있습니다. (BZ#2055601) -
이전에는 내부 게시 전략을 사용할 때
openshift-install
명령이 실패했습니다. 이번 업데이트를 통해openshift-install
명령이 더 이상 실패하지 않습니다. (BZ#2047670) - 이전에는 새로 생성된 VPC(Virtual Private Clouds)로 업데이트할 때 AWS Terraform 공급자에 최종 일관성 문제가 있었습니다. 그 결과 VPC에 액세스하려고 할 때 설치 프로그램이 실패했습니다. 이번 업데이트를 통해 설치 프로그램이 업스트림 Terraform 공급자로 업데이트되고 설치가 실패하지 않습니다. (BZ#2043080)
- 이전에는 새로 생성된 네트워크 인터페이스로 업데이트할 때 AWS Terraform 공급자에 최종 일관성 문제가 발생했습니다. 이로 인해 설치에서 네트워크 인터페이스에 액세스하지 못했습니다. 이번 업데이트를 통해 최종 일관성 및 설치를 수락하도록 Terraform 공급자가 업데이트되지 않습니다. (BZ#2047741)
-
이전에는 설치 관리자 프로비저닝 인프라를 사용하여 VMware 클러스터를 설치할 때
corespersocket
값이numCores
값보다 높을 수 있었습니다. 이로 인해 설치 중에 예기치 않은 결과가 발생할 수 있습니다. 이번 업데이트를 통해 사용자는 클러스터를 생성하기 전에 이러한 값을 수정할 수 있는 경고가 표시됩니다. (BZ#2034147) - 이전에는 AWS 클러스터 설치 중에 드문 버그로 인해 불일치가 발생했습니다. 이를 피하기 위해 설치 프로그램이 업데이트되었습니다. (BZ#2046277)
- 이전 버전에서는 지원되는 사용자 정의 태그 수가 8이었으며 예약된 OpenShift Container Platform 태그는 AWS 리소스에 대해 2였습니다. 이번 릴리스에서는 지원되는 사용자 정의 태그 수가 25개이며 예약된 OpenShift Container Platform 태그는 AWS 리소스의 경우 25개입니다. 이제 설치 중에 최대 25개의 사용자 태그를 추가할 수 있습니다. (CFE#592)
- 이전에는 설치 관리자 프로비저닝 인프라를 사용하여 Azure에 설치할 때 부트스트랩 머신에서 기본 크기 및 인스턴스 유형을 사용했습니다. 이번 업데이트를 통해 부트스트랩 시스템은 컨트롤 플레인 시스템의 크기와 인스턴스 유형을 사용합니다. 이제 설치 구성의 컨트롤 플레인 설정을 수정하여 부트스트랩 시스템의 크기 및 인스턴스 유형을 제어할 수 있습니다. (BZ#2026356)
- 이전에는 설치 프로그램에서 Terraform에 모호한 네트워크 이름을 제공했습니다. 이로 인해 Terraform이 사용할 올바른 네트워크를 결정할 수 없습니다. 이 업데이트를 통해 설치 프로그램은 설치가 성공할 수 있도록 Terraform에 고유한 네트워크 ID를 제공합니다. (BZ#1918005)
- 이전에는 AWS에 클러스터를 설치할 때 종속 NAT 게이트웨이를 생성하기 전에 컨트롤 플레인 머신이 생성되어 설치가 실패할 수 있었습니다. 이번 업데이트를 통해 Terraform은 컨트롤 플레인 시스템을 생성하기 전에 NAT 게이트웨이가 생성되었는지 확인합니다. 이렇게 하면 설치에 성공할 수 있습니다. (BZ#2049108)
- 이전 버전에서는 기본 OSN 네트워크가 아닌 OVN 네트워크를 사용한 경우 필요한 최대 시간보다 오래 걸리기 때문에 스케일 업 작업이 실패했습니다. 이번 업데이트에서는 작업을 완료할 수 있도록 확장 작업 동안 재시도 횟수를 두 배로 늘립니다. (BZ#2090151)
-
이전 버전에서는 데이터베이스에서 여러 클러스터를 병렬로 삭제하려고 하면
vmware
및govmomi
라이브러리의 버그로 인해 삭제 프로세스가 실패했습니다. 버그로 인해 클러스터의 태그 중 하나가 삭제되어 삭제 프로세스에서 태그를 찾을 수 없는 경우 404 오류가 발생했습니다. 이번 업데이트에서는 찾을 수 없는 태그를 무시하고 오류 없이 완료되도록 삭제 프로세스를 계속합니다. (BZ#2021041) - 이번 업데이트를 통해 RHV(Red Hat Virtualization)의 OpenShift Container Platform은 설치 관리자 프로비저닝 인프라의 컨트롤 플레인 및 작업자 노드에 대해 사전 할당된 디스크를 지원합니다. 로드가 많은 환경에서 사전 할당된 디스크는 etcd 및 기타 구성 요소를 위한 성능을 얻을 수 있습니다. (BZ#2035334)
-
이전 버전에서는 여러 클러스터를 병렬로 삭제하려고 하면
vmware/govmomi
라이브러리의 버그로 인해 프로세스가 실패했습니다. 버그로 인해 클러스터 태그가 삭제되어 삭제 프로세스에서 태그를 찾을 수 없는 경우404
오류가 발생했습니다. 이번 업데이트에서는 찾을 수 없는 태그를 무시하고 계속 삭제되어 오류 없이 완료될 수 있습니다. (BZ#2021041) - 이전에는 VMware vSphere의 설치 방법에 구성 파일을 생성하는 동안 네트워크를 확인하는 검증 방법이 포함되었습니다. 이로 인해 사용자 프로비저닝 인프라 및 인프라 프로비저닝의 일부로 네트워크를 생성할 수 있는 기타 설치 방법에 대한 오류가 발생했습니다. 이 경우 구성 파일이 생성될 때 네트워크가 존재하지 않을 수 있었습니다. 이번 수정에서는 설치 프로그램에서 프로비저닝한 인프라 설치에서만 네트워크 검증을 수행하도록 설치 프로그램을 업데이트합니다. 결과적으로 사용자가 프로비저닝한 인프라 및 기타 설치 방법은 네트워크 존재와 관계없이 구성 파일을 생성할 수 있습니다. (BZ#2050767)
-
이전에는
runc
에libseccomp
2.5 이상에 대한 버전 종속성이 있었기 때문에 버전 8.3 이상을 사용하여 운영 체제가 설치되고 8.4 이상으로 완전히 업데이트되지 않은 문제가 발생했습니다. 이번 업데이트를 통해 RHEL 호스트가 성공적으로 설치되고 초기 버전의 패키지에 문제가 발생하지 않습니다. (BZ#2060147) - 이전에는 설치 프로그램에서 상대 경로를 통해 네트워크 리소스를 terraform으로 지정했습니다. 네트워크 리소스가 폴더에 중첩된 경우 테라폼 공급자가 리소스를 찾을 수 없습니다. 이번 업데이트를 통해 이제 네트워크 리소스가 ID로 지정되고 설치에 성공합니다. (BZ#2063829)
-
이전에는 vSphere RHCOS 이미지에
/etc/resolv.conf
파일이 없었습니다. 이로 인해 기본networkmanager
설정이/etc/resolv.conf
에 대한 오류를 표시했습니다. 이번 업데이트를 통해rc-manager=unmanaged
값이 설정되고networkmanager
설정은/etc/resolv.conf
로 직접 이동하지 않습니다. (BZ#2029438) - 이전에는 AWS(Amazon Web Services)에 필요하지 않기 때문에 설치 프로그램에서 클라우드 공급자 구성을 생성하지 않았습니다. 이로 인해 Kubernetes API 서버가 클라우드 공급자 구성없이 오류를 제공하게 되었습니다. 이번 업데이트를 통해 AWS의 빈 클라우드 공급자 구성이 생성되고 Kubernetes API 서버가 성공적으로 실행될 수 있습니다. (BZ#1926975)
Kubernetes API 서버
-
이전에는
KubeAPIErrorBudgetBurn
계산에 대해 스트리밍에 사용되는 장기 실행 요청이 고려되었습니다. 그 결과KubeAPIErrorBudgetBurn
의 경고가 트리거되어 false positive가 발생합니다. 이번 업데이트에서는KubeAPIErrorBudgetBurn
계산에서 장기 실행 중인 요청이 제외되었습니다. 결과적으로KubeAPIErrorBudgetBurn
메트릭에서 false positives가 줄어듭니다. (BZ#1982704)
Kubernetes 스케줄러
- OpenShift Container Platform 4.11에서 호스트된 컨트롤 플레인이 활성화된 클러스터에 Descheduler가 설치되면 호스팅 컨트롤 플레인 네임스페이스가 제거에서 제외됩니다. 결과적으로 Descheduler가 설치될 때 호스트된 컨트롤 플레인 네임스페이스에서 Pod가 더 이상 제거되지 않습니다. (BZ#2000653)
-
이전에는 리소스가
kubedescheduler
CR(사용자 정의 리소스)의 소유자 참조에 API 버전을 잘못 지정했습니다. 그 결과 소유자 참조가 유효하지 않았으며kubedescheduler
CR을 실행할 때 영향을 받는 리소스가 삭제되지 않았습니다. 이번 업데이트에서는 모든 소유자 참조에서 올바른 API 버전을 지정합니다. 결과적으로 CR을 삭제한 후kubedescheduler
CR에 대한 소유자 참조가 있는 모든 리소스가 삭제됩니다. (BZ#1957012)
Machine Config Operator
-
keyFile
이 RHEL 노드에서 NetworkManager의 기본 플러그인으로 구성되지 않았으므로 RHEL 노드는 재부팅 후 준비 상태에 도달하지 않을 수 있습니다. 이번 수정으로keyFile
은 모든 클러스터 노드에서 기본 NetworkManager 플러그인으로 설정됩니다. 결과적으로 노드가 재부팅 후준비
상태에 올바르게 도달합니다. (BZ#2060133) -
vSphere UPI 클러스터는 설치 시
PlatformStatus.VSphere
매개변수를 설정하지 않기 때문에 매개변수가nil
로 설정되었습니다. 이로 인해 MCO 로그가 이 매개변수의 값nil
을 가질 수 없는 불필요한 반복적인 메시지로 채워집니다. 이번 수정에서는 별도의 문제를 해결하기 위해 추가된 경고를 제거합니다. 결과적으로 로그에 더 이상 vSphere UPI 설치에 이 메시지가 나열되지 않습니다. (BZ#2080267) -
이전에는 코드 내에서 병합 논리 문제로 인해 FIPS 및
realTimeKernel
으로 MCO(Machine Config Operator)가 성능이 저하된 클러스터를 생성하려고 했습니다. 이번 업데이트를 통해 FIPS 및realTimeKernel
으로 클러스터를 생성할 때 MCO가 더 이상 저하되지 않습니다. (BZ#2096496)
Compliance Operator
-
이전에는 Compliance Operator에서 머신 구성 데이터에 대한 참조를 유지하여 메모리 사용량이 크게 증가했습니다. 그 결과 메모리 부족 예외로 인해 Compliance Operator가
CrashLoopBackoffs
로 실패했습니다. 이 문제를 해결하려면 업데이트된 버전의 Compliance Operator를 사용해야 합니다. 예: 0.1.53: 메모리에서 대규모 머신 구성 데이터 세트를 더 잘 처리할 수 있습니다. 결과적으로 Compliance Operator는 대규모 머신 구성 데이터 세트를 처리할 때 계속 실행됩니다. (BZ#2094854)
관리 콘솔
-
이전에는
InstallPlans
를 승인할 때 웹 콘솔에서 권한을 제대로 인증하지 않았습니다. 이로 인해 처리되지 않은 오류가 발생할 수 있었습니다. 이번 업데이트를 통해 일관성을 위해 권한이 변경되었으며 웹 콘솔에 오류 메시지가 올바르게 표시됩니다. (BZ#2006067)
모니터링
-
이번 업데이트 이전에는
container_fs*
지표의 컨테이너 레이블을 사용하여 쿼리를 포함하는 OpenShift Container Platform 웹 콘솔의 대시보드는 높은 카디널리티로 인해 컨테이너 레이블이 삭제되었기 때문에 데이터 포인트를 반환하지 않았습니다. 이번 업데이트에서는 이 문제가 해결되어 이제 이러한 대시보드에 데이터가 예상대로 표시됩니다. (BZ#2037513) -
이번 업데이트 이전에는
prometheus-operator
구성 요소에서 구성 맵에서ScrapeTimeout
의 시간 값을 허용했습니다.ScrapeTimeout
을ScrapeInterval
값보다 큰 값으로 설정하면 Prometheus는 구성 맵 설정 로드를 중지하고 모든 후속 구성 변경 사항을 적용하지 않습니다. 이번 업데이트를 통해 지정된ScrapeTimeout
값이ScrapeInterval
값보다 크면 시스템이 설정을 유효하지 않은 것으로 기록하지만 다른 구성 맵 설정을 계속 로드합니다. (BZ#2037762) - 이번 업데이트 이전에는 OpenShift Container Platform 웹 콘솔의 Kubernetes / Compute Resources / Cluster 대시보드의 CPU 사용률 패널에서 노드의 CPU 사용률을 계산하는 데 사용되는 수식이 잘못된 음수 값을 잘못 표시할 수 있었습니다. 이번 업데이트를 통해 수식을 업데이트하고 CPU 사용률 패널에 올바른 값이 표시됩니다. (BZ#2040635)
-
이번 업데이트 이전에는 새 Pod를 사용할 수 있기 전에 업데이트 프로세스가 이전 Pod를 제거하기 때문에 15일마다 발생하는 자동 업데이트 중에
prometheus-adapter
구성 요소의 데이터에 액세스할 수 없었습니다. 이번 릴리스에서는 자동 업데이트 프로세스에서 새 Pod가 요청을 처리할 수 있는 경우에만 이전 Pod를 제거하여 업데이트 프로세스 중에 이전 Pod의 데이터를 계속 사용할 수 있습니다. (BZ#2048333) -
이번 업데이트 이전에는
kube-state-metrics
:kube_pod_container_status_terminated_reason
,kube_pod_init_container_status_terminated_reason
및kube_pod_status_scheduled_time
에서 잘못된 메트릭이 누락되었습니다. 이번 릴리스에서는kube-state-metrics
가 이러한 지표를 올바르게 표시하여 사용할 수 있습니다. (BZ#2050120) -
이번 업데이트 이전에는
prometheus-operator
구성 요소에 대해 유효하지 않은 쓰기 레이블 구성 맵 설정이 존재하는 경우 구성이 모든 후속 설정을 로드했습니다. 이번 릴리스에서는 구성 요소가 구성을 로드할 때 유효한 쓰기 레이블 설정을 확인합니다. 잘못된 설정이 있으면 오류가 기록되고 구성 로드 프로세스가 중단됩니다. (BZ#2051470) -
이번 업데이트 이전에는 컨테이너의 리소스가 더 적더라도 Prometheus Pod의
init-config-reloader
컨테이너에서 CPU100m
및50Mi
의 메모리를 요청했습니다. 이번 업데이트를 통해 컨테이너는1m
의 CPU와10Mi
의 메모리를 요청합니다. 이러한 설정은config-reloader
컨테이너 설정과 일치합니다. (BZ#2057025) -
이번 업데이트 이전에는 관리자가 사용자 워크로드 모니터링을 활성화하면
user-workload-monitoring-config
구성 맵이 자동으로 생성되지 않았습니다.user-workload-monitoring-config-edit
역할의 관리자가 아닌 사용자는 구성 맵을 수동으로 생성할 수 있는 권한이 없으므로 관리자가 생성해야 했습니다. 이번 업데이트를 통해 관리자가 사용자 워크로드 모니터링을 활성화하고 적절한 역할의 사용자가 편집할 수 있는 경우user-workload-monitoring-config
구성 맵이 자동으로 생성됩니다. (BZ#2065577) - 이번 업데이트 이전에는 배포를 삭제한 후 CNO(Cluster Monitoring Operator)에서 삭제가 완료될 때까지 기다리지 않아 조정 오류가 발생했습니다. 이 업데이트에서는 CMO가 배포를 다시 만들기 전에 삭제될 때까지 대기하므로 이 문제가 해결됩니다. (BZ#2069068)
- 이번 업데이트 이전에는 사용자 워크로드 모니터링에 대해 Prometheus의 지표에 대한 외부 레이블을 구성한 경우 CMO에서 이러한 라벨을 Thanos Ruler에 올바르게 전파하지 않았습니다. Prometheus의 사용자 워크로드 모니터링 인스턴스에서 제공하지 않은 사용자 정의 프로젝트에 대한 외부 메트릭을 쿼리하는 경우 Prometheus를 추가하도록 Prometheus를 구성한 경우에도 이러한 지표의 외부 레이블이 표시되지 않는 경우가 있습니다. 이번 업데이트를 통해 이제 CMO에서 Prometheus에 구성한 외부 레이블을 Thanos Ruler로 적절히 전파하고, 외부 메트릭을 쿼리할 때 라벨을 볼 수 있습니다. 따라서 사용자 정의 프로젝트의 경우 Prometheus를 추가하도록 Prometheus를 구성한 경우에도 사용자 정의 프로젝트의 사용자 워크로드 모니터링 인스턴스에서 제공하지 않은 외부 지표를 쿼리하지 못하는 경우가 있었습니다. 이번 업데이트를 통해 이제 CMO에서 Prometheus에 구성한 외부 레이블을 Thanos Ruler로 적절히 전파하고, 외부 메트릭을 쿼리할 때 라벨을 볼 수 있습니다. (BZ#2073112)
-
이번 업데이트 이전에는
tunbr
인터페이스가NodeNetworkInterfaceFlapping
경고를 잘못 트리거했습니다. 이번 업데이트를 통해 이제tunbr
인터페이스가 경고가 무시되고 더 이상 경고가 잘못 트리거되지 않는 인터페이스 목록에 포함됩니다. (BZ#2090838) - 이전에는 Prometheus Operator가 잘못된 레이블 재지정 구성을 허용했습니다. 이번 업데이트를 통해 Prometheus Operator에서 레이블이 다시 지정된 구성의 유효성을 검사합니다. (BZ#2051407)
네트워킹
- 이전에는 추가 네트워크 연결에 본딩 CNI 플러그인을 사용할 때 Multus와 호환되지 않았습니다. 네트워크 연결 정의에 대해 Whereabouts IPAM 플러그인과 함께 결합된 CNI 플러그인을 사용한 경우 할당된 IP 주소가 잘못 조정되었습니다. 이제 본딩 CNI 플러그인을 사용하는 네트워크 연결 정의가 IP 주소 할당을 위해 Whereabouts IPAM 플러그인과 올바르게 작동합니다. (BZ#2082360)
- 이전 버전에서는 기본 게이트웨이가 여러 개인 OVN-Kubernetes 클러스터 네트워크 공급자를 사용할 때 잘못된 게이트웨이가 선택되어 OVN-Kubernetes Pod가 예기치 않게 중지되었습니다. 이제 이러한 Pod가 더 이상 실패하지 않도록 올바른 기본 게이트웨이가 선택됩니다. (BZ#2040933)
- OVN-Kubernetes 클러스터 네트워크 공급자를 사용하는 클러스터의 경우 이전에 NetworkManager 서비스가 노드에서 다시 시작되면 해당 노드에서 네트워크 연결이 끊어졌습니다. 이제 네트워크 연결이 NetworkManager 서비스를 다시 시작할 수 있습니다. (BZ#2048352)
-
이전에는 캐시 업데이트를 처리하는
goroutine
이mutex
를 보유하는 동안 버퍼링되지 않은 채널에 대한 쓰기를 중단할 수 있었습니다. 이번 업데이트를 통해 이러한 경합 조건이 해결되었습니다. (BZ#2052398) -
이전 버전에서는 ovn-kubernetes의 경우 본딩 또는 팀 인터페이스로 부팅 시
br-ex
를 설정하면br-ex
와 본딩 인터페이스 간의 미디어 액세스 제어(MAC) 주소가 일치하지 않았습니다. 그 결과 베어 메탈 또는 일부 가상 플랫폼에서는 예기치 않은br-ex
MAC 주소로 인해 네트워크 인터페이스 컨트롤러(NIC) 드라이버에서 트래픽이 삭제되어 모든 트래픽이 삭제되었습니다. 이번 업데이트를 통해br-ex
및 본딩 인터페이스에서 동일한 MAC 주소를 사용하므로 트래픽이 삭제되지 않습니다. (BZ#2103080) -
이전 버전에서는
cluster-reader
역할의 사용자는NodeNetworkConfigurationPolicy
와 같은 kubernetes-nmstate의 사용자 정의 리소스를 읽을 수 없었습니다. 이번 업데이트를 통해cluster-reader
역할이 있는 사용자는 kubernetes-nmstate 사용자 정의 리소스를 읽을 수 있습니다. (BZ#2022745) -
이전에는 서비스 엔드포인트가 제거되어 연결에 실패할 때
LoadBalancer
IP의 contrack 항목이 제거되지 않았습니다. 이번 업데이트를 통해 contrack 항목은 연결이 실패하지 않습니다. (BZ#2061002) -
이전 버전에서는
jq package
가 누락되어 RHEL 노드가 있는 클러스터의 확장이 노드 배포에서 실패했습니다. 이번 업데이트를 통해jq 패키지가
배포에 설치되고 RHEL 노드가 있는 클러스터 확장이 성공합니다. (BZ#2052393) - 이전에는 OVN-Kubernetes가 서비스 구성이 변경 시 과도한 시간을 소비했습니다. 이로 인해 서비스 구성 변경으로 대기 시간이 눈에 띄게 발생했습니다. 이 업데이트를 통해 OVN-Kubernetes는 서비스 구성 변경의 대기 시간을 줄이기 위해 최적화되었습니다. (BZ#2070674)
- 이전에는 API 연결 문제로 인해 IPAM CNI에 대한 IP 조정 CronJob이 실패하여 CronJob이 간헐적으로 실패했습니다. 이번 업데이트를 통해 Whereabouts IPAM CNI에서 CronJob이 시작되었으며 이러한 연결 문제가 발생하지 않도록 api-internal 서버 주소와 연장된 API 시간 초과를 사용합니다. (BZ#2048575)
-
이번 업데이트를 통해 Kubernetes-NMstate가 설치된 OpenShift Container Platform 클러스터에 이제
must-gathers
Kubernetes-NMstate 리소스에 포함됩니다. 이렇게 하면must-gathers
에 Kubernetes-NMstate의 리소스를 포함하여 문제 처리가 향상됩니다. (BZ#2062355) -
현재 로드 밸런서 서비스가 클러스터 트래픽 정책으로 구성된 경우 호스트 경로에 알려진 문제가 있습니다. 결과적으로 로드 밸런서 서비스의 송신 트래픽이 기본 게이트웨이로 제공되며 호스트 라우팅 테이블에 있는 최상의 일치하는 경로로 전달되지 않습니다. 이 문제를 해결하려면 로드 밸런서 유형 서비스를
Local
트래픽 정책으로 설정합니다. (BZ#2060159) -
이전 버전에서는
PodDisruptionBudget
사양이 단일 노드 OpenShift 클러스터에 적합하지 않아 일부 Pod를 제거할 수 없기 때문에 업그레이드 기능이 제한됩니다. 이번 업데이트를 통해 클러스터 토폴로지를 기반으로PodDisruptionBudget
사양이 조정되어 Kubernetes-NMState Operator가 단일 노드 OpenShift 클러스터에서 업그레이드할 수 있습니다. (BZ#2075491) -
이전 버전에서는 부팅 시
br-ex
브리지를 설정할 때 DHCP 클라이언트 ID 및 IPv6 주소 생성 모드가 제대로 작동하지 않아br-ex
에서 예기치 않은 IP 주소가 발생했습니다. 이번 업데이트를 통해 이제 DHCP 클라이언트 ID 및 IPv6 생성 모드 구성이br-ex
에 올바르게 설정됩니다. (BZ#2058030) -
이전에는 CNI 정의의
gateway
필드에 대한 의존으로 인해egress-router-cni
Pod에 일부 클러스터 내부 경로가 없어 기본 경로를 삭제하고 자체 삽입했습니다. 이번 업데이트를 통해egress-router-cni
pod는 pod가 외부 및 내부 클러스터 대상에 도달하도록 올바른 라우팅 정보를 삽입합니다. (BZ#2075475) -
이전에는 Pod 중단 예산을 사용하여 단일 노드 OpenShift에서 OVN raft 쿼럼을 생성했습니다. 이로 인해 단일 노드 OpenShift 클러스터에서 도움이 되지 않은
PodDisruptionBudgetAtLimit
경고가 발생했습니다. 이번 업데이트를 통해 이러한 클러스터에서PodDisruptionBudgetAtLimit
경고가 더 이상 발생하지 않습니다. (BZ#2037721) -
이전 버전에서는
NetworkManager
재시작의 경쟁 조건으로 인해 OVN-Kubernetes를 사용할 때 노드 부팅 시 DHCP에서br-ex
브리지 설정을 성공적으로 완료할 수 있었습니다. 이번 업데이트를 통해br-ex
를 설정할 때 경쟁 조건이 제거되어NetworkManager
가 더 이상 재시작되지 않습니다. (BZ#2055433) -
이전에는
PtpConfigSlave
소스 CR(사용자 정의 리소스)이 지원되지 않는 네트워크 전송 UDPv4로 설정되어 DU(Distributed Unit) 노드에 오류가 발생했습니다. 이번 수정에서는 UDPv4 대신 네트워크 전송 L2를 사용하도록PtpConfigSlave
소스 CR을 업데이트합니다. 결과적으로 DU 노드에 오류가 더 이상 표시되지 않습니다. (BZ#2060492) - 이전에는 네트워크 정책을 업데이트할 때 모든 OpenShift Container Platform 정책 로깅 구성이 업데이트되었습니다. 이로 인해 일부 동시 또는 이후 네트워크 정책에서 대기 시간이 눈에 띄게 발생했습니다. 이번 업데이트를 통해 새 정책을 추가할 때 모든 네트워크 정책이 더 이상 업데이트되지 않으므로 대기 시간이 제거됩니다. (BZ#2089392)
네트워킹 성능 개선
-
이전 버전에서는
systemd
서비스에서 가상 장치를 제외하고 udev에서 표시되는 모든 네트워크 장치에 대해 예약된 CPU 목록에 따라 기본 Recieve Packet stering (RPS) 마스크를 설정했습니다.crio
후크 스크립트는 보장된 Pod에 대해/sys/devices
에서 표시되는 모든 네트워크 장치의 RPS 마스크를 설정합니다. 이로 인해 네트워크 성능에 여러 영향을 미쳤습니다. 이번 업데이트에서는systemd
서비스는 가상 인터페이스의 기본 RPS 마스크만/sys/devices/virtual
아래에 설정합니다. 이제crio
후크 스크립트에서 물리적 장치도 제외합니다. 이 구성에서는 프로세스 과부하, 폴링 간격, 대기 시간 급증과 같은 문제를 완화합니다. (BZ#2081852)
노드
- 이전에는 Pod 관리자가 Pod 시크릿 및 구성 맵의 등록 및 등록 해제를 처리했습니다. 이로 인해 Pod 보안이 Pod 내에 마운트되지 않는 경우가 있었습니다. 이번 수정으로 kubelet에서 등록된 Pod를 관리하는 데 사용하는 키에 Pod ID가 포함됩니다. 결과적으로 보안이 예상대로 올바르게 마운트됩니다. (BZ#1999325)
- 가비지 컬렉션 프로세스에서 메모리 누수로 인해 메모리 부족으로 인해 Pod가 노드에서 시작되지 않을 수 있습니다. 이번 수정으로 가비지 수집 프로세스에서 메모리가 유출되지 않고 노드가 예상대로 시작되어야 합니다. (BZ#2065749)
- 업스트림 Kubernetes가 변경되었기 때문에 kubelet은 종료된 Pod에서 준비 상태 프로브를 실행하지 않았습니다. 결과적으로 로드 밸런서 또는 컨트롤러에서 종료 Pod에 더 천천히 반응하여 오류가 발생할 수 있었습니다. 이번 수정을 통해 Pod 종료 시 준비 상태 프로브가 다시 수행됩니다. (BZ#2089933)
-
버그로 인해 다른 Pod가 API에서 완료된 것으로 보고된 후 Pod가 빠르게 예약된 경우 kubelet에서
OutOfCpu
오류가 있는 Pod를 잘못 거부할 수 있었습니다. 이번 수정으로 kubelet은 이제 실행중인 모든 컨테이너가 중지되고 새 컨테이너가 시작되지 않을 때까지 API의 터미널로 Pod의 단계를 보고합니다. 이 변경 후 성공 또는 실패를 보고하는 데 수명이 짧은 Pod가 약간 더 오래 걸릴 수 있습니다. (BZ#2022507) -
prometheus-adapter
의 최신 버전에서는 추가 Pod 지표를 전송하므로 VPA(Vertical Pod Autoscaler) 권장 사항은 많은 불필요한 반복적인 메시지를 생성하고 있습니다. 이번 수정으로 VPA는 추가 메트릭을 인식하고 무시합니다. 결과적으로 이러한 메시지가 더 이상 생성되지 않습니다. (BZ#2102947)
OpenShift CLI(oc)
-
이전 버전에서는 더 이상 사용되지 않는 이미지 버전이 소스로 사용된 경우
oc
카탈로그 미러링이 실패했습니다. 이제 이미지 매니페스트 버전이 자동으로 감지되고 미러링이 성공적으로 작동합니다. (BZ#2049133) -
이전에는 대체 검사가 발생했을 때 로그에서 이해하기 어려웠습니다. 이를 보다 명확히 하기 위해 로그가 개선되었습니다. 결과적으로
must-gather run
출력이 훨씬 더 명확해졌습니다. (BZ#2035717) -
이전 버전에서는
must-gather
를 잘못된 인수로 실행한 경우 오류가 지속적으로 보고되지 않았으며 대신 불가능한 경우에도 데이터 수집을 시도할 수 있었습니다. 이제must-gather
가 잘못된 옵션으로 호출되면 유용한 오류 출력을 제공합니다. (BZ#1999891) -
이전 버전에서는
oc adm catalog mirror
명령에서 오류가 발생한 경우 계속되어0
종료 코드를 반환했습니다. 오류가 있거나 0이 아닌 종료 코드로 인해 명령이 계속되어야 하는지 확인할 수 있는--continue-on-error
플래그를 사용할 수 있습니다. (BZ#2088483) -
이번 업데이트를 통해
oc adm policy who-can
명령에--subresource
플래그가 추가되어 하위 리소스에서 지정된 작업을 수행할 수 있는 사람을 확인할 수 있습니다. (BZ#1905850) -
이전에는
oc project
명령에 탭 완료를 사용할 수 없었습니다. 이제oc project
이후 탭을 누르면 프로젝트를 올바르게 나열할 수 있습니다. (BZ#2080416) -
이전 버전에서는 시작 프로브가 디버그 Pod에서 제거되지 않아 시작 프로브가 실패한 경우 디버그 Pod에 문제가 발생할 수 있었습니다. 기본적으로
false
인--keep-startup
플래그가 추가되었습니다. 즉, 기본적으로 디버그 pod에서 시작 프로브가 제거됩니다. (BZ#2056122) -
이전 버전에서는
oc debug node
를 호출한 후 시간 초과가 지정되지 않았으므로 사용자가 클러스터에서 로그인하지 않았습니다. 지정된 비활성 시간이 지나면 세션이 자동으로 종료되도록TMOUT
환경 변수가 추가되었습니다. (BZ#2043314) -
이번 업데이트를 통해 이제 사용자가 로그아웃한 경우에도
oc login
에 웹 콘솔의 URL이 표시됩니다. (BZ#1957668) -
이전에는 컨테이너를 찾을 수 없는 경우
oc rsync
명령으로 잘못된 오류 출력이 표시되었습니다. 이번 릴리스에서는 특정 컨테이너가 실행되지 않을 때oc rsync
명령이 올바른 오류 메시지를 표시합니다. (BZ#2057633) - 이전에는 클러스터가 새로 추가된 경우 대용량 이미지를 정리할 수 없었습니다. 이로 인해 크기가 초과된 이미지를 필터링할 때 최근 이미지가 생략되었습니다. 이번 릴리스에서는 지정된 크기를 초과하는 이미지를 정리할 수 있습니다. (BZ#2083999)
-
이전에는
gather
스크립트에 오타가 있었습니다. 결과적으로 인사이트 데이터가 제대로 수집되지 않았습니다. 이번 릴리스에서는 오타가 수정되어 Insights 데이터가 이제must-gather
를 통해 올바르게 수집됩니다. (BZ#2106543) -
이전에는
oc
CLI를 통해 클러스터의EgressNetworkPolicy
리소스 유형을 적용할 수 없었습니다. 이번 릴리스에서는EgressNetworkPolicy
리소스를 생성, 업데이트 및 삭제할 수 있습니다. (BZ#2071614)
Kubernetes 컨트롤러 관리자
-
이전에는 Pod 종료자를 사용하여 작업을 추적하는 베타 기능이 기본적으로 활성화되어 있었습니다. 경우에 따라 종료자가 제거되지 않았기 때문에 Pod가 항상 제거되지 않는 경우가 있었습니다. 이번 업데이트를 통해 기능 게이트
Job jenkinsfileingWithFinalizers
는 기본적으로 비활성화되어 있습니다. 따라서 제거 중에 Pod를 그대로 두지 않아야 합니다. (BZ#2075621) -
이전에는 CR 복제본 수가 0일 때마다
PodDisruptionBudgetAtLimit
경고가 발생했습니다. 이번 업데이트를 통해 중단 또는 복제본 수가 0인 경우 경고가 더 이상 실행되지 않습니다. (BZ#2053622)
OLM(Operator Lifecycle Manager)
- 이번 업데이트 이전에는 리소스 이름이 63자를 초과하면 유효하지 않은 서브스크립션 라벨이 생성되었습니다. 63자 제한을 초과하는 라벨을 자르면 문제가 해결되고 서브스크립션 리소스에서 더 이상 Kubernetes API를 거부하지 않습니다. (BZ#2016425)
-
이번 업데이트 이전에는 Marketplace Operator의 카탈로그 소스 Pod가 노드 드레이닝되지 않았습니다. 이로 인해 클러스터 자동 스케일러를 효과적으로 축소할 수 없었습니다. 이번 업데이트를 통해 카탈로그 소스 pod에
cluster-autoscaler.kubernetes.io/safe-to-evict
주석을 추가하고 클러스터 자동 스케일러를 효과적으로 축소할 수 있습니다. (BZ#2053343) -
이번 업데이트 이전에는 Pod를 예약할 수 없는 경우와 같이
collect-profiles
작업을 완료하는 데 시간이 오래 걸릴 수 있었습니다. 이로 인해 작업이 충분하지만 실행할 수 없는 경우 예약된 작업 수가 Pod 할당량 제한을 초과했습니다. 이번 업데이트를 통해 한 번에 하나의collect-profiles
Pod만 존재하며,collect-profiles
작업은 Pod 할당량 제한을 초과하지 않습니다. (BZ#2055861) -
이번 업데이트 이전에는 리더 선택 기간, 갱신 기한, 재시도 기간을 정의할 때 패키지 서버에서 Pod 토폴로지를 인식하지 못했습니다. 결과적으로 패키지 서버는 단일 노드 환경과 같은 리소스가 제한된 토폴로지를 충당했습니다. 이번 업데이트에서는 적절한 리스 기간, 갱신 기한 및 재시도 기간을 설정하는
leaderElection
패키지가 도입되었습니다. 이번 수정을 통해 리소스가 제한된 클러스터의 부담을 줄일 수 있습니다. (BZ#2048563) -
이전 버전에서는
openshift-marketplace
네임스페이스에 잘못된 카탈로그 소스가 있었습니다. 이로 인해 모든 서브스크립션이 차단되었습니다. 이번 업데이트를 통해openshift-marketplace
네임스페이스에 잘못된 카탈로그 소스가 있는 경우 사용자는 원래 주석이 있는 자체 네임스페이스의 품질 카탈로그 소스에서 Operator를 구독할 수 있습니다. 결과적으로 로컬 네임스페이스에 잘못된 카탈로그 소스가 있는 경우 사용자는 네임스페이스의 Operator에 가입할 수 없습니다. (BZ#2076323) -
이전에는
operator-marketplace
프로젝트 폴링 중에 정보 수준 (info-level) 로그가 생성되어 로그 스팸이 발생했습니다. 이번 업데이트에서는 명령줄 플래그를 사용하여 로그 행을 디버그 수준으로 줄이며 사용자의 로그 수준을 더 많이 제어할 수 있습니다. 이로 인해 로그 스팸이 줄어듭니다. (BZ#2057558) -
이전에는 CVO(Cluster Version Operator)에서 관리하는 각 구성 요소는 프로젝트의 리포지토리 루트의
/manifest
디렉터리에 정의된 YAML 파일로 구성됩니다./manifest
디렉터리에서 YAML 파일을 제거할 때release.openshift.io/delete: "true"
주석을 추가해야 합니다. 그렇지 않으면 CVO가 클러스터에서 리소스를 삭제하지 않습니다. 이번 업데이트에서는/manifest
디렉터리에서 제거된 모든 리소스를 다시 사용하고 CVO가 리소스를 정리하도록release.openshift.io/delete: "true"
주석을 추가합니다. 결과적으로 OLM 구성 요소에 더 이상 필요하지 않은 리소스가 클러스터에서 제거됩니다. (BZ#1975543) -
이전에는 gRPC 카탈로그 소스에서 사용하는
CheckRegistryServer
기능이 카탈로그 소스와 연결된 서비스 계정이 있는지 확인하지 않았습니다. 이로 인해 서비스 계정이 없는 비정상 카탈로그 소스가 발생했습니다. 이번 업데이트를 통해 gRPCCheckRegistryServer
함수는 서비스 계정이 존재하는지 확인하고 없는 경우 서비스를 다시 생성합니다. 결과적으로 OLM은 gRPC 카탈로그 소스가 없는 경우 gRPC 카탈로그 소스가 소유한 서비스 계정을 다시 생성합니다. (BZ#2074612) -
이전 버전에서는 사용자가 파일 기반 카탈로그 이미지에 대해
opm index prune
을 실행할 때 발생한 오류 메시지에서 부정확한 언어로 인해 이 명령에서 해당 카탈로그 형식을 지원하지 않았습니다. 이번 업데이트에서는 사용자가opm index prune
명령에서 SQLite 기반 이미지만 지원하도록 오류 메시지를 명확히 합니다. (BZ#2039135) - 이전에는 Operator API 주위에 스레드 안전성이 손상되었습니다. 결과적으로 Operator 리소스가 올바르게 삭제되지 않았습니다. 이번 업데이트를 통해 Operator 리소스가 올바르게 삭제됩니다. (BZ#2015023)
- 이전 버전에서는 Pod 오류로 인해 인증서의 유효 기간이 인위적으로 연장되어 인증서가 잘못 교체되었습니다. 이번 업데이트를 통해 인증서 유효 기간이 올바르게 결정되고 인증서가 올바르게 순환됩니다. (BZ#2020484)
-
OpenShift Container Platform 4.11에서 기본 클러스터 전체 Pod 보안 승인 정책은 모든 네임스페이스에 대해
baseline
으로 설정되고 기본 경고 수준은restricted
로 설정됩니다. 이번 업데이트 이전에는 Operator Lifecycle Manager에서operator-marketplace
네임스페이스에 Pod 보안 승인 경고가 표시되었습니다. 이번 수정을 통해 경고 수준을baseline
으로 낮추면 문제가 해결됩니다. (BZ#2088541)
Operator SDK
- 이번 업데이트 이전에는 Operator SDK에서 다운스트림이 지원되는 이미지가 아닌 업스트림 이미지를 사용하여 Hybrid Helm 기반 Operator를 스캐폴드했습니다. 이번 업데이트를 통해 Operator SDK는 지원되는 다운스트림 이미지를 사용하여 Hybrid Helm 기반 Operator를 스캐폴드합니다. (BZ#2039135)
-
OpenShift Container Platform 4.11을 사용하면 Operator SDK를 사용하여
arm64
Operator 이미지를 빌드할 수 있습니다. 결과적으로 Operator SDK는 이제arm64
를 대상으로 하는 Operator 이미지 빌드를 지원합니다. (BZ#2035899) - 이전 버전에서는 Operator SDK와 함께 하이브리드 Helm Operator를 실행하는 {product-tile}에서 지원되는 다운스트림 이미지가 아닌 업스트림 이미지를 사용합니다. 이번 업데이트를 통해 하이브리드 Helm Operator를 스캐폴딩하면 다운스트림 이미지를 사용합니다. (BZ#2066615)
OpenShift API 서버
- 여러 Authentication Operator 컨트롤러가 동시에 동기화되었기 때문에 Authentication Operator가 구성에 반응하는 데 시간이 너무 오래 걸렸습니다. 이 기능은 Authentication Operator 컨트롤러가 리소스를 놓고 경쟁하지 않도록 일반 동기화 기간에 지터를 추가합니다. 따라서 Authentication Operator가 구성 변경에 반응하는 데 시간이 단축되었습니다. (BZ#1958198)
- OpenShift Container Platform 4.11에서 외부 ID 공급자의 인증 시도는 이제 감사 로그에 기록됩니다. 따라서 감사 로그의 외부 ID 공급자의 성공, 실패 및 오류가 발생한 로그인 시도를 볼 수 있습니다. (BZ#2086465)
RHCOS(Red Hat Enterprise Linux CoreOS)
-
이번 업데이트 이전에는 PXE를 통해 머신을 부팅하고
BOOTIF
인수가 커널 명령줄에 있는 경우 시스템은 단일 인터페이스에서만 DHCP가 활성화된 상태로 부팅됩니다. 이번 업데이트를 통해BOOTIF
인수가 제공되는 경우에도 모든 인터페이스에서 DHCP가 활성화된 상태로 머신이 부팅됩니다. (BZ#2032717) - 이전에는 VMware OVA 이미지에서 프로비저닝된 노드가 초기 프로비저닝 후 Ignition 구성을 삭제하지 않았습니다. 결과적으로 시크릿이 Ignition 구성 내에 저장될 때 보안 문제가 발생했습니다. 이번 업데이트를 통해 이제 새 노드에서 초기 프로비저닝 후 및 기존 노드의 이전 OpenShift Container Platform 릴리스에서 업그레이드할 때 VMware 하이퍼바이저에서 Ignition 구성이 삭제됩니다. (BZ#2082274)
-
이전에는 명령을 처음 호출할 때
toolbox
명령에 제공된 인수가 무시되었습니다. 이번 수정에서는 toolbox 스크립트를 업데이트하여podman container create
명령 다음에podman start
및podman exec
명령을 시작합니다. 또한 여러 개의 인수 및 공백을 배열로 처리하기 위해 스크립트를 수정합니다. 결과적으로toolbox
명령에 전달된 인수가 예상대로 실행됩니다. (BZ#2039589)
Performance Addon Operator
-
이전에는 CNF cyclictest 실행자에서
--mainaffinity
인수를 제공해야 했으며 이 인수는 바이너리를 실행해야 하는 스레드를 알려주었지만 cyclictest 실행자에--mainaffinity
인수가 누락되었습니다. 이번 업데이트에서는 cyclictest 실행자에--mainaffinity
인수를 추가하여cyclitest
명령에 올바르게 전달됩니다. (BZ#2051540) -
이전에는
oslat
컨테이너 사양에cpu-quota.crio.io: "disable"
주석이 없어 대기 시간이 길어졌습니다. 그 결과 생성 중에cpu-quay.crio.io:"disable"
주석이 Pod 정의에서 누락되었습니다. 이번 업데이트를 통해 Pod 생성 중에cpu-quota.crio.io:"disable"
주석이 추가되고 결과적으로oslat
Pod의specification
필드에 표시됩니다. (BZ#2061676)
라우팅
- 이전에는 Ingress Operator에서 OpenShift Ingress 네임스페이스의 Kubernetes 서비스 오브젝트가 조정하려는 Ingress 컨트롤러가 생성되었는지 확인하지 않았습니다. 따라서 Ingress Operator는 소유권에 관계없이 동일한 이름과 네임스페이스가 있는 Kubernetes 서비스를 수정하거나 제거하므로 예기치 않은 동작이 발생합니다. 이번 업데이트를 통해 Ingress Operator는 이제 서비스를 수정하거나 제거하기 전에 기존 Kubernetes 서비스의 소유권을 확인할 수 있습니다. 소유권이 일치하지 않으면 Ingress Operator에 오류가 표시되고 작업을 수행하지 않습니다. 결과적으로 Ingress Operator는 수정 또는 제거하려는 OpenShift Ingress 네임스페이스와 동일한 이름으로 사용자 정의 Kubernetes 서비스를 수정하거나 삭제할 수 없습니다. (BZ#2054200)
- 이전에는 OpenShift Container Platform 4.8에서 플랫폼 경로를 사용자 정의하는 API를 추가했습니다. 이 API에는 사용자 지정 가능한 경로의 현재 호스트 이름과 이러한 경로에 대한 사용자의 원하는 호스트 이름을 각각 보고하는 클러스터 수신 구성에 상태 및 사양 필드가 포함되어 있습니다. API는 이러한 값에 대한 제약 조건도 정의했습니다. 이러한 제약 조건은 제한적이며 유효한 잠재적인 일부 호스트 이름을 제외했습니다. 결과적으로 API에 대한 제한적인 검증으로 인해 사용자가 허용되어야 하는 사용자 정의 호스트 이름을 지정할 수 없게 되었고, 허용된 도메인이 있는 사용자가 클러스터를 설치할 수 없게 되었습니다. 이번 업데이트를 통해 경로 및 OpenShift Container Platform에 유효한 모든 호스트 이름을 허용하도록 호스트 이름에 대한 제약 조건이 완화되었습니다. OpenShift Container Platform을 사용하면 사용자가 10진수가 포함된 gcc로 클러스터 도메인을 사용할 수 있습니다. (BZ#2039256)
-
이전에는 Ingress Operator에서 클러스터
spec.domain
매개변수로 구성된 Ingress 컨트롤러가spec.baseDomain
매개변수와 일치하는지 확인하지 않았습니다. 이로 인해 Operator에서 DNS 레코드를 생성하고DNSManaged
조건을false
로 설정했습니다. 이번 수정으로 Ingress Operator에서spec.domain
매개변수가 클러스터spec.baseDomain
과 일치하는지 확인합니다. 결과적으로 사용자 정의 Ingress 컨트롤러의 경우 Ingress Operator는 DNS 레코드를 생성하지 않고DNSManaged
조건을 false로 설정합니다. (BZ#2041616) -
이전에는 OpenShift Container Platform 4.10에서 HAProxy must-gather 함수가 실행하는 데 최대 1시간이 걸릴 수 있었습니다. 이는 종료 상태의 라우터가
oc cp
명령을 지연할 때 발생할 수 있습니다. 지연은 Pod가 종료될 때까지 지속됩니다. 새 릴리스에서는oc op
명령의 10분 제한이 더 이상 지연되지 않습니다. (BZ#2104701) - 이전에는 Ingress 컨트롤러가 삭제될 때 Ingress Operator에서 경로 상태를 지우지 않아 삭제 후 경로가 여전히 Operator에 표시되었습니다. 이번 수정에서는 Ingress 컨트롤러가 삭제될 때 경로 상태가 지워 삭제 후 Operator에서 경로가 지워집니다. (BZ#1944851)
-
이전에는
oc explain router.status.ingress.conditions
명령의 출력에 API(애플리케이션 프로그래밍 인터페이스)에서 잘못된 표현으로 인해Admitted
가 아닌Currently only Ready
만 표시되었습니다. 이번 수정으로 API의 단어가 수정되었습니다. 결과적으로 명령 출력이 올바르게 표시됩니다. (BZ#2041133) -
이전에는 Ingress Operator에서 사용자가
LoadBalancer-type
서비스에서 관리하는 주석을 수정했음을 감지했습니다. 결과적으로 Operator는 업그레이드를 차단하기 위해 Ingress Cluster Operator의Upgradeable
상태 조건을False
로 설정하고 Ingress Operator에서Upgradeable
상태 조건을False
로 설정하여 서비스에 주석이 없는 경우 업그레이드를 차단했습니다. 이제 서비스의 주석을 확인하는 논리에서 빈 주석을 올바르게 처리하고 Ingress Operator에서 더 이상 업그레이드를 잘못 차단하지 않습니다. (BZ#2097555) -
이전에는 Ingress Operator에서 Operator가 이전 버전의 OpenShift Container Platform에서
LoadBalancer-type
서비스에 추가한 종료자를 제거했습니다. 이번 업데이트를 통해 Ingress Operator는 더 이상 종료자를 제거하지 않습니다. (BZ#2069457) -
Ingress Operator는 Ingress canary 경로에 대해 상태 점검을 수행합니다. 이번 업데이트 이전에는 연결에
keepalive
데몬이 활성화되어 있기 때문에 상태 점검이 완료된 후 Ingress Operator가 로드 밸런서(LB)에 대한 TCP 연결을 종료하지 않습니다. 기존 연결을 사용하는 대신 다음 상태 점검을 위해 새 연결이 생성되었습니다. 그 결과, 연결은 로드 밸런서에 빌드되고 로드 밸런서에 너무 많은 연결을 생성합니다. 이번 업데이트를 통해 canary 경로에 연결할 때keepalive
데몬이 비활성화되고 canary 프로브가 실행될 때마다 새 연결이 생성되어 종료됩니다. (BZ#2037447) -
이전에는 Ingress 컨트롤러에서 라우터 배포에서
allowPrivilegeEscalation
값을 false로 설정하지 않아 라우터 Pod가 잘못된 SCC(Security Context Constraint)로 선택되고 사용자 정의 SCC와 충돌했습니다. 이번 수정에서는allowPrivilegeEscalation
값을true
로 설정하여 라우터 Pod가 올바른 SCC로 선택되어 사용자 지정 SCC와의 충돌을 방지합니다. (BZ#2007246) -
이전에는 canary 경로가 Ingress 컨트롤러에 허용되지 않은 경우 Ingress Operator 상태 조건이
degraded
로 표시되지 않았습니다. 결과적으로 상태 조건이not admitted
로 표시되는 경우 canary 경로가valid
로 표시될 수 있었습니다. 이번 업데이트를 통해 Ingress Operator 상태가 canary 컨트롤러의 상태를 보다 정확하게 반영합니다. (BZ#2021446) -
이전에는
openshift-router
프로세스에서SIGTERM
종료 신호를 간단히 무시했습니다. 이로 인해 컨테이너가 Kubernetes 종료 요청을 무시하여 1시간 동안 종료되었습니다. 이번 업데이트를 통해 라우터는 이제SIGTERM
신호에 응답합니다. (BZ#2076297) -
이전 버전에서는 승인 경로에 대한 Ingress 컨트롤러가 삭제되거나 샤딩 구성이 추가되면 잘못된
허용
상태가 지정되었습니다. 이번 업데이트를 통해 Ingress 컨트롤러에서 바인딩되지 않은
경로의 상태를 지우고 잘못된 상태 시나리오를 방지합니다. (BZ#1944851) -
이전 버전에서는 4.7 또는 이전 버전을 사용하여 설치한 OpenShift Container Platform 클러스터에서
0.0.0.0/0
의service.beta.kubernetes.io/aws-load-balancer-internal
주석 값을 유지했습니다. 4.8 이상을 사용하여 설치한 클러스터에는 주석 값이true
가 있습니다. 주석 값true
를 확인하는 AWS 클라우드 공급자 구현에서는 값이0.0.0.0/0
인 경우 잘못된 결과를 반환합니다. 이로 인해 4.10으로 클러스터 업그레이드가 완료되지 않았습니다. 이번 업데이트를 통해 클러스터 업그레이드가 완료될 수 있도록 주석 값이true
로 정규화됩니다. (BZ#2055470)
확장 및 성능
- 이번 업데이트 이전에는 NFD가 이미 설치되어 있는지 여부와 관계없이 SRO가 기본적으로 NFD(Node Feature Discovery)를 설치했습니다. NFD가 설치된 경우 이로 인해 SRO 배포가 실패합니다. SRO는 기본적으로 NFD를 더 이상 배포하지 않습니다.
스토리지
- 이전 버전에서는 사용자가 PVC(영구 볼륨 클레임)를 생성한 경우 OpenShift Container Platform과 함께 제공된 Alibaba Container Storage Interface(CS) 드라이버에서 20GiB 미만의 PVC(영구 볼륨 클레임)를 생성할 때 오류가 반환되었습니다. Alibaba Cloud는 20GiB보다 큰 볼륨만 지원하기 때문입니다. 이번 업데이트를 통해 Alibaba CSI 드라이버는 모든 볼륨 크기를 20GiB 이상으로 자동으로 증가하며 작은 PVC가 동적으로 프로비저닝됩니다. 이로 인해 비용이 증가할 수 있습니다. 관리자는 제한된 환경의 각 네임스페이스에 대해 PVC 수에 대한 할당량을 사용하여 비용을 제한할 수 있습니다. (BZ#2057495)
-
이전 버전에서는 LSO(Local Storage Operator)에서 생성된 PV(영구 볼륨)에 소유자 참조가 추가되어 노드를 삭제하면 PV에 삭제 요청도 실행됩니다. 이로 인해 Pod에 연결된 상태에서 PV가
Terminating
상태로 유지될 수 있습니다. LSO는 더 이상 OwnerReference를 생성하지 않으므로 클러스터에서 노드를 제거한 후 클러스터 관리자가 사용되지 않은 PV를 삭제해야 합니다. (BZ#2061447) 자세한 내용은 로컬 볼륨을 사용한 영구 저장장치를 참조하십시오. - 이번 수정을 통해 GCP CSI Driver에서 읽기 전용으로 많은 볼륨을 적절하게 프로비저닝할 수 있습니다. (BZ#1968253)
- OpenShift Container Platform을 사용하면 업스트림 커뮤니티 또는 VMware에서 제공하는 vSphere CSI 드라이버를 설치할 수 있습니다. Red Hat은 이 드라이버를 지원하지 않지만, Red Hat에서 제공하는 vSphere CSI 드라이버보다 기능이 더 많이 포함되어 있기 때문에 클러스터 관리자는 계속 설치하고 사용할 수 있습니다. OpenShift Container Platform은 업스트림 및 VMware vSphere CSI 드라이버를 사용하여 4.11로 업그레이드할 수 있지만 타사 CSI 드라이버가 있는지에 대해 경고합니다. 자세한 내용은 (BZ#2089419) 및 (BZ#2052071)를 참조하십시오.
- 이번 업데이트를 통해 AWS(Amazon Web Services)에 대한 기본 인증 정보 요청이 변경되어 KMS(Key Managment Service)의 고객 관리 키를 사용하여 암호화된 볼륨을 마운트할 수 있습니다. CCO(Cloud creditial Operator)를 사용하여 수동 모드에서 인증 정보 요청을 생성한 관리자는 AWS에서 고객 관리 키를 사용하여 암호화된 볼륨을 마운트하려는 경우 이러한 변경 사항을 수동으로 적용해야 합니다. 다른 관리자는 이 변경 사항의 영향을 받지 않아야 합니다. (BZ#2049872)
- 이전에는 IBM Cloud에 배포된 OpenShift Container Platform 클러스터를 삭제한 후 백엔드 스토리지 볼륨이 삭제되지 않았습니다. 이로 인해 클러스터 리소스가 완전히 제거되지 않았습니다. 이번 수정에서는 설치 프로그램과 CSI(Container Storage Interface) 드라이버에 지원이 추가되어 클러스터가 제거된 후 백엔드 볼륨 삭제가 발생합니다. (BZ#2047732)
웹 콘솔 (개발자 화면)
- 이번 업데이트 이전에는 유효하지 않은 devfile 리포지토리( devfile v2.2 미만)를 입력할 때 Git 가져오기 양식에 오류 메시지가 표시되었습니다. 이번 업데이트에서는 v2.2보다 오래된 devfiles가 지원되지 않는다는 오류 메시지가 표시됩니다. (BZ#2046435)
- 이번 업데이트 이전에는 클러스터에서 ConsoleLink CR (openshift-blog)을 사용할 수 없는 경우 블로그 링크가 정의되지 않았습니다. 블로그 링크를 클릭하면 OpenShift 블로그로 리디렉션되지 않았습니다. 이번 업데이트를 통해 ConsoleLink CR (openshift-blog)이 클러스터에 없는 경우에도 https://developers.redhat.com/products/openshift/whats-new에 대한 대체 링크가 추가됩니다. (BZ#2050637)
- 이번 업데이트 이전에는 kafka CR의 API 버전이 업데이트되었습니다. 이 버전은 이전 버전을 지원하지 않았으므로 생성된 경우에도 Create Event Source - KafkaSource에 빈 부트스트랩 서버가 표시되었습니다. 이번 업데이트를 통해 Kafka CR의 업데이트된 API는 이전 버전을 지원하고 Create Event Source - KafkaSource 양식에서 부트르스랩 서버 목록을 렌더링합니다. (BZ#2058623)
- 이번 업데이트 이전에는 Git에서 가져오기를 사용하여 프라이빗 Git 리포지토리를 가져올 때 프라이빗 리포지토리 세부 정보를 가져오는 시크릿이 디코딩되지 않았기 때문에 올바른 가져오기 유형과 빌더 이미지가 확인되지 않았습니다. 이번 업데이트를 통해 Git에서 가져오기 양식에서 시크릿을 디코딩하여 개인 리포지토리 세부 정보를 가져옵니다. (BZ#2053501)
- 이번 업데이트 이전에는 개발자 화면에서 토폴로지 보기에서 선택한 작업이 아닌 가장 최근에 확인한 워크로드에 대해 Observe 대시보드를 열었습니다. 이 문제는 세션이 URL의 쿼리 매개변수 대신 redux 저장소를 선호하기 때문에 발생합니다. 이번 업데이트를 통해 Observe 대시보드는 URL의 쿼리 매개변수를 기반으로 구성 요소를 렌더링합니다. (BZ#2052953)
-
이번 업데이트 이전에는 클러스터에 없는 경우에도 하드 코딩된 값
gp2
로 시작하는 데 사용된 Pipeline이 기본 스토리지 클래스로 시작합니다. 이번 업데이트를 통해 하드 코딩된 값 대신 기본 지정된 스토리지 클래스 이름을 사용할 수 있습니다. (BZ#2084635) -
이번 업데이트 이전에는 대용량 파이프라인 로그를 실행하는 동안 자동 스크롤 기능이 작동하지 않고 로그에 이전 메시지가 표시됩니다. 대용량 파이프라인 로그를 실행하면
scrollIntoView
메서드에 대한 많은 호출이 생성됩니다. 이번 업데이트를 통해 대용량 파이프라인 로그가scrollIntoView
메서드에 대한 호출을 생성하지 않고 원활한 자동 스크롤 기능을 제공합니다. (BZ#2014161) - 이번 업데이트 이전에는 Create RoleBinding 양식을 사용하여 RoleBinding을 생성할 때 제목 이름이 필수입니다. 누락된 제목 이름이 Project Access 탭을 로드하지 못합니다. 이번 업데이트를 통해 주체 이름 속성이 없는 RoleBinding이 Project Access 탭에 나열되지 않습니다. (BZ#2051558)
-
이번 업데이트 이전에는 독립 실행형 또는
k-native service
,Broker
,KameletBinding
을 지원하는 일부 경우에도 이벤트 소스에 대한 싱크 및 트리거에 모든 리소스를 표시했습니다. 싱크 드롭다운 목록에 표시되는 데 사용되는 주소 지정 리소스입니다. 이번 업데이트를 통해 독립 실행형 리소스만 싱크로 표시하도록 필터가 추가되었습니다. (BZ#2054285) - 이번 업데이트 이전에는 렌더링 전에 토폴로지 뷰의 사이드바에 있는 빈 탭을 필터링하지 않았습니다. 토폴로지 보기에 워크로드에 대한 잘못된 탭이 표시됩니다. 이번 업데이트를 통해 빈 탭이 올바르게 필터링됩니다. (BZ#2049483)
-
이번 업데이트 이전에는 마지막 실행 시작 버튼을 사용하여 파이프라인을 시작할 때 생성된
PipelineRun
의startedby
주석이 올바른 사용자 이름으로 업데이트되지 않아 섹션에 의해 트리거된 섹션에 올바른 사용자 이름이 표시되지 않았습니다. 이번 업데이트를 통해started-by
주석 값이 올바른 사용자 이름으로 업데이트되고 섹션은 파이프라인을 시작한 올바른 사용자의 사용자 이름을 보여줍니다. (BZ#2046618) -
이번 업데이트 이전에는
ProjectHelmChartRepository
CR이 클러스터에 표시되지 않습니다. 결과적으로 이 CR의 API 스키마가 아직 클러스터에서 초기화되지 않았습니다. 이번 업데이트를 통해ProjectHelmChartRepository
가 클러스터에 표시됩니다. (BZ#2054197) - 이번 업데이트 이전에는 토폴로지에서 키보드를 사용하여 탐색할 때 선택한 항목이 강조 표시되지 않았습니다. 이 업데이트에서는 키보드를 사용한 탐색이 선택한 항목을 강조 표시하고 스타일을 업데이트합니다. (BZ#2039277)
- 이번 업데이트 이전에는 웹 터미널 레이아웃이 기본 보기 외부에서 열리며 크기를 조정할 수 없었습니다. 이번 업데이트를 통해 기본 보기 내에 웹 터미널이 열리고 올바르게 크기 조정됩니다. (BZ#2022253)
- 이번 업데이트 이전에는 일부 사이드바 항목에 네임스페이스 컨텍스트가 포함되지 않았습니다. 결과적으로 다른 브라우저에서 링크를 열거나 다른 활성 네임스페이스에서 링크를 열면 웹 콘솔이 올바른 네임스페이스로 전환되지 않습니다. 이번 업데이트를 통해 URL을 열 때 올바른 네임스페이스가 선택됩니다. (BZ#2039647)
- 이전 버전에서는 콘솔을 사용하여 템플릿을 인스턴스화할 때 해당 매개변수가 시크릿 리소스로 저장되었습니다. 템플릿이 제거되면 시크릿이 그대로 유지됩니다. 이로 인해 불필요한 빌드가 클러스터에 생성되었습니다. 이번 업데이트를 통해 템플릿 인스턴스에 매핑되는 시크릿에 소유권 참조가 추가됩니다. 이제 템플릿 인스턴스가 제거되면 시크릿도 제거됩니다. (BZ#2015042)
-
이번 업데이트를 통해
jsonData
속성이 더 이상 사용되지 않고ping
소스의데이터로
교체되었습니다. (BZ#2084438) -
이전에는 OpenShift Container Platform 웹 콘솔의 토폴로지 보기가 실패했거나 노드가 100개 이상인 클러스터의 경우 지연되었습니다. 이번 업데이트를 통해 토폴로지 보기에 노드가 100개 이상인 클러스터의
LimitExceeded
상태가 표시됩니다. 대신 검색 페이지를 사용하여 리소스를 볼 수 있는 옵션이 제공됩니다. 또는 토폴로지 보기를 계속 로드 하려면 토폴로지 표시를 클릭할 수 있습니다. (BZ#2060329) -
이전 버전에서는 서비스가 여러 서비스 포트를 노출하고 경로 대상 포트가
8080
인 경우 대상 포트를 변경하려고 하면 다른 서비스 포트가 포트8080
서비스 포트 대신 업데이트됩니다. 이번 업데이트를 통해 새 대상 포트가 설정되면 활성 대상 포트에 해당하는 서비스 포트가 교체됩니다. (BZ#2077943) -
이전에는 리포지토리 정보를 가져오기 위해 인스턴스 API를 관리하는 데 사용된
git
탐지가 자체 호스팅 GitHub 및 Bitbucket의 리포지토리에 작동하지 않았습니다. 이번 업데이트를 통해 자체 호스팅 GitHub 및 Bitbucket 인스턴스 리포지토리에 대한 검색이 작동합니다. (BZ#2038244) -
이전에는
apiVersion
이 EventSource 생성 양식의 리소스 드롭다운 메뉴에 올바른 형식으로 전달되지 않았습니다. 이로 인해InContext
가 EventSource 생성에서 선택되지 않아 리소스 드롭다운 메뉴에서 제외되었습니다. 이번 업데이트를 통해 리소스 드롭다운 메뉴에InContext
의 리소스가 포함됩니다.(BZ#2070020)
-
이전에는 Pipeline 지표 페이지에 메트릭 쿼리에 대한 모든 API 호출이 표시되고
404
오류로 실패했습니다. 이번 업데이트를 통해prometheus-tenancy
API를 사용하여 파이프라인의 메트릭 데이터를 가져옵니다. 이제 파이프라인 지표 페이지에 적어도 네임스페이스에 대한 액세스 권한이 있는 관리자가 아닌 사용자에게 모든 데이터와 그래프가 표시됩니다. (BZ#2041769) - 이전에는 빠른 검색에 액세스하여 Crtl+space 키보드 바로 가기를 사용하여 모달을 추가할 수 있었지만 동일한 키보드 바로 가기를 사용하여 닫을 수 없었습니다. 이번 업데이트를 통해 빠른 검색을 닫고 Ctrl+space 키보드 바로 가기를 사용하여 모달을 추가할 수 있습니다. (BZ#2093586)
-
이전에는 사용자가 삭제된 경우 사용자 설정에 대해 생성된 리소스가 제거되지 않았습니다. 결과적으로
openshift-console-user-settings
네임스페이스에서 생성된 리소스가 제거되지 않았습니다. 이번 업데이트를 통해ownerReference
가 생성 시 메타데이터에 추가됩니다. 이렇게 하면 사용자가 더 이상 존재하지 않을 때 리소스를 자동으로 제거할 수 있습니다. (BZ#2019564)