릴리스 노트

OpenShift Container Platform 4.4

OpenShift Container Platform 릴리스의 새로운 기능 및 주요 변경 사항

Red Hat OpenShift Documentation Team

초록

OpenShift Container Platform 릴리스 노트에는 새로운 기능, 향상된 기능, 주요 기술 변경 사항, 이전 버전의 주요 수정 사항, GA 관련 알려진 문제가 요약되어 있습니다.

1장. OpenShift Container Platform 4.4 릴리스 정보

Red Hat OpenShift Container Platform은 개발자 및 IT 조직에 새로운 애플리케이션과 기존 애플리케이션을 안전하고 확장 가능한 리소스에 배포할 수 있는 하이브리드 클라우드 애플리케이션 플랫폼을 최소한의 구성 및 관리 비용으로 제공합니다. OpenShift Container Platform은 Java, JavaScript, Python, Ruby, PHP와 같은 다양한 프로그래밍 언어 및 프레임워크를 지원합니다.

Red Hat Enterprise Linux 및 Kubernetes를 기반으로 하는 OpenShift Container Platform은 오늘날의 엔터프라이즈급 애플리케이션을 위해 보다 안전하고 확장 가능한 다중 테넌트 운영 체제를 제공하는 동시에 통합된 애플리케이션 런타임 및 라이브러리를 제공합니다. 조직은 OpenShift Container Platform을 통해 보안, 개인 정보 보호, 규정 준수 및 거버넌스 요구 사항을 충족할 수 있습니다.

1.1. 릴리스 정보

Red Hat OpenShift 컨테이너 플랫폼(RHBA-2020:0581)을 사용할 수 있습니다. 이 릴리스에서는 Kubernetes 1.17을 CRI-O 런타임과 함께 사용합니다. 다음은 OpenShift Container Platform 4.4와 관련된 새로운 기능, 변경 사항, 알려진 문제에 대해 설명합니다.

Red Hat은 OpenShift Container Platform 4.4.0을 GA 버전으로 출시하지 않고, 대신 OpenShift Container Platform 4.4.3을 GA 버전으로 출시하고 있습니다.

OpenShift Container Platform 4.4 클러스터는 https://cloud.redhat.com/openshift에서 사용할 수 있습니다. OpenShift Container Platform용 Red Hat OpenShift Cluster Manager 애플리케이션을 사용하면 온프레미스 또는 클라우드 환경에 OpenShift 클러스터를 배포할 수 있습니다.

OpenShift Container Platform 4.4는 Red Hat Enterprise Linux 7.6 이상과 RHCOS(Red Hat Enterprise Linux CoreOS) 4.4에서 지원됩니다.

마스터 머신이라고도 하는 제어 플레인에는 RHCOS를 사용해야 하며, 작업자 머신이라고도 하는 컴퓨팅 머신에는 RHCOS 또는 Red Hat Enterprise Linux 7.6 이상을 사용할 수 있습니다.

중요

컴퓨팅 머신에는 Red Hat Enterprise Linux 버전 7.6 이상만 지원되므로 Red Hat Enterprise Linux 컴퓨팅 머신을 버전 8로 업그레이드해서는 안 됩니다.

OpenShift Container Platform 4.4 버전이 릴리스되면서 버전 4.1의 지원이 종료되었습니다. 자세한 내용은 Red Hat OpenShift Container Platform 라이프 사이클 정책을 참조하십시오.

1.2. 새로운 기능 및 개선 사항

이 릴리스에는 다음 구성 요소 및 개념과 관련된 개선 사항이 추가되었습니다.

1.2.1. 설치 및 업그레이드

1.2.1.1. 사용자 프로비저닝 인프라를 사용하여 Microsoft Azure에 클러스터 설치

OpenShift Container Platform 4.4에서는 사용자 프로비저닝 인프라를 사용하여 Azure에 클러스터를 설치할 수 있도록 지원합니다. Azure에서 사용자 프로비저닝 인프라를 실행하면 규정, 보안, 운영 제어와 같은 환경을 사용자 정의할 수 있습니다.

배포 프로세스를 지원하기 위해 Red Hat에서 제공하는 ARM(Azure Resource Manager) 템플릿 샘플을 통합하거나 템플릿을 직접 만들 수 있습니다. 다른 방법을 통해 필요한 리소스를 자유롭게 만들 수도 있습니다. ARM 템플릿은 샘플 용으로 만 제공됩니다.

자세한 내용은 ARM 템플릿을 사용하여 Azure에 클러스터 설치를 참조하십시오.

1.2.1.2. 설치 관리자 프로비저닝 인프라를 사용하여 Red Hat Virtualization에 클러스터 설치

OpenShift Container Platform 4.4에서는 설치 관리자 프로비저닝 인프라를 사용하여 Red Hat Virtualization(RHV)에 클러스터를 설치할 수 있도록 지원합니다.

자세한 내용은 RHV에 신속하게 클러스터 설치를 참조하십시오.

1.2.1.3. 사용자 프로비저닝 인프라를 사용하여 OpenStack에 클러스터 설치

OpenShift Container Platform 4.4에서는 사용자가 제공하는 인프라에서 실행되는 RHOSP(Red Hat OpenStack Platform)에 클러스터를 설치할 수 있도록 지원합니다. 자체 인프라를 사용하면 클러스터를 기존 인프라 및 수정 사항과 통합할 수 있습니다. 예를 들어 Nova 서버, Neutron 포트, 보안 그룹과 같은 모든 RHOSP 리소스를 생성해야 합니다. Red Hat은 배포 프로세스에 도움이 되는 Ansible 플레이북을 제공합니다.

자체 인프라를 사용하여 Kuryr로 RHOSP에 클러스터를 설치할 수도 있습니다.

자세한 내용은 자체 인프라를 사용하여 OpenStack에 클러스터 설치 또는 자체 인프라를 사용하여 Kuryr로 OpenStack에 클러스터 설치를 참조하십시오.

1.2.1.4. OpenStack에 클러스터를 설치할 때 더 이상 Swift 오브젝트 스토리지 서비스가 필요하지 않음

버전 4.4부터 OpenShift Container Platform은 설치된 RHOSP 클라우드에 더 이상 Swift 오브젝트 스토리지 서비스를 필요로 하지 않습니다. OpenShift Container Platform 설치에 Swift를 사용할 수 없는 경우, 설치 관리자는 대신 Cinder 블록 스토리지 및 Glance 이미지 레지스트리 서비스를 사용합니다.

자세한 내용은 자체 인프라를 사용하여 OpenStack에 클러스터 설치를 참조하십시오.

1.2.1.5. OpenStack에 설치된 클러스터는 자체 서명 인증서를 지원

인증에 자체 서명된 인증서를 사용하는 RHOSP 클라우드에 OpenShift Container Platform 4.4를 설치할 수 있습니다.

자세한 내용은 자체 인프라를 사용하여 OpenStack에 클러스터 설치를 참조하십시오.

1.2.1.6. OpenStack에서 sha256 체크섬을 확인하여 RHCOS 이미지의 유효성 검사

RHOSP의 설치 관리자에서 Red Hat Enterprise Linux CoreOS(RHCOS) 이미지 자동 체크섬의 유효성을 검사합니다.

1.2.1.7. Kuryr를 사용하여 OpenStack에서 OVN 부하 분산을 통해 동서 트래픽(East-West Traffic) 지원

RHOSP 16에서 Kuryr를 사용하는 OpenShift Container Platform 설치에서 Amphora 드라이버 대신 OVN 부하 분산 공급자 드라이버를 사용할 수 있습니다. 환경에 OVN 및 OVN Octavia 드라이버가 있는 경우 OVN이 자동으로 사용됩니다. 결과적으로 로드 밸런서 성능과 리소스 사용률이 향상됩니다. 서비스마다 로드 밸런서 VM도 필요하지 않게 됩니다.

1.2.1.8. 4.4 릴리스에 업그레이드 채널 사용

fast-4.4 채널로 전환된 클러스터의 경우, GA에서 최신 OpenShift Container Platform 4.3.z 릴리스를 4.4로 업그레이드할 수 있습니다. fast-4.4 채널에서 얼리어답터의 원격 분석 데이터를 모니터링하여 stable-4.4 채널로의 업그레이드를 승격할 시기를 결정합니다. 이러한 모니터링은 광범위한 엔터프라이즈급 테스트 범위를 벗어난 것으로, 몇 주가 걸릴 수 있습니다.

1.2.2. 보안

1.2.2.1. 서비스 계정 토큰 바인딩 지원

OpenShift Container Platform 4.4에서는 서비스 계정 토큰 바인딩을 지원하며, 이로 인해 AWS IAM과 같은 클라우드 공급자 IAM(Identity Access Management) 서비스와의 통합 기능이 향상되었습니다.

자세한 내용은 서비스 계정 토큰 바인딩 사용을 참조하십시오.

1.2.2.2. oauth-proxy 이미지 스트림 사용 가능

OpenShift Container Platform 4.4에는 타사 인증 통합을 위해 oauth-proxy 이미지 스트림이 도입되었습니다. 더 이상 Red Hat Registry의 oauth-proxy 이미지를 사용해서는 안 됩니다. OpenShift Container Platform 4.4 클러스터 이상을 대상으로 하는 경우, 대신 openshift/oauth-proxy:v4.4 이미지 스트림을 사용해야 합니다. 그러면 이전 버전과의 호환성이 보장되고 중요한 수정 사항을 얻기 위해 이미지 스트림 트리거를 추가할 수 있습니다. v4.4 태그는 최소한 다음 세 개의 OpenShift Container Platform 마이너 릴리스에서 큰 변화 없이 사용할 수 있습니다. 각 마이너 릴리스에도 자체 태그가 도입됩니다.

1.2.2.3. kube-apiserver에서 토큰 전에 클라이언트 인증서 확인

이전 버전의 OpenShift Container Platform에서 kube-apiserver는 인증을 위해 클라이언트 인증서보다 먼저 토큰을 확인했습니다. 이제 kube-apiserver가 토큰 전에 클라이언트 인증서를 확인합니다.

예를 들어, system:admin kubeconfig가 있고 이전 버전의 OpenShift Container Platform에서 oc--token=foo get pod 명령을 실행한 경우 토큰이 foo인 사용자로 인증됩니다. 이제 system:admin으로 인증됩니다. 이전 릴리스에서는 클라이언트 인증서를 사용하는 경우 토큰을 덮어쓰는 대신 매개변수 --as를 사용하여 사용자 권한을 차용하도록 권장했습니다. 이제 사용자 권한을 차용할 필요가 없습니다.

1.2.3. 노드

1.2.3.1. Descheduler를 사용하여 Pod 제거(기술 프리뷰)

Descheduler는 실행 중인 Pod를 제거하여 보다 적합한 노드에 Pod를 다시 예약할 수 있는 기능을 제공합니다.

다음과 같은 상황에서 Pod 예약을 취소할 수 있습니다.

  • 노드가 충분히 사용되지 않았거나 너무 많이 사용되었습니다.
  • 오염 또는 라벨과 같은 Pod 및 노드 선호도 요구 사항이 변경되었으며, 원래 일정 결정이 더 이상 특정 노드에 적합하지 않습니다.
  • 노드 장애로 Pod를 이동해야 합니다.
  • 새 노드가 클러스터에 추가되었습니다.

자세한 내용은 Descheduler를 사용하여 Pod 제거를 참조하십시오.

1.2.3.2. 노드에서 과다 할당 제어 및 컨테이너 밀도 관리

OpenShift Container Platform 관리자는 노드에서 과다 할당 수준을 제어하고 컨테이너 밀도를 관리할 수 있습니다. 클러스터 리소스 덮어쓰기 Operator를 사용하여 클러스터 수준 과다 할당을 구성하면 개발자 컨테이너에 설정된 요청과 제한 사이의 비율을 덮어쓸 수 있습니다.

1.2.4. 클러스터 모니터링

1.2.4.1. 웹 콘솔에서 대시보드 모니터링

웹 콘솔의 모니터링 섹션에서 대시보드 뷰를 사용할 수 있습니다. 이를 통해 OpenShift Container Platform 클러스터 및 해당 종속 구성 요소에 투명성을 제공하는 지표를 볼 수 있습니다.

1.2.4.2. node-exporter에서 hwmon 수집기 사용 안 함

hwmon 수집기가 더 이상 클러스터 지표를 수집하는 데 사용되지 않으므로 node-exporter 모니터링 구성 요소에서 사용 안 함으로 설정되었습니다.

1.2.4.3. cluster-reader에서 노드 지표를 읽을 수 있음

기본적으로 cluster-reader 역할에서 노드 지표를 읽을 수 있습니다.

1.2.4.4. 여러 컨테이너가 종료되는 경우의 클러스터 경고

메모리 중단으로 인해 15분 내에 여러 컨테이너가 종료되는 경우 MultipleContainersOOMKilled 경고 메세지가 표시됩니다.

1.2.4.5. 새 API 서버 경고

OpenShift Container Platform 4.4에 다음과 같은 새 API 서버 경고 두 가지를 사용할 수 있습니다.

  • ErrorBudgetBurn: API 서버에서 5xx 요청 응답을 발행할 때 시작됩니다.
  • AggregatedAPIErrors: 집계된 API 서버에 대한 오류 수가 증가할 때 시작됩니다.

1.2.4.6. Prometheus Operator에 대한 권한 업데이트

Prometheus Operator에서 관리하는 사용자 정의 리소스 정의에 더 엄격한 권한이 부여되었습니다.

Prometheus Operator에서 관리하는 사용자 정의 리소스는 다음과 같습니다.

  • Prometheus
  • ServiceMonitor
  • PodMonitor
  • Alertmanager
  • PrometheusRule

1.2.4.7. 클러스터 모니터링 구성 요소 버전 업데이트

다음 모니터링 구성 요소가 업그레이드되었습니다.

  • Prometheus: 2.14.0에서 2.15.2로 버전 업그레이드
  • Alertmanager: 0.19.0에서 0.20.0으로 버전 업그레이드
  • Prometheus Operator: 0.34.0에서 0.35.1로 버전 업그레이드
  • kube-state-metrics: 1.8.0에서 1.9.5로 버전 업그레이드
  • Grafana: 6.4.3에서 6.5.3으로 버전 업그레이드

1.2.5. 로깅

1.2.6. 웹 콘솔

1.2.6.1. OperatorHub에 IBM Marketplace 통합

IBM Marketplace가 OpenShift Container Platform 웹 콘솔에 있는 OperatorHub와 통합되었습니다. 이 통합을 통해 OperatorHub 인터페이스 내에서 IBM Marketplace에서 호스트되는 Operator를 설치하고 관리할 수 있습니다.

1.2.6.2. 토폴로지 뷰에서 애플리케이션 편집

토폴로지 뷰를 사용하여 개발자 퍼스펙티브에서 애플리케이션을 편집할 수 있습니다.

1.2.6.3. Helm 릴리스 만들기

개발자 카탈로그에 제공된 Helm 차트에서 Helm 릴리스를 만들 수 있습니다.

1.2.7. 네트워킹

1.2.7.1. OpenShift Container Platform의 SCTP(스트림 제어 전송 프로토콜)

SCTP는 IP 네트워크에서 실행되는 안정적인 메시지 기반 프로토콜입니다. 활성화하면 포드 및 서비스 둘 다에서 SCTP를 프로토콜로 사용할 수 있습니다. 자세한 내용은 SCTP 사용을 참조하십시오.

1.2.7.2. DNS 전달 사용

지정된 구역에 사용해야 하는 네임 서버를 지정하는 방식으로 DNS 전달을 사용하여 구역별 전달 기본 구성을 덮어쓸 수 있습니다.

자세한 내용은 DNS 전달 사용을 참조하십시오.

1.2.7.3. HAProxy 버전 2.0으로 업그레이드

Ingress에 사용되는 HAProxy가 버전 1.8.17에서 2.0.13으로 업그레이드되었습니다. OpenShift Container Platform에 대한 새 API 또는 지원되는 사용자 지원 기능은 이 업그레이드에 도입되지 않았습니다. 업그레이드를 통해 성능이 크게 향상되고 많은 버그가 수정됩니다. 또한 HAProxy 2.0에서는 기본 Prometheus 지표가 추가되고, 다른 OpenShift Container Platform 구성 요소가 IPv6를 지원하도록 구성된 경우 전체 IPv6가 지원됩니다.

1.2.7.4. Ingress 개선 사항

OpenShift Container Platform 4.4에서는 다음 두 가지 측면에서 Ingress가 눈에 띄게 향상되었습니다.

1.2.8. 스토리지

1.2.8.1. CSI 스냅샷을 사용하는 영구 스토리지(기술 프리뷰)

CSI(Container Storage Interface)를 사용하여 볼륨 스냅샷을 생성, 복원 및 삭제할 수 있습니다. 이 기능은 기술 프리뷰에서 기본적으로 활성화되어 있습니다.

자세한 내용은 CSI 볼륨 스냅샷 사용을 참조하십시오.

1.2.8.2. CSI 복제를 사용하는 영구 스토리지(기술 프리뷰)

CSI(Container Storage Interface)를 사용하여 이미 생성된 스토리지 볼륨을 복제할 수 있습니다. 이 기능은 기술 프리뷰에서 기본적으로 활성화되어 있습니다.

자세한 내용은 CSI 볼륨 복제 사용을 참조하십시오.

1.2.9. 스케일링

1.2.9.1. 클러스터 최대값

OpenShift Container Platform 4.4의 클러스터 최대값 지침이 업데이트되었습니다.

4.4에서 테스트된 노드당 최대 Pod 수는 500입니다.

해당 환경의 클러스터 한도를 추정하려면 OpenShift Container Platform 한도 계산기를 사용하십시오.

1.2.10. 개발자 경험

1.2.10.1. 자동 이미지 정리

자동 이미지 정리 기능을 사용할 수 있습니다. 이 옵션은 기본적으로 사용 안 함으로 설정되어 있습니다. OpenShift Container Platform 4.4를 설치하거나 업그레이드한 후 이 옵션에 대한 알림이 표시됩니다. 이 자동화는 이미지 레지스트리 Operator에 의해 관리되며 CronJob을 생성하여 주기적으로 이미지 정리를 실행합니다.

1.2.10.2. 상태에 빌드 오브젝트 보고서 조건 포함

기존 OpenShift Container Platform 빌드 단계별로 빌드 조건이 추가되었습니다. 이러한 조건에는 빌드 라이프사이클 동안 빌드에 대한 정보가 포함됩니다. oc wait과 같은 명령을 사용하여 특정 빌드 단계에 도달할 때까지 기다릴 수도 있습니다.

1.2.10.3. 이미지 레지스트리에 대한 롤아웃 재생성

이미지 레지스트리를 배치할 때 Recreate 롤아웃 전략을 사용할 수 있습니다. 그러면 AWS Elastic Block Store와 같은 ReadWriteOnce 영구 볼륨을 사용할 수 있습니다. 이러한 스토리지 유형을 사용하는 경우, Recreate 롤아웃 전략을 사용하여 OpenShift Container Platform 클러스터를 업그레이드해야 합니다.

1.2.10.4. odo 개선 사항

odo가 다음과 같이 사용자 경험에 중점을 두고 몇 가지 사항이 향상되었습니다.

  • odo debug info 명령을 사용할 수 있습니다.
  • odo url 명령에 --secure 플래그를 사용하여 HTTPS URL을 지정할 수 있습니다.
  • odo create, odo urlodo config 명령에 --now 플래그를 사용하여 클러스터에 변경 사항을 즉시 적용할 수 있습니다.
  • 기본 포트가 사용 중인 경우 odo debug port-forward 명령에서 포트를 자동으로 선택합니다.
  • 가독성 향상을 위해 odo storageodo push 명령의 출력이 재구성되었습니다.
  • 실험 모드를 사용할 수 있으며 이 모드에서 devfile을 사용하여 애플리케이션을 만드는 등의 기술 프리뷰 기능을 사용할 수 있습니다.
  • 기술 프리뷰 기능 - devfile 지원이 제공됩니다. 자세한 내용은 odo 릴리스 정보를 참조하십시오.

1.2.10.5. Helm 3 GA 지원

Helm은 Kubernetes 및 OpenShift Container Platform 애플리케이션의 패키지 관리자입니다. Helm 차트라는 패키징 형식을 사용하여 애플리케이션 및 서비스의 정의, 설치 및 업그레이드를 단순화합니다.

Helm CLI는 OpenShift Container Platform과 함께 빌드되고 제공되며, 웹 콘솔의 CLI 메뉴에서 다운로드할 수 있습니다.

1.2.11. Operator

1.2.11.1. etcd 클러스터 Operator

OpenShift Container Platform 4.4에는 etcd 클러스터 Operator가 도입되어 etcd 확장 및 프로비저닝 etcd 종속성(예: TLS 인증서)을 처리합니다. etcd 클러스터 Operator는 재해 복구 절차를 단순화하여 이전 클러스터 상태로 복원하고, etcd 멤버 추가를 자동화하며, etcd 멤버 상태 보고를 더 정확하게 보고하고, 이벤트를 보고하여 etcd 클러스터 디버깅을 지원합니다.

이 업데이트에서는 재해 복구 스크립트 이름이 다음과 같이 변경되었습니다.

  • etcd-snapshot-backup.shcluster-backup.sh로 변경되었습니다.
  • etcd-snapshot-restore.shcluster-restore.sh로 변경되었습니다.

자세한 내용은 재해 복구 정보를 참조하십시오.

1.2.11.2. Insights Operator에서 익명화된 CSR 수집

이 향상된 기능으로 Insights Operator는 익명의 CSR(인증서 서명 요청)을 주기적으로 수집하여 Kubernetes에서 확인되지 않았거나 승인되지 않은 CSR을 식별합니다. 또한 인증서가 유효한 경우 Insights Operator에서 데이터를 수집합니다. 결과적으로 OpenShift Container Platform 고객 지원 경험을 개선하는 데 도움이 됩니다.

1.2.11.3. registry.redhat.io에 연결할 수 없는 경우 Samples Operator 제거

설치 중 Samples Operator가 registry.redhat.io에 연결되지 않는 경우 샘플 이미지 스트림이 생성되지 않습니다. 이 경우 샘플 콘텐츠 설치로 인해 OpenShift Container Platform 클러스터 설치가 실패하지 않습니다.

클러스터 설치 중 이러한 문제가 발생하면 이 문제를 무시하도록 대체 또는 미러링된 레지스트리를 구성할 수 있습니다.

1.2.12. 설명서 업데이트 및 규칙

1.2.12.1. Apache 라이센스 2.0에 따라 라이센스가 부여된 OpenShift 문서

OpenShift 문서는 이제 Apache 라이센스 2.0에 따라 라이센스가 부여되어 있습니다. 이전에는 Creative Commons Attribution-ShareAlike 3.0 Unported 라이센스에 따라 라이센스가 부여되었습니다.

1.2.12.2. docs.openshift.com 사이트의 복사 버튼

docs.openshift.com의 모든 코드 블록에는 이제 코드 블록의 모든 텍스트를 컴퓨터의 클립 보드에 복사 할 수있는 복사 버튼을 제공합니다. 이 기능은 고객 포털 버전의 OpenShift 설명서에서는 사용할 수 없습니다.

1.2.12.3. OpenShift Container Engine의 이름이 OpenShift Kubernetes Engine으로 변경

Red Hat은 제품이 제공하는 가치를 보다 잘 전달하기 위해 Red Hat OpenShift Container Engine의 이름을 Red Hat OpenShift Kubernetes Engine으로 변경했습니다. 자세한 내용은 OpenShift Kubernetes Engine을 참조하십시오.

1.2.12.4. Azure Red Hat OpenShift 4.3 버전 설명서 사용 가능

이 새 버전은 Red Hat 및 Microsoft가 공동으로 관리, 지원, 문서화합니다.

1.3. 주요 기술 변경 사항

OpenShift Container Platform 4.4에는 다음과 같은 주요 기술 변경 사항이 추가되었습니다.

Fluentd syslog 플러그인을 사용하여 클러스터 로그 전송(RFC 3164)

OpenShift Container Platform 4.3에서는 로그 전달 기능이 변경되어 더 이상 Fluentd syslog 플러그인을 사용하여 로그를 외부 syslog 서버로 전달할 수 없습니다. OpenShift Container Platform 4.4에서는 이 기능이 복원되어 syslog 플러그인을 사용할 수 있습니다. 플러그인 구성 절차는 OpenShift Container Platform 버전 4.2와 버전 4.4가 다릅니다. 자세한 내용은 Fluentd syslog 플러그인을 사용하여 로그 전송(RFC 3164)을 참조하십시오.

Operator SDK v0.15.0

OpenShift Container Platform 4.4에서는 다음과 같은 주요 기술 변경 사항이 추가된 Operator SDK v0.15.0을 지원합니다.

  • olm-catalog gen-csv 하위 명령이 이제 generate csv 하위 명령으로 변경되었습니다.
  • up local 하위 명령이 이제 run --local 하위 명령으로 변경되었습니다.

1.4. 사용되지 않거나 삭제된 기능

이전 릴리스에서 사용 가능해던 일부 기능이 더 이상 사용되지 않거나 삭제되었습니다.

더 이상 사용되지 않는 기능은 여전히 OpenShift Container Platform에 포함되어 있으며 계속 지원됩니다. 그러나 이 기능은 향후 릴리스에서 제거될 예정이므로 새로운 배포에는 사용하지 않는 것이 좋습니다. OpenShift Container Platform 4.4에서 더 이상 사용되지 않고 삭제된 주요 기능의 최신 목록은 아래 표를 참조하십시오. 더 이상 사용되지 않고 삭제된 기능에 대한 자세한 정보는 표 뒤에 나열되어 있습니다.

아래 표에서 기능은 다음과 같은 상태로 표시되어 있습니다.

  • GA: 일반 사용 가능
  • DEP: 더 이상 사용되지 않음
  • - : 삭제된 기능

표 1.1. 사용되지 않거나 삭제된 기능

기능OCP 4.2OCP 4.3OCP 4.4

Service Catalog

DEP

DEP

DEP

Template Service Broker

DEP

DEP

DEP

OpenShift Ansible Service Broker

DEP

DEP

-

OperatorSources

DEP

DEP

DEP

CatalogSourceConfigs

DEP

DEP

DEP

Operator Framework의 패키지 매니페스트 형식

GA

GA

DEP

System Containers for Docker, CRI-O

-

-

-

Hawkular Agent

-

-

-

Pod PreSets

-

-

-

감사 정책

-

-

-

클러스터형 MongoDB 템플릿

-

-

-

클러스터형 MySQL 템플릿

-

-

-

CephFS Provisioner

-

-

-

Manila Provisioner

-

-

-

1.4.1. 사용되지 않는 기능

1.4.1.1. OpenShift CLI config 플래그

oc와 함께 사용된 --config 플래그는 더 이상 사용되지 않습니다. 대신 --kubeconfig 플래그를 사용해야 합니다.

1.4.1.2. OpenShift CLI timeout 플래그

oc rsh와 함께 사용된 --timeout 플래그는 더 이상 사용되지 않습니다. 대신 --request-timeout 플래그를 사용해야 합니다.

1.4.1.3. OpenShift 편집기

OS_EDITOR가 더 이상 사용되지 않습니다. 대신 KUBE_EDITOR 또는 EDITOR를 사용해야 합니다.

1.4.1.4. machineCIDR 네트워크 매개변수

install-config.yaml 파일에 사용된 machineCIDR 네트워크 매개변수는 더 이상 사용되지 않습니다. 대신 machineNetwork.cidr을 사용해야 합니다.

1.4.1.5. Service Catalog, Template Service Broker, Ansible Service Broker 및 해당 Operator

참고

Service Catalog는 OpenShift Container Platform 4에 기본적으로 설치되지 않습니다.

OpenShift Container Platform 4.2에서는 Service Catalog, Template Service Broker, Ansible Service Broker 및 관련 Operator가 더 이상 사용되지 않습니다.

OpenShift Container Platform 4.4에서 Ansible Service Broker, the Ansible Service Broker Operator 및 다음 APB가 제거되었습니다.

  • APB 기본 이미지
  • APB 툴 컨테이너
  • PostgreSQL APB
  • MySQL APB
  • MariaDB APB

다음과 같은 관련 API도 제거되었습니다.

  • .automationbroker.io/v1alpha1
  • .osb.openshift.io/v1

Service Catalog,Template Service Broker 및 다음의 관련 API는 향후 OpenShift Container Platform 릴리스에서 제거될 예정입니다.

  • .servicecatalog.k8s.io/v1beta1

이러한 기능이 4.4에서 활성화되어 있는 경우 웹 콘솔은 클러스터 관리자에게 이러한 기능이 여전히 활성화되어 있음을 경고합니다. 다음 경고는 MonitoringAlerting 페이지에서 볼 수 있으며, Warning 심각도가 설정됩니다.

  • ServiceCatalogAPIServerEnabled
  • ServiceCatalogControllerManagerEnabled
  • TemplateServiceBrokerEnabled

service-catalog-controller-managerservice-catalog-apiserver 클러스터 Operator도 4.4에서 Upgradeable=false로 설정됩니다. 즉, 클러스터가 설치되어 있으면 4.5와 같이 다음 마이너 버전으로의 업그레이드가 차단됩니다. 그러나 4.4.z와 같은 z-stream 릴리스로의 업그레이드는 여전히 허용됩니다.

Service Catalog가 설치된 경우 클러스터 관리자는 다음 마이너 버전의 OpenShift Container Platform이 릴리스되기 전에 Service Catalog 제거를 참조하여 제거할 수 있습니다.

1.4.1.6. CatalogSourceConfig, CatalogSourceConfig 및 패키징 형식 폐기

OperatorHub에서 OperatorSource 및 CatalogSourceConfig가 더 이상 사용되지 않습니다. 다음 관련 API가 향후 릴리스에서 제거될 예정입니다.

  • operatorsources.operators.coreos.com/v1
  • catalogsourceconfigs.operators.coreos.com/v2
  • catalogsourceconfigs.operators.coreos.com/v1

Operator Framework의 현재 패키징 형식 Package Manifest Format은 이번 버전에서 더 이상 사용되지 않으며 향후 버전에서는 새 Bundle Format(번들 형식)으로 대체됩니다. 결과적으로 Package Manifest Format에서 카탈로그를 빌드하는 oc adm catalog build명령도 더 이상 사용되지 않습니다.

향후 Bundle Format 및 Operator Package Manager CLI (opm)에 대한 자세한 내용은 업스트림 OKD 문서를 참조하십시오.

1.4.1.6.1. 사용자 정의 OperatorSources 및 CatalogSourceConfigs 변환

OpenShift Container Platform 4.4 클러스터에 사용자 정의 OperatorSources 또는 CatalogSourceConfigs 오브젝트가있는 경우 이제 marketplace 클러스터 Operator는 Upgradeable=false 조건을 설정하고 Warning을 발행합니다. 즉, 클러스터가 설치되어 있으면 4.5와 같이 다음 마이너 버전으로의 업그레이드가 차단됩니다. 그러나 4.4.z와 같은 z-stream 릴리스로의 업그레이드는 여전히 허용됩니다.

클러스터 관리자는 사용자 정의 OperatorSources 또는 CatalogSourceConfigs을 변환하고 CatalogSources를 직접 사용하여 이 경고를 지울 수 있습니다.

프로세스

  1. 사용자 정의 OperatorSources 또는 CatalogSourceConfigs 오브젝트를 제거하십시오.

    1. 모든 네임 스페이스에서 OperatorSources 또는 CatalogSourceConfigs 오브젝트를 검색하십시오.

      $ oc get opsrc --all-namespaces
      $ oc get csc --all-namespaces
    2. 모든 관련 네임 스페이스에서 모든 사용자 정의 오브젝트를 제거하십시오.

      $ oc delete opsrc <custom_opsrc_name> -n <namespace>
      $ oc delete csc <custom_csc_name> -n <namespace>
      중요

      openshift-marketplace 네임 스페이스에서 기본 OperatorSources redhat-operators, community-operators, certified-operators, redhat-marketplace를 제거하지 마십시오. 실수로 제거된 경우 부트 스트랩됩니다.

  2. 제한된 네트워크 문서에서 Operator 카탈로그 이미지 빌드에 설명된 절차를 사용하여 새 카탈로그 이미지를 작성 및 푸시하고 oc adm catalog build 명령 단계에서 다음과 같이 변경하십시오.

    • --appregistry-org를 App Registry 인스턴스의 네임 스페이스 (예:Quay.io)로 변경하십시오.
    • --to를 빌드된 카탈로그 이미지에 적용하고 푸시해야 하는 이미지 저장소 태그로 변경하십시오.

    예를 들면 다음과 같습니다.

    $ oc adm catalog build \
        --appregistry-org <namespace> \
        --from=registry.redhat.io/openshift4/ose-operator-registry:v4.4 \
        --to=quay.io/<namespace>/<catalog_name>:<tag> \
        [-a ${REG_CREDS}]
    참고

    oc adm catalog build 명령은 사용되지 않지만 더 이상 사용되지 않는 기능은 계속 지원됩니다.

  3. 새 카탈로그 이미지를 참조하려면 CatalogSource를 클러스터에 적용하십시오.

    cat <<EOF | oc apply -f -
    
    apiVersion: operators.coreos.com/v1alpha1
    kind: CatalogSource
    metadata:
      name: my-operator-catalog
      namespace: openshift-marketplace
    spec:
      sourceType: grpc
      image: quay.io/<namespace>/<catalog_name>:<tag> 1
      displayName: My Operator Catalog
      updateStrategy:
        registryPoll: 2
          interval: 30m
    EOF
    1
    사용자 정의 Operator 카탈로그 이미지를 지정하십시오.
    2
    CatalogSources는 최신 버전을 자동으로 확인할 수 있습니다.

1.4.2. 제거된 기능

1.4.2.1. OpenShift CLI secrets 하위 명령

OpenShift Container Platform 3.9에서 사용 중단된 다음 oc secrets 하위 명령은 더 이상 사용할 수 없습니다.

  • new
  • new-basicauth
  • new-dockercfg
  • new-sshauth

대신 oc create secret 명령을 사용해야 합니다.

1.4.2.2. OpenShift CLI build-logs 명령

oc build-logs 명령은 OpenShift Container Platform 3.11에서 사용 중단되었으며 제거되었습니다. 대신 oc logs를 사용해야 합니다.

1.4.2.3. 더 이상 사용되지 않는 업스트림 Kubernetes 지표가 제거됨

더 이상 사용되지 않는 업스트림 Kubernetes 지표가 모두 제거되었습니다. 제거된 지표의 전체 목록은 다음과 같습니다.

Kubelet 지표
  • kubelet_pod_worker_latency_microseconds
  • kubelet_pod_start_latency_microseconds
  • kubelet_cgroup_manager_latency_microseconds
  • kubelet_pod_worker_start_latency_microseconds
  • kubelet_pleg_relist_latency_microseconds
  • kubelet_pleg_relist_interval_microseconds
  • kubelet_runtime_operations
  • kubelet_runtime_operations_latency_microseconds
  • kubelet_runtime_operations_errors
  • kubelet_eviction_stats_age_microseconds
  • kubelet_device_plugin_registration_count
  • kubelet_device_plugin_alloc_latency_microseconds
  • kubelet_network_plugin_operations_latency_microseconds
스케줄 지표
  • scheduler_e2e_scheduling_latency_microseconds
  • scheduler_scheduling_algorithm_predicate_evaluation
  • scheduler_scheduling_algorithm_priority_evaluation
  • scheduler_scheduling_algorithm_preemption_evaluation
  • scheduler_scheduling_algorithm_latency_microseconds
  • scheduler_binding_latency_microseconds
  • scheduler_scheduling_latency_seconds
API 서버 지표
  • apiserver_request_count
  • apiserver_request_latencies
  • apiserver_request_latencies_summary
  • apiserver_dropped_requests
  • apiserver_storage_data_key_generation_latencies_microseconds
  • apiserver_storage_transformation_failures_total
  • apiserver_storage_transformation_latencies_microseconds
  • apiserver_proxy_tunnel_sync_latency_secs
Docker 지표
  • kubelet_docker_operations
  • kubelet_docker_operations_latency_microseconds
  • kubelet_docker_operations_errors
  • kubelet_docker_operations_timeout
Reflector 지표
  • reflector_items_per_list
  • reflector_items_per_watch
  • reflector_list_duration_seconds
  • reflector_lists_total
  • reflector_short_watches_total
  • reflector_watch_duration_seconds
  • reflector_watches_total
etcd 지표
  • etcd_helper_cache_hit_count
  • etcd_helper_cache_miss_count
  • etcd_helper_cache_entry_count
  • etcd_request_cache_get_latencies_summary
  • etcd_request_cache_add_latencies_summary
  • etcd_request_latencies_summary
변환 지표
  • transformation_latencies_microseconds
  • transformation_failures_total
기타 지표
  • admission_quota_controller_adds
  • crd_autoregistration_controller_work_duration
  • APIServiceOpenAPIAggregationControllerQueue1_adds
  • AvailableConditionController_retries
  • crd_openapi_controller_unfinished_work_seconds
  • APIServiceRegistrationController_retries
  • admission_quota_controller_longest_running_processor_microseconds
  • crdEstablishing_longest_running_processor_microseconds
  • crdEstablishing_unfinished_work_seconds
  • crd_openapi_controller_adds
  • crd_autoregistration_controller_retries
  • crd_finalizer_queue_latency
  • AvailableConditionController_work_duration
  • non_structural_schema_condition_controller_depth
  • crd_autoregistration_controller_unfinished_work_seconds
  • AvailableConditionController_adds
  • DiscoveryController_longest_running_processor_microseconds
  • autoregister_queue_latency
  • crd_autoregistration_controller_adds
  • non_structural_schema_condition_controller_work_duration
  • APIServiceRegistrationController_adds
  • crd_finalizer_work_duration
  • crd_naming_condition_controller_unfinished_work_seconds
  • crd_openapi_controller_longest_running_processor_microseconds
  • DiscoveryController_adds
  • crd_autoregistration_controller_longest_running_processor_microseconds
  • autoregister_unfinished_work_seconds
  • crd_naming_condition_controller_queue_latency
  • crd_naming_condition_controller_retries
  • non_structural_schema_condition_controller_queue_latency
  • crd_naming_condition_controller_depth
  • AvailableConditionController_longest_running_processor_microseconds
  • crdEstablishing_depth
  • crd_finalizer_longest_running_processor_microseconds
  • crd_naming_condition_controller_adds
  • APIServiceOpenAPIAggregationControllerQueue1_longest_running_processor_microseconds
  • DiscoveryController_queue_latency
  • DiscoveryController_unfinished_work_seconds
  • crd_openapi_controller_depth
  • APIServiceOpenAPIAggregationControllerQueue1_queue_latency
  • APIServiceOpenAPIAggregationControllerQueue1_unfinished_work_seconds
  • DiscoveryController_work_duration
  • autoregister_adds
  • crd_autoregistration_controller_queue_latency
  • crd_finalizer_retries
  • AvailableConditionController_unfinished_work_seconds
  • autoregister_longest_running_processor_microseconds
  • non_structural_schema_condition_controller_unfinished_work_seconds
  • APIServiceOpenAPIAggregationControllerQueue1_depth
  • AvailableConditionController_depth
  • DiscoveryController_retries
  • admission_quota_controller_depth
  • crdEstablishing_adds
  • APIServiceOpenAPIAggregationControllerQueue1_retries
  • crdEstablishing_queue_latency
  • non_structural_schema_condition_controller_longest_running_processor_microseconds
  • autoregister_work_duration
  • crd_openapi_controller_retries
  • APIServiceRegistrationController_work_duration
  • crdEstablishing_work_duration
  • crd_finalizer_adds
  • crd_finalizer_depth
  • crd_openapi_controller_queue_latency
  • APIServiceOpenAPIAggregationControllerQueue1_work_duration
  • APIServiceRegistrationController_queue_latency
  • crd_autoregistration_controller_depth
  • AvailableConditionController_queue_latency
  • admission_quota_controller_queue_latency
  • crd_naming_condition_controller_work_duration
  • crd_openapi_controller_work_duration
  • DiscoveryController_depth
  • crd_naming_condition_controller_longest_running_processor_microseconds
  • APIServiceRegistrationController_depth
  • APIServiceRegistrationController_longest_running_processor_microseconds
  • crd_finalizer_unfinished_work_seconds
  • crdEstablishing_retries
  • admission_quota_controller_unfinished_work_seconds
  • non_structural_schema_condition_controller_adds
  • APIServiceRegistrationController_unfinished_work_seconds
  • admission_quota_controller_work_duration
  • autoregister_depth
  • autoregister_retries
  • kubeproxy_sync_proxy_rules_latency_microseconds
  • rest_client_request_latency_seconds
  • non_structural_schema_condition_controller_retries

1.4.2.4. Prometheus의 높은 세분성 요청 기간 버킷

apiserver_request_duration_seconds_bucket 지표를 사용하여 추적한 높은 세분성 요청 기간 버킷이 Prometheus에서 삭제되었습니다. 이로 인해 다른 모니터링 구성 요소에서 발생하는 의미 있는 경고를 위한 버킷은 확보되고, 데이터 모델링 카디널리티는 크게 줄어듭니다.

1.5. 버그 수정

apiserver-auth

  • 이전에는 브라우저 기반 로그인만 구성되어 있을 때 사용자가 CLI에서 로그인하려고 하면 사용자 이름과 암호를 입력하라는 메시지가 표시되었습니다. 이제 브라우저 기반 로그인만 구성되어 있을 때 사용자가 CLI에서 로그인하려고 하면 로그인 토큰을 검색하는 방법을 알려주는 메시지가 표시됩니다. (BZ#1671604)
  • 이전에는 경쟁 조건으로 인해 탑재된 서비스 인증서가 변경/표시될 때 이를 알 수 없으므로 HTTPS 끝점의 지표 스크레이퍼에서 서비스 인증서를 신뢰하지 않았습니다. 경쟁 조건이 제거되었으며 library-go를 기반으로 하는 Operator에서 이제 서비스 인증서를 올바르게 다시 로드할 수 있습니다. (BZ#1779438)
  • 이전에는 IPv6 주소가 사용된 경우 Kubernetes API 서버 서비스 네트워크 주소가 올바르게 처리되지 않았습니다. IPv6 주소에서 서비스하는 경우 이제 OAuth 프록시에서 Kubernetes API 서버에 올바르게 연결됩니다. (BZ#1789462)

Build

  • 빌드를 시작하기 전에는 OpenShift 빌더에서 제공된 Dockerfile을 구문 분석하고, 빌드에 사용할 수정된 버전을 재구축하여 라벨을 추가하고, FROM 명령에 이름이 지정된 이미지 대체를 처리합니다. 생성된 Dockerfile로 ENVLABEL 명령을 올바르게 재구축할 수 없는 경우가 있었습니다. 생성된 Dockerfile에 원본에 없는 = 문자가 포함되어 빌드가 구문 오류로 인해 실패하는 경우가 있습니다. 이 버그 수정을 통해 수정된 Dockerfile을 생성할 때 ENVLABEL 명령의 원본 텍스트가 그대로 사용됩니다. 결과적으로 더 이상 빌드 프로세스로 인해 ENVLABEL 명령에서 구문 오류가 발생하지 않습니다. (BZ#1821860)
  • JenkinsPipeline 빌드 전략은 OpenShift Container Platform 4.3.0부터 더 이상 사용되지 않습니다. 대신 Jenkins 또는 OpenShift Pipelines에서 Jenkinsfiles를 직접 사용합니다. (BZ#1804976)
  • 빌드 라벨 생성 및 유효성 검사가 Kubernetes의 기대치를 완전히 충족시키지 못했습니다. 특정 BuildConfig 이름에서 라벨이 유효하지 않음 오류와 함께 빌드가 실패할 수 있습니다. 이 버그 수정을 통해 빌드 컨트롤러 및 빌드 API 서버가 업데이트되어 추가된 모든 빌드 라벨이 Kubernetes 라벨 기준을 충족하도록 전체 Kubernetes 검증 루틴이 사용됩니다. 따라서 유효하지 않은 빌드 라벨 값으로 인해 BuildConfig 이름이 유효한 빌드가 실패하지 않습니다. (BZ#1804934)
  • 이전에는 Samples Operator의 samplesRegistry 필드가 변경되어도 이미지 스트림 가져오기 오류가 계속 발생하는 경우, 이미지 스트림 상태를 확인하면 Samples Operator에서 구성을 변경하지 않은 것으로 표시되었습니다. 이제 Samples Operator의 samplesRegistry 필드를 변경해도 이미지 스트림 가져오기 오류가 계속 발생하는 경우, 이미지 스트림 상태에 새로운 실패 이유가 올바르게 표시됩니다. (BZ#1795705)
  • 이전에는 RUN 명령 후 OpenShift 빌더에서 생성된 각 바인드 마운트를 마운트 해제하려고 시도했으며 프로세스에서 발생한 오류를 기록했습니다. 이제 빌더에서 최상위 디렉터리만 마운트 해제하고 커널에서 바인드 마운트를 마운트 해제합니다. 오류가 더 이상 발생하지 않아 보고되지 않았습니다. (BZ#1772179)
  • 이전에는 빌드 전략에서 incrementalforcePull 플래그를 모두 true로 설정하면 빌드에서 푸시 이미지 인증서를 풀 이미지에 사용했습니다. 이로 인해 개인 레지스트리에서 이미지 가져오기가 실패합니다. 이제 incrementalforcePull을 모두 true로 설정해도 빌드 이미지에서 레지스트리 푸시 및 풀 인증서를 올바르게 관리합니다. (BZ#1774492)
  • oc new-build 명령에 안전하지 않은 이미지 참조 URL을 소스로 보장하기 위해 oc new-app 명령과 함께 사용할 수 있는 동일한 --insecure-registries 플래그가 없었습니다. 이로 인해 빌드의 기본 이미지로 제공된 HTTP 기반 이미지 참조를 사용하여 HTTPS 연결을 시도하면 oc new-build 호출에서 오류가 발생했습니다. 이제 oc new-build 명령에 --insecure-registries 옵션이 추가되어, 안전하지 않은 레지스트리를 기본 이미지로 참조하는 빌드를 생성할 수 있습니다. (BZ#1780714)

Cloud Credential Operator

  • CCO(Cloud Credential Operator)는 CCO가 비활성화된 경우에도 조건과 함께 CredentialsRequests에 대해 보고합니다. Operator를 사용하지 않도록 구성한 경우에도 경보가 표시됩니다. 이 버그 수정을 통해 CCO가 사용 안 함으로 설정된 경우 조건이 더 이상 보고되지 않습니다. (BZ#1794536)
  • CredentialsRequest를 조정하면 이미 존재하는 역할 할당 생성이 시도되고, Microsoft Azure 로그에 create role assignment 오류가 표시됩니다. 이 버그 수정을 통해 기존 역할 할당이 있는지 확인하여 이미 존재하는 역할 할당을 생성하지 않습니다. 결과적으로 Azure 로그에서 오류 메시지가 줄어듭니다. (BZ#1776079)

콘솔 Kubevirt 플러그인

  • 주석이 없는 VM 템플릿을 선택하면 VM 마법사가 예기치 않게 종료되었습니다. VM 마법사가 주석이 없는 템플릿에서도 작동합니다. (BZ#1776190)
  • 이전에는 URL을 디스크 이미지 소스로 사용하는 VM 템플릿을 생성할 때 템플릿을 사용하면 생성된 VM에 PVC(Persistent Volume Claim)가 생성되지 않았습니다. 이제 이러한 템플릿에서 새 VM을 생성할 때 PVC가 복제되어 디스크 이미지로 사용됩니다. (BZ#1779116)
  • 이전에는 템플릿에서 메모리 및 스토리지의 값을 해석할 때 서로 다른 단위가 사용되어 VM 생성 요청이 실패하는 경우가 있었습니다. 이제 VM 템플릿의 메모리 및 스토리지 값에 Gi 단위가 일관되게 사용됩니다. (BZ#1792101)
  • 이전에는 VM 마법사에서 VM 템플릿의 디스크 구성이 무시되었습니다. 이제 템플릿에서 지정된 경우 VM 마법사에 디스크 구성이 사용됩니다. (BZ#1782434)
  • 이전에는 UI에서 실패한 VM 마이그레이션을 성공한 것으로 보고했습니다. 이제 VM 마이그레이션 시 VM 마이그레이션이 실패하면 UI에서 올바르게 보고합니다. (BZ#1785344)
  • 이전에는 VM에 여러 개의 CD-ROM 드라이브가 정의되어 있는 경우, 저장 후 각 CD-ROM에 대한 대화 상자를 다시 열어야 각 CD-ROM 드라이브를 제거할 수 있었습니다. 이제 저장 후 대화 상자를 다시 열지 않고도 여러 CD-ROM 드라이브를 제거할 수 있습니다. (BZ#1786070)
  • 이전에는 YAML이 유효하지 않았기 때문에 VM 마법사에서 사용한 기본 YAML로 VM을 생성할 수 없었습니다. 이제 마법사를 사용하여 VM을 생성할 때 기본 VM 템플릿을 사용할 수 있습니다. (BZ#1808304)
  • 이전에는 템플릿 YAML의 부팅 순서를 인식하지 못했기 때문에 비주얼 편집기를 사용하여 부팅 순서를 수정할 수 없었습니다. 이제 비주얼 편집기를 사용할 때 부팅 순서를 수정할 수 있습니다. (BZ#1789269)

이미지

  • ImageStreamTags에 액세스할 수 없는 경우 oc tag 명령으로 ImageStreams가 업데이트되지 않았습니다. 이 명령은 새 태그가 생성되었지만 보고되지 않았다고 보고합니다. 이 버그 수정을 통해 oc tag 명령이 업데이트되어 ImageStreamTagAPI에 대한 권한이 없는 경우에도 태그가 실제로 생성됩니다. (BZ#1746149)
  • base64가 채워졌는지 여부를 탐지하기 위해 디코더에 문자열 길이가 사용되었습니다. 이로 인해 디코더에서 공백이 포함된 pull secret을 처리할 수 없었습니다. 이 버그 수정에서는 대신 문자열에 후행 채우기 기호가 있는지 확인합니다. 따라서 공백이 있는 pull secret을 사용하여 이미지를 끌어올 수 있습니다. (BZ#1776599)

이미지 레지스트리

  • 이전에는 이미지 레지스트리 Operator가 비관리 상태인 경우 새 버전을 보고하지 않아 업그레이드가 차단되었습니다. 이 버그 수정을 통해 이미지 레지스트리 Operator가 비관리 상태일 때도 정확한 버전을 보고하여 업그레이드가 수행됩니다. (BZ#1791934)
  • 이전에는 nodeca daemonset에서 NoSchedule 오류를 허용하지 않아 노드에서 Pod가 누락되었습니다. 이 버그 수정을 통해 오류 노드에 nodeca daemonset의 업데이트가 수신됩니다. (BZ#1785115
  • 이미지 레지스트리 Operator가 RWO 볼륨과 호환되지 않는 롤링 업데이트 전략을 사용하고 있어 RWO 볼륨을 사용할 수 없었습니다. 이 버그 수정을 통해 이미지 레지스트리 Operator에서 롤링 업데이트 전략을 선택할 수 있으며, 이제 비고가용성 구성 (예: 하나의 복제본만 있는 구성)에서 RWO 볼륨과 함께 배포할 수 있습니다. (BZ#1798759)
  • 이전에는 이미지 레지스트리 Operator에서 스토리지를 제거할 때 스토리지 상태를 정리하지 않았습니다. 레지스트리가 Managed 상태로 다시 전환되면 스토리지를 부트스트랩해야 함을 탐지할 수 없었습니다. 이 버그 수정으로 이미지 레지스트리 Operator에서 스토리지 상태를 정리하여 Operator에서 Managed 상태로 다시 전환될 때 스토리지를 생성할 수 있습니다. (BZ#1787488)

설치 관리자

  • 설치 관리자 프로비저닝 인프라를 사용하여 AWS에서 프로비저닝한 이전 버전의 클러스터에는 TCP 및 UDP 포트 30000-32767의 제어 플레인 호스트에서 작업자로의 트래픽을 허용하는 보안 그룹 규칙이 포함되어 있지 않습니다. 이로 인해 새로운 OVN 네트워킹 구성 요소가 의도한 대로 작동하지 않았습니다. 이제 필요한 보안 그룹 규칙이 이 클러스터에 추가되어 TCP 및 UDP 포트 30000-32767의 제어 플레인과 작업자 머신 간 통신이 가능하며, OVN 네트워킹 구성 요소가 의도한 대로 작동합니다. (BZ#1763936)
  • 이전에는 Red Hat Enterprise Linux(RHEL) 노드의 업그레이드 프로세스가 차단되었습니다. 프록시를 통해 이미지를 끌어올 수 없는 경우 불필요한 머신 구성 적용 단계가 실패했습니다. 불필요한 단계가 제거되었으며, 프록시 뒤에서 RHEL 노드로 업그레이드할 수 있습니다. (BZ#1786297)
  • 이전에는 버전 4.2.12의 RHEL 7 노드를 업그레이드할 때 MCO에서 머신 구성이 올바르게 업데이트하지 않았습니다. 패키지에서 로컬 디스크에 업데이트된 파일을 설치하기 때문에 MCO에서 RHEL 노드의 구성 업데이트를 처리하지 않았습니다. 이제 머신 구성 적용 단계가 복원되었으며, 이미지 끌어오기 프로세스를 프록시 뒤에서 완료할 수 있습니다. 패키지를 업데이트한 후 머신 구성이 올바르게 적용되고 RHEL 7 노드가 업그레이드됩니다. (BZ#1792139)

kube-apiserver

  • 집계된 API 서버 상태 지표에 대한 지표는 있지만 이에 대한 경보는 없었습니다. 이제 집계된 API에서 단기간에 너무 많은 오류를 보고하면 서비스 가용성이 너무 자주 변경됨을 나타내는 오류가 표시됩니다. (BZ#1772564)

kube-controller-manager

  • 이전 버전에서는 인증서가 올바르게 전파되지 않았기 때문에 MITM (Man-in-the-Middle) 프록시 뒤에 클라우드 공급자를 초기화할 수 없었습니다. 이제 인증서가 kube-controller-manager에 올바르게 전파되고 클라우드 공급자가 MITM 프록시에서 정상적으로 작동합니다. (BZ#1772756)

로깅

  • 이전에는 Fluentd 플러그인을 통해 syslog 프로토콜(RFC 3164)을 사용하여 로그를 외부 시스템으로 전달할 수 있었습니다. OpenShift Container Platform 4.3에 추가된 로그 전달 API로 인해 syslog를 사용하여 로그 전달을 구성하는 프로세스가 변경되었습니다. 결과적으로 OpenShift Container Platform 4.2와 동일한 방법으로 로그를 전달할 수 없었습니다. 이러한 변경을 해결하기 위해 syslog 프로토콜을 사용하여 로그를 전달할 수 있도록 새로운 프로세스가 고안되었습니다. 이 변경 사항은 OpenShift Container Platform 4.3.7로 복귀되었습니다. 따라서 로그를 외부 syslog 서버로 계속 전달할 수 있습니다. (BZ#1799024)

Machine Config Operator

  • HAProxy 제한 시간 값은 Kuryr와 같은 일부 애플리케이션에 민감할 수 있기 때문에 API LB에 24시간이라는 제한 시간 값이 사용되었습니다. HAProxy 재로드 작업이 단기간에 여러 번 트리거되면 많은 HAProxy 프로세스가 누적될 수 있었습니다. 이 버그 수정을 통해 기본 제한 시간인 120초가 지나면 아직 종료되지 않은 이전 HAProxy 프로세스로 SIGTERM이 강제 전송됩니다. 이로 인해 수명이 긴 중복 HAProxy 프로세스 수가 줄어듭니다. (BZ#1771566)

Metering Operator

  • Metering 작업은 S3 버킷 데이터를 관리하거나 삭제하지 않습니다. 보고서를 삭제할 때 Metering 데이터를 저장하는 데 사용된 S3 버킷을 수동으로 정리해야 합니다. S3 버킷에 저장된 보고 데이터를 수동으로 정리하지 않고 동일한 보고서를 다시 생성하는 경우, 원래 보고 데이터가 계속 남아 있어 중복된 행이 발생합니다. (BZ#1728350)

모니터링

  • OAuth 프록시 컨테이너 readiness 프로브가 잘못 구성되었기 때문에 컨테이너 로그에 10초마다 오류 메시지가 표시되었습니다. readiness 프로브가 올바른 설정으로 구성되었습니다. 따라서 로그에 오류 메시지가 표시되지 않습니다. (BZ#1658899)
  • cluster-reader 역할에 노드 또는 Pod 지표를 볼 수 있는 권한이 없으므로, 해당 역할에 바인딩된 사용자가 oc top node와 같은 명령을 사용하여 지표에 액세스할 수 없습니다. 지표를 볼 수 있는 권한을 포함하도록 cluster-reader 역할이 업데이트되었습니다. (BZ#1723662)
  • 실험적인 새 Prometheus 사용자 인터페이스가 업스트림에 도입되었습니다. 새 실험적 인터페이스는 완전히 테스트되지 않았으며 안정적이지 않았습니다. 따라서 실험적 인터페이스에서 기본 인터페이스로 전환하면 빈 페이지가 반환되었습니다. 이 문제를 방지하기 위해 실험적 UI에 대한 링크가 숨겨져있습니다. 그 결과 실험적 Prometheus 인터페이스에 더 이상 액세스할 수 없습니다. (BZ#1781415)
  • OpenShift Container Platform에서 일부 레코딩 규칙을 잘못 평가했습니다. 그 결과 레코딩 규칙에서 생성된 지표가 누락되었습니다. 레코딩 규칙이 수정되었습니다. 이제 모든 레코딩 규칙이 성공적으로 평가됩니다. (BZ#1807843, BZ#1779324)

네트워킹

  • 이전의 Egress IP 버그 수정에서는 Egress IP를 제거한 후 완전히 정리하지 않아 무해한 추가 iptables 규칙이 노드에 남아 있을 수 있었습니다. 이 버그 수정을 사용하면 더 이상 사용되지 않는 추가 규칙이 제거됩니다. (BZ#1787488)
  • 이전에는 대문자가 포함된 httpProxy 또는 httpsProxy 호스트 이름을 사용하면 RFC 3986을 위반하는 CNO 오류가 발생했습니다. 결과적으로 CNO는 제대로 작동하지 않았습니다. 이 버그 수정에서는 RFC 3986을 올바르게 구현하는 golangs url.ParseRequestURI와 몇 개의 추가 RFC를 사용하여 구문 분석합니다. 그 결과 이제 httpProxy 및 httpsProxy에서 대문자를 사용할 수 있습니다. (BZ#1802606)
  • 이전에는 SDN에 사용되는 kubelet에서 사용된 Kubeconfig의 경로가 변경되면 SDN에 빈 파일의 구문 분석을 시도하는 null 역참조가 포함되었습니다. 이 버그가 수정되어 SDN에서 기존 경로와 새 경로를 모두 처리할 수 있습니다. (BZ#1781707)

노드

  • 이전에는 kubelet 인증서가 만료되었을 때 경보가 발행되지 않았습니다. 이로 인해 관리자가 이를 인식하지 못한 채 kubelet의 작동이 중지되었습니다. 이 수정에서는 만료된 인증서를 보고하도록 server_expiration_renew_errors 지표를 추가합니다. (BZ#1767523)
  • Conmon이 kubelet exec liveness 프로브에서 시간을 초과했습니다. 이로 인해 일부 exec 프로브가 실패하여 컨테이너가 강제 종료되고 다시 시작되었습니다. exec liveness 프로브가 이제 예상대로 작동합니다. (BZ#1817568)
  • Pod를 복원할 수 없는 경우 노드 재부팅 시 CRI-O에서 IP 주소를 올바르게 정리하지 못했습니다. 이로 인해 노드 IP가 소진되어 Pod가 시작되지 않습니다. 이제 Pod를 다시 시작한 후 복원할 수 없는 경우, Pod 네트워크가 삭제되고 나중에 사용할 수 있도록 IP 주소가 해제됩니다. (BZ#1781824)
  • CRI-O가 시작되지 않으므로 RHEL 7을 OpenShift 컨테이너 플랫폼 클러스터에 추가할 수 없었습니다. 이는 Conmon 패키지 문제로 인한 것입니다. 이 버그 수정을 통해 이제 Conmon 및 RHEL 7을 OpenShift Container Platform 클러스터에 결합할 수 있습니다. (BZ#1809906)
  • HPA(Horizontal Pod Autoscaler)에 종료된 init 컨테이너의 지표가 수신되지 않았습니다. 이 문제는 종료된 init 컨테이너에 대한 0부터 시작하는 지표를 제출하여 HPA에서 init 컨테이너를 사용하여 Pod에서 분석을 수행할 수 있도록 허용하여 해결되었습니다. (BZ#1814283)
  • kubelet 지표 끝점에서 주기적으로 500 상태 코드를 반환하여 Prometheus에서 kubelet 끝점 및 노드에 대한 지표를 수집하지 않았습니다. 500 코드는 정지된 컨테이너가 지표 스트림에 혼합되어 발생하며 이로 인해 중복된 지표가 삽입됩니다. 이 버그는 수정되었으며 이제 kubelet에서 지표가 올바르게 보고됩니다. (BZ#1748073)

oc

  • OpenShift CLI 내부 코드에서 새 버전의 API를 처리하지 않아 oc logs 명령을 실행하면 일부 리소스에서 오류가 발생했습니다. 이제 OpenShift CLI에서 알려진 모든 API 유형 및 버전을 지원하므로 모든 리소스에서 oc logs가 작동합니다. (BZ#1774366)
  • --since 인수와 함께 oc adm node-logs 명령을 실행하면 오류가 발생했습니다. 이는 예상 타임스탬프 형식에 오타가 있었기 때문입니다. 오타가 수정되었으며 oc adm node-logs--since 인수와 함께 작동됩니다. (BZ#1779563)

openshift-apiserver

  • 이전에는 Helm 3.0.0+가 OpenShift 오브젝트에서 작동하지 않았습니다. 이로 인해 유효한 Helm 차트를 배포하려고 할 때 오류가 발생했습니다. 이 업데이트를 통해 이제 OpenShift 오브젝트에 Helm 차트를 배포할 수 있습니다. (BZ#1773682)

openshift-controller-manager

  • 이전에는 openshift-controler-manager 지표가 1.16 Kubernetes Prometheus 레지스트리에 제대로 등록되지 않았습니다. 이로 인해 OpenShift 제어 플레인에 대한 지표가 누락되었습니다. 이 업데이트를 통해 openshift-controller-manager 지표가 올바르게 등록되고 누락된 OpenShift 제어 플레인 지표가 복원되었습니다. (BZ#1810304)
  • 이전에는 연결된 토큰이 삭제될 때 pull secret이 삭제되지 않는 경우가 있었습니다. 이로 인해 pull secret이 Kubernetes 서비스 계정과 연결된 상태로 유지되었습니다. 이 업데이트에서는 pull secret 소유자 및 연결된 토큰 secret에 대한 참조가 설정되었습니다. 이제 pull secret이 삭제되면 연결된 토큰도 삭제됩니다. (BZ#1806792)
  • 이전에는 내부 레지스트리에서 pull secret을 생성하는 데 대한 속도 제한이 낮았습니다. 이로 인해 단기간에 많은 네임스페이스를 생성할 때 대기 시간이 길어졌습니다. 이 업데이트를 통해 내부 레지스트리에서 pull secret을 생성하는 데 대한 속도 제한이 높아졌습니다. 부하가 큰 상태에서도 pull secret을 신속하게 생성할 수 있습니다. (BZ#1819849)

RHCOS

  • RHEL CoreOS에서 네트워크 팀 구성이 지원됩니다. RHEL CoreOS에 teamd 및 NetworkManager-team RPM이 추가되어 팀 구성 네트워크 장치를 설정하고 관리할 수 있습니다. (BZ#1758162)

Samples

  • registry.redhat.io에서는 IPv6를 지원하지 않았습니다. 즉, 모든 Red Hat 샘플이 registry.redhat.io에서 호스팅되므로 Samples Operator에서 이미지 스트림 설치를 시도하지 않았습니다. IPv6는 Red Hat 및 OpenShift Container Platform의 핵심 이니셔티브이므로 Samples Operator는 더 이상 IPv6에서 OpenShift Container Platform 설치를 중단하지 않습니다. (BZ#1788676)
  • 이전에는 Samples Operator가 s390x 또는 ppc64le에서 실행되는 경우 버전이 보고되지 않아 해당 아키텍처에 대한 설치가 완료되지 않았습니다. 이 수정을 통해 Samples Operator에서 버전을 올바르게 보고하고, s390x 또는 ppc64le에서 더 이상 설치를 중단하지 않습니다. (BZ#1779933)
  • 이전에는 최신 Java 11 이미지 스트림 태그가 이미지 스트림 세부 사항 페이지의 버전에 올바르게 연결되지 않아 OpenShift Container Platform 웹 콘솔에서 해당 이미지 스트림 태그를 검사할 수 없었습니다. 이 수정을 통해 이제 웹 콘솔에서 Java 11의 올바른 이미지 스트림 태그 스펙을 적절하게 검사할 수 있습니다. (BZ#1778613)
  • 이전에는 이미지 스트림 시작 직후 이미지 스트림 메타데이터가 업데이트되기 전에 컨트롤러 관리자에서 이미지 스트림에 액세스하면 이미지 스트림에 대한 로컬 참조 설정이 무시될 수 있었습니다. 이로 인해 개인 레지스트리에서 지원하는 이미지 스트림에 대한 요청이 실패했습니다. 이 업데이트로 메타데이터 초기화가 완료되면 컨트롤러 관리자에서 이미지 스트림 캐시를 새로 고칩니다. 따라서 시작 직후에도 정확한 로컬 참조 이미지 스트림 정책이 생성됩니다. (BZ#1775973)

스토리지

  • Local Storage Operator에 storeClassName 대신 storage-class 주석이 사용된 경우, Pod를 예약할 수 없고 PVC가 보류 중인 상태로 남아 있었습니다. 이 수정으로 Pod와 해당 PVC를 평가할 때 Kubernetes 스케줄러에서 volume.beta.kubernetes.io/storage-classPVC.Spec.StorageClassName을 모두 확인합니다. 이제 베타 주석을 사용하여 StorageClass를 참조하는 Pod를 예약하고 실행할 수 있습니다. (BZ#1791786)
  • 이전에는 CSI 드라이버에서 볼륨 마운트를 완료하기 전에 시간이 초과된 상태에서 Pod를 삭제하는 경우, Kubernetes에서 CSI 볼륨을 마운트 해제하지 않았습니다. 이로 인해 Kubernetes에서 이를 인식하지 못하고 볼륨이 노드에 마운트되었습니다. 따라서 볼륨을 다른 곳에 마운트할 수 없었습니다. 이 수정으로 인해 Kubernetes는 CSI 드라이버에서 시간 초과 또는 기타 유사한 일시적 오류를 반환한 후 최종 성공 또는 오류를 기다립니다. 이제 Kubernetes에서 볼륨이 마운트되었는지 또는 마운트 해제되었는지 인식하고, Pod가 삭제될 때 발생할 수 있는 남은 마운트를 정리합니다. (BZ#1745776)

템플릿

  • oc new-app 또는 oc process와 같은 템플릿 처리 명령에 --param-file 옵션을 사용할 때 64K보다 큰 파일을 완전히 읽을 수 없었습니다. 이로 인해 --param-file을 사용한 oc 기반 템플릿을 처리할 수 없었습니다. OpenShift Container Platform은 이제 --process-file에서 지정하는 파일 크기를 확인하고, 전체 파일을 읽는 데 사용되는 매개변수를 확장할 수 있습니다. 이제 64K보다 큰 파일을 가리키는 --param-file을 사용한 oc 기반 템플릿 처리가 작동합니다. (BZ#1748061)
  • 이전에는 프로젝트 생성에 사용된 new-app/new-build 예제 중 하나가 FIPS와 호환되지 않아 FIPS 환경에서 오류가 발생했습니다. 이제 새 프로젝트 생성 시 FIPS와 호환되는 new-app/new-build 예제만 표시되므로 사용자가 FIPS 환경에서 임의의 예제를 사용할 수 있습니다. (BZ#1774318)

웹 콘솔 (관리자 관점)

  • 이전에는 cluster-admin 권한이 없는 사용자에 대해 OpenShift 콘솔 빌드 페이지의 Rebuild 작업이 잘못 비활성화되었습니다. 이제 이 문제가 해결되어 빌드 복제 권한이 있는 일반 사용자에게 작업이 올바르게 활성화됩니다. (BZ#1774842)
  • 이전에는 클러스터 관리자만 콘솔 YAML 편집기에서 ConsoleYAMLSample 리소스를 사용하여 생성된 예제 YAML 템플릿을 볼 수 있었습니다. 이제 모든 사용자가 이러한 템플릿을 볼 수 있습니다. (BZ#1783163)
  • CronJobs 목록 페이지에서 Starting Deadlines Seconds 또는 Concurrency Policy 필드를 기준으로 정렬을 수행하면 올바르게 정렬되지 않았습니다. sortField가 업데이트되어 이제 CronJobs를 올바르게 정렬할 수 있습니다. (BZ#1787096)
  • 콘텐츠 복제를 생성하는 조건으로 인해 로컬 볼륨 페이지에 중복된 콘텐츠가 표시되었습니다. 이제 상태 설명자로부터 해당 조건이 제거되어 콘텐츠가 복제되지 않습니다. (BZ#1776131)
  • 역할 바인딩 페이지에 프로젝트가 없는 사용자가 클릭할 수 없는 바인딩 생성 버튼이 있었습니다. 이제 프로젝트가 없는 사용자에게 바인딩 생성 버튼이 표시되지 않습니다. (BZ#1785487)
  • 이전에는 OpenShift Container Platform 콘솔의 피연산자 생성 폼에서 OLM 설명자가 있는 일부 필수 필드에서 필요한 빨간색 별표가 누락되었습니다. 이제 모든 필수 필드에 라벨이 올바르게 지정되어 있습니다. (BZ#1779858)
  • 이전에는 OpenShift Container Platform 콘솔에서 머신 또는 복제 수 값에 음수 값을 설정할 수 있었습니다. 이제 0보다 작은 값을 설정할 수 없습니다. (BZ#1780367)
  • 이전에는 배포 구성 페이지에서 포드 수를 업데이트한 후 조치를 클릭하고 개수 편집을 클릭하여 동일한 페이지에서 다시 업데이트하는 경우, PodRing GUI 구성 요소에 올바른 Pod 수가 반영되지 않았습니다. 예를 들어, 배포 구성 페이지에서 개수 편집을 사용하여 Pod 수가 5개에서 10개로 증가한 후 사용자가 "위로" 화살표를 사용하여 PodRing 구성 요소에서 개수를 늘리면 PodRing 카운터가 10에서 11이 아닌 5에서 6으로 잘못 증가했습니다. 이 업데이트에서는 배포 구성 페이지에서 개수 편집을 사용하여 변경하는 경우 PodRing 구성 요소에 올바르게 업데이트된 Pod 수가 표시됩니다. 또한 사용자가 PodRing 구성 요소에서 위(up) 또는 아래(down) 화살표를 클릭하면 Pod 수가 정확히 업데이트됩니다. (BZ#1787210)
  • 이전에는 사용자가 웹 콘솔의 설치됨 Operator 페이지에서 cluster-scoped 피연산자를 편집할 수 없었습니다. 대신 피연산자 YAML 편집기의 웹 브라우저에 HTTP 404 Not Found 클라이언트 오류 응답 코드가 표시되었습니다. 이 업데이트를 통해 웹 콘솔에서 피연산자 YAML 편집기의 새 웹 브라우저가 올바르게 열려 사용자가 여기에서 cluster-scoped 피연산자를 업데이트할 수 있습니다. (BZ#1781246)
  • 이전에는 ConsoleExternalLogLink URL 템플릿에 변수 인스턴스가 여러 개 있을 때 OpenShift 웹 콘솔에서 모든 인스턴스를 대체하지 않았습니다. 대신 처음 나온 변수만 대체했습니다. 이 업데이트를 통해 콘솔에서 템플릿의 모든 변수 인스턴스를 올바른 값으로 적절하게 대체합니다. (BZ#1781827)
  • 이전에는 웹 콘솔의 Operator Details 페이지에서 Subscription Overview의 InstallPlan 리소스에 대한 링크가 손상되었습니다. 이로 인해 사용자가 웹 콘솔에서 InstallPlan을 승인하기 어려웠습니다. 이제 InstallPlan 승인 링크(예: 1 requires approval출력을 표시하는 링크)가 올바르게 작동합니다. (BZ#1783651)
  • 이전에는 웹 콘솔의 OperatorHub Details 페이지에 있는 소스 탭에서 소스 이름으로 필터링하면 오류가 발생했습니다. 필터가 수정되어 이제 소스 이름을 입력하면 예상대로 작동합니다. (BZ#1786418)
  • 이전에는 웹 콘솔의 탐색 페이지에서 API 문서가 끝점 리소스에서 누락되었습니다. 이제 설명 및 스키마 정보와 같은 API 문서가 끝점 리소스로 제공됩니다. (BZ#1794754)
  • 이전에는 Operator에서 잘못된 OLM 설명자를 설정한 경우 웹 콘솔에 피연산자가 표시되지 않았습니다. 그 결과 예상된 웹 콘솔 페이지에서 오류가 발생했습니다. 이 업데이트를 사용하면 유효하지 않은 OLM 설명자가 허용되며 콘솔에 피연산자 세부 정보가 올바르게 표시됩니다. (BZ#1797727)
  • 이전에는 일부 상태 값과 연결된 아이콘이 없었습니다. 이로 인해 일부 값에는 아이콘이 표시되고, 일부 값에는 표시되지 않았습니다. 이제 아이콘이 정의되어 있으며 모든 값과 함께 표시됩니다. (BZ#1780629)
  • 이전에는 콘솔에서 라우팅 라벨에 특수 문자가 있는지 확인하지 않아 다음 오류가 발생할 수 있었습니다.

    AlertmanagerFailedReload Alert:
    Reloading Alertmanager's configuration has failed for openshift-monitoring/alertmanager-main-x.

    이제 수신자 생성 폼의 라벨 이름에 유효한 문자만 사용할 수 있습니다. (BZ#1784725)

  • 이전에는 Operator가 잘못된 K8sResourceLink OLM 설명자를 선언하는 경우 OpenShift 콘솔에 빈 페이지가 표시되었습니다. 이제 콘솔에서 잘못된 K8sResourceLink 설명자를 허용하여 빈 페이지가 표시되지 않습니다. (BZ#1795407)
  • 이전에는 웹 UI의 필수 Operator 리소스를 수정해도 해당 Operator의 YAML 파일이 업데이트되지 않았습니다. YAML 파일이 예상대로 업데이트됩니다. (BZ#1797769)
  • 이전에는 경보가 꺼진 후 알림 서랍에 남아 있었습니다. 해제된 경보가 더 이상 알림 서랍에 남아 있지 않습니다. (BZ#1808062)
  • OpenShift 콘솔 빌드의 버그로 인해 특정 페이지에서 런타임 오류가 발생하는 경우가 있었습니다. 이 버그가 수정되었습니다. (BZ#1818978)
  • 쿼리 브라우저의 결과는 웹 콘솔에서 하드 코드 형식으로 정렬되므로 사용자 정의된 정렬 결과가 예상 결과와 다를 수 있습니다. 하드 코딩 된 정렬이 제거되어 쿼리 결과에 모든 사용자 지정 정렬이 반영됩니다. (BZ#1808437)
  • 콘솔의 ComputeMachine Config PoolsCreate Machine Config Pool 버튼을 사용하여 새 MachineConfigPool을 생성하면 MachineConfigPool이 노드와 일치하지 않습니다. 템플리트가 spec.machineSelector 키를 사용하여 일치시킬 노드를 선택하기 때문입니다. 그러나 이 값은 API에서 인식되지 않으며 노드를 선택하기 위한 올바른 값은 spec.nodeSelector입니다. GUI가 올바른 노드와 일치하는 머신 선택기를 표시할 수 있도록 노드 선택 키가 업데이트되었습니다. (BZ#1818944)
  • 이전에는 OpenShift 콘솔 Pod 터미널이 Unicode 문자를 올바르게 처리하지 못했습니다. 이 문제는 해결되었으며 이제 Unicode 문자가 올바르게 표시됩니다. (BZ#1821285)
  • 이전에는 OpenShift 콘솔 워크로드 페이지의 볼륨 테이블이 페이지를 스크롤 할 때 부분적으로 사라질 수 있었습니다. 이 버그가 수정되었습니다. (BZ#1822195)
  • 이전에는 보고서 및 보고서 쿼리를 작성하는데 사용된 기본 템플리트가 v1 대신 apiVersion v1alpha 를 사용했습니다. 알파 버전의 템플릿은 여전히 작동하지만 언제든지 지원이 중단될 수 있습니다. apiVersion : metering.openshift.io/v1 을 사용하도록 템플릿이 업데이트되었습니다. (BZ#1772694)
  • 웹 콘솔의 대시 보드를 클릭하고 대시 보드에서 탐색 항목을 선택할 때 선택된 두 탐색 항목이 모두 강조 표시됩니다. 이 버그 수정은 새로운 CSS 규칙을 적용하여 여러 탐색 항목이 동시에 강조 표시되지 않도록하여 활성 탐색 항목 만 강조 표시되도록합니다. (BZ#1774702)

웹 콘솔 (개발자 관점)

  • Microsoft Edge 브라우저에서 스크롤에 사용된 기능을 인식하지 못했습니다. 로그 화면을 로드할 수 없어 오류가 발생했습니다. 화면 reader 지원이 활성화되었으며 로그가 렌더링됩니다. (BZ#1777980)
  • Service YAML 파일과 같은 서버리스 리소스는 v1 대신 v1beta1으로 나열됩니다. 그러나 v1beta1은 더 이상 사용되지 않습니다. 이 버그 수정으로 apiVersionv1로 업데이트됩니다. (BZ#1796421)
  • 토폴로지의 SBR(서비스 바인딩 요청)은 토폴로지 뷰의 Revisions과 연결되어 있습니다. 따라서 새 수정에서는 연결된 secret을 가져오지 않습니다. SBR은 secret이 삽입되고 새 수정이 생성되는 knative 서비스를 거쳐야 합니다. (BZ#1798288
  • KnativeServing 리소스 serving.knative.dev의 API 그룹은 더 이상 사용되지 않으며, Serverless Operator 버전 1.4에서 operator.knative.dev로 변경되었습니다. Serverless Operator의 다음 릴리스에서는 serving.knative.dev가 더 이상 사용되지 않습니다. (BZ#1800598
  • 컨테이너 이미지 배포에서 내부 이미지 스트림을 knative로 선택한 경우, knative는 새 이미지 스트림을 만들려고 시도하는데 실패할 수 있습니다. 내부 이미지 스트림을 knative 서비스로 배포할 수 없습니다. 내부 이미지 선택을 위해 새 이미지 스트림을 생성하지 마십시오. 이미 존재합니다. (BZ#1808280
  • Kubernetes 배포에서 외부 이미지 레지스트리의 이미지에 openshift / hello-world : 1.0과 같은 태그가 있으면 태그가 적용되지 않았습니다. 태그가 있는 외부 이미지를 가져올 수 없었습니다. 이 주요 수정을 통해 이제 배포에 적합한 태그가 전달됩니다. (BZ#1801736
  • 이전에는 롤아웃이 연속해서 두 번 실패하면 Topology 뷰에 마지막 활성 수정이 표시되는 대신 실패한 Pod가 표시되었습니다. 이 버그 수정으로 롤아웃 실패 시 마지막 활성 버전이 표시됩니다. (BZ#1760828)
  • 이전에는 애플리케이션을 생성할 때 네임스페이스의 기존 이미지 스트림이 탐지되지 않았습니다. 이러한 현상은 클러스터 수준의 권한이 제한된 사용자가 Add 페이지의 내부 레지스트리* 옵션에서 Container ImageImage 이름을 사용한 경우 발생했습니다. 이제 이미지 스트림 가져오기 논리가 클러스터 수준에서 네임스페이스 수준으로 이동하여, 네임스페이스에 대한 권한이 있는 사용자는 해당 네임스페이스에서 이미지 스트림을 볼 수 있습니다. (BZ#1784264)
  • Knative 서비스 및 수정 리소스의 Topology 뷰에 바인딩 또는 비주얼 커넥터가 없으므로 Knative 워크로드를 다른 워크로드에 연결할 수 없었습니다. 이제 이러한 리소스의 Topology 뷰에 커넥터가 있어 다른 워크로드에 연결할 수 있습니다. (BZ#1779201)
  • Eclipse Che Operator가 설치 및 구성된 경우 Topology 뷰에 Che 아이콘 대신 Git 아이콘이 표시되었습니다. 여기에는 아이콘을 클릭하여 Che 작업 공간에 액세스할 수 있다는 표시가 없었습니다. 이제 Che가 구성되어 있는 경우 Topology 뷰에 Che 아이콘이 올바르게 표시되어 Che 작업 공간에 보다 쉽게 액세스할 수 있습니다. (BZ#1780338)
  • Topology 뷰가 열려 있는 상태에서 CLI를 사용하여 Knative 서비스를 생성하면 GUI 오류가 발생했습니다. GUI 오류 없이 이 워크로드를 처리하기 위해 점검이 추가되었습니다. (BZ#1781188)
  • 서버 측 오류가 발생했을 때 내부 레지스트리 기능의 오류 메시지가 명확하지 않았습니다. 오류 메시지가 개선되어 문제의 원인을 식별하는 데 도움이 됩니다. (BZ#1787492)

1.6. 기술 프리뷰 기능

이 릴리스의 일부 기능은 현재 기술 프리뷰 단계에 있습니다. 이러한 실험적 기능은 프로덕션용이 아닙니다. 해당 기능은 Red Hat 고객 포털의 지원 범위를 참조하십시오.

기술 프리뷰 기능 지원 범위

아래 표에서 기능은 다음 상태로 표시됩니다.

  • TP: 기술 프리뷰
  • GA: 일반 사용 가능
  • -: 사용할 수 없음

표 1.2. 기술 프리뷰

기능OCP 4.2OCP 4.3OCP 4.4

Prometheus 클러스터 모니터링

GA

GA

GA

PTP(정밀 시간 프로토콜)

-

TP

TP

CRI-O for runtime Pods

GA

GA

GA

oc CLI 플러그인

TP

TP

TP

Network Policy

GA

GA

GA

Multus

GA

GA

GA

New Add Project Flow

GA

GA

GA

Search Catalog

GA

GA

GA

Cron Jobs

GA

GA

GA

Kubernetes Deployments

GA

GA

GA

StatefulSets

GA

GA

GA

Explicit Quota

GA

GA

GA

Mount Options

GA

GA

GA

experimental-qos-reserved

TP

TP

TP

Pod sysctls

GA

GA

GA

외부 프로젝트 트래픽을 위한 고정 IP

GA

GA

GA

템플릿 완료 탐지

GA

GA

GA

replicaSet

GA

GA

GA

Kubernetes 리소스가 포함된 이미지 스트림

GA

GA

GA

장치 관리자

GA

GA

GA

영구 볼륨 크기 조정

GA

GA

GA

대규모 페이지

GA

GA

GA

CPU 고정

GA

GA

GA

Admission Webhooks

GA

GA

GA

External provisioner for AWS EFS

TP

TP

TP

Pod Unidler

TP

TP

TP

Node Problem Detector

TP

TP

TP

임시 저장 한도/요청

TP

TP

TP

Descheduler

-

-

TP

Podman

TP

TP

TP

Kuryr CNI 플러그인

TP

GA

GA

PID 네임스페이스의 공유 제어

TP

TP

TP

클러스터 관리자 콘솔

GA

GA

GA

클러스터 자동 확장

GA

GA

GA

CSI(Container Storage Interface)

GA

GA

GA

Operator Lifecycle Manager

GA

GA

GA

Red Hat OpenShift Service Mesh

GA

GA

GA

‘완전 자동’ Egress IP

GA

GA

GA

Pod 우선 순위 및 선점

GA

GA

GA

Dockerfile의 다단계 빌드

GA

GA

GA

OVN-Kubernetes Pod 네트워크 공급자

TP

TP

TP

Prometheus 기반 HPA 사용자 정의 지표 어댑터

TP

TP

TP

머신 상태 점검

TP

GA

GA

iSCSI를 사용하는 영구 스토리지

TP

GA

GA

iSCSI 포함 원시 블록

TP

GA

GA

Cinder 포함 원시 블록

-

TP

TP

OperatorHub

GA

GA

GA

3노드 베어 메탈 배포

TP

TP

TP

SR-IOV 네트워크 Operator

TP

GA

GA

Helm CLI

-

TP

GA

서비스 바인딩

-

TP

TP

로그 전송

-

TP

TP

사용자 작업량 모니터링

-

TP

TP

OpenShift Serverless

TP

TP

GA

컴퓨팅 노드 토폴로지 관리자

-

TP

TP

CSI 볼륨 스냅샷

-

-

TP

CSI 볼륨 복제

-

-

TP

1.7. 알려진 문제

  • 프록시되지 않은 기존 클러스터가 프록시를 사용하도록 재구성하는 시기를 설명하는 Day 2 프록시 지원을 지원하는 MCO(Machine Config Operator)에 문제가 있습니다. MCO에서 ConfigMap에 새로 구성된 프록시 CA 인증서를 RHCOS 신뢰 번들에 적용해야 하지만 수행되지 않습니다. 이 문제를 해결하려면 프록시 CA 인증서를 신뢰 번들에 수동으로 추가한 후 신뢰 번들을 업데이트해야 합니다.

    $ cp /opt/registry/certs/<my_root_ca>.crt /etc/pki/ca-trust/source/anchors/
    $ update-ca-trust extract
    $ oc adm drain <node>
    $ systemctl reboot

    (BZ#1784201)

  • 자체 서명된 RHOSP(Red Hat OpenStack Platform) 16 클러스터를 사용할 때 내부 이미지 레지스트리에서 끌어오거나 내부 이미지 레지스트리로 푸시할 수 없습니다. 이 문제를 해결하려면 configs.imageregistry/cluster 리소스에 spec.disableRedirects = true를 설정해야 합니다. 그러면 클라이언트는 Swift에서 링크가 아닌 이미지 레지스트리로부터 이미지 레이어를 직접 끌어올 수 있습니다. (BZ#1810461)
  • 클러스터 프록시 구성 HTTP_PROXY를 사용자 애플리케이션이 아닌 OpenShift Container Platform 구성 요소에만 사용할 수 있습니다. 이 문제를 해결하려면 다음 명령을 실행하여 사용자 애플리케이션에 대한 클러스터 프록시 구성을 활성화해야 합니다.

    $ oc set env dc/jenkins \
        http_proxy=$(oc get proxy cluster -o jsonpath='{.status.httpProxy}') \
        https_proxy=$(oc get proxy cluster -o jsonpath='{.status.httpsProxy}') \
        no_proxy=$(oc get proxy cluster -o jsonpath='{.status.noProxy}')

    (BZ#1780125)

  • HTTPS 프록시를 통과하는 모든 git clone 작업이 실패합니다. HTTP 프록시를 성공적으로 사용할 수 있습니다. (BZ#1750650)
  • 소스 URI에 git:// 또는 ssh:// 스키마를 사용하는 경우 프록시 뒤에서 실행되는 빌드에서 모든 git clone 작업이 실패합니다. (BZ#1751738)
  • 미러를 사용하여 이미지를 빌드할 때 미러 레지스트리에 대한 pull secret을 빌더 서비스 계정에만 연결하면 빌드가 실패합니다. pull secret을 빌드 구성 오브젝트에도 연결해야 합니다. (BZ#1810904)
  • Kuryr가 포함된 RHOSP(Red Hat OpenStack Platform) 13에서 FIPS가 비활성화된 경우, 서비스 카탈로그를 활성화할 수 없습니다. Service Catalog의 컨트롤러 관리자 및 API 서버 구성 요소에 대한 포드 상태가 CrashLoopBackOff로 표시됩니다. https://etcd.openshift-etcd.svc.cluster.local:2379 URL이 확인되지 않는 경우가 있기 때문입니다. OpenShift Container Platform 4에서 etcd 클러스터 URL을 가져오는 새로운 기술이 있습니다. (BZ#1821589)
  • Kuryr와 함께 RHOSP 16을 설치하면 초기 설정 후 ovn_controller가 충돌하여 작동하지 않습니다. (BZ#1812009, BZ#1818844)
  • RHV(Red Hat Virtualization) 머신의 instance-state 주석과 providerStatus.instanceState 상태가 일치하지 않는 경우가 있습니다. 이러한 불일치로 인해 클라이언트가 RHV 시스템 상태를 패치하지 못하거나 잘못 패치합니다. (BZ#1815394)
  • RHV에서 MachineSet를 확장할 때 새 머신에서 프로비저닝됨 단계를 종료할 수 없습니다. 이로 인해 머신이 실행되지 않습니다. (BZ#1815435, BZ#1817853)
  • 클러스터 리소스 계산 오류로 인해 RHV에서 OpenShift Container Platform 클러스터가 자동으로 확장되지 않습니다. (BZ#1822118)
  • Firefox 브라우저를 사용하여 Topology 뷰에서 노드 또는 노드 그룹을 선택하면 연결된 모든 라벨 및 노드의 배경이 투명해집니다. (BZ#1822337)
  • Topology 뷰에서 사용자가 노드 또는 워크로드를 선택한 후 측면 패널에서 MonitoringView monitoring dashboard를 클릭하면 해당 특정 워크로드에 대한 모니터링 대시보드가 표시됩니다. 이 필터링된 워크로드 대시보드 뷰의 이름이 명확하지 않아 모든 워크로드에 대한 지표를 표시하는 일반 대시보드와 혼동될 수 있습니다. (BZ#1822331)
  • 개발자 관점에서 serverless 트래픽 분배 태그에 마침표(.)와 같이 유효하지 않은 문자를 입력하면 트래픽 분배 기능이 작동하지 않습니다. 그러나 태그에 유효하지 않은 문자를 입력하는 것을 방지하는 오류 메시지가 표시되지 않습니다. (BZ#1822344)
  • 아이덴티티 공급자(IDP)가 사용자를 인증하는 데 60 초 이상 걸리면 다른 IDP를 시도하기 전에 인증이 실패할 수 있습니다. 해결 방법은 IDP 목록에서 결함이 있는 IDP를 제거하여 사용자가 다른 IDP를 인증에 사용할 수 있도록 하는 것입니다. (BZ#1826484)
  • 버전 4.3에서 버전 4.4로 클러스터 로깅을 업데이트 할 때 Elasticsearch Pod가 CrashLoopBackOff 상태로 유지될 수 있습니다. Elasticsearch 배포를 순서대로 삭제하여 이 문제를 해결할 수 있습니다. (BZ#1824006)
  • OpenShift Container Platform 4.4에는 v.4.4 Metering Operator가 제공되지 않습니다. 고객은 OpenShift Container Platform 4.4 클러스터에서 v.4.3 Metering Operator를 설치 및 실행할 수 있습니다. (BZ#1829035)
  • OpenShift Container Platform 클러스터를 버전 4.3에서 4.4로 업데이트 할 때 etcd Operator는 성능이 저하된 상태이기 때문에 업그레이드하지 못하는 경우가 있습니다. 이는 InstallerPod 오류로 인해 발생합니다. 이 문제를 해결하려면 InstallerPod 오류를 해결할 수 있도록 etcd에서 새 버전을 강제 실행하여 etcd Operator를 복구할 수 있습니다.

    1. etcd에서 새 버전을 강제로 실행하십시오 :

      $ oc patch etcd cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
    2. 노드가 최신 버전인지 확인하십시오.

      $ oc get etcd '-o=jsonpath={range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'

      (BZ#1830789)

1.8. 비동기 에라타 업데이트

OpenShift Container Platform 4.4의 보안, 버그 수정 및 개선 업데이트는 Red Hat Network를 통해 비동기 에라타로 릴리스됩니다. 모든 OpenShift Container Platform 4.4 에라타는 Red Hat Customer Portal을 통해 제공됩니다. 비동기 에라타에 대한 자세한 내용은 OpenShift Container Platform 라이프 사이클에서 참조하십시오.

Red Hat 고객 포털 사용자는 Red Hat 서브스크립션 관리 (RHSM) 계정 설정에서 에라타 통지를 활성화할 수 있습니다. 에라타 통지가 활성화되면 사용자는 등록된 시스템과 관련된 새 에라타가 릴리스될 때마다 이메일을 통해 통지를 받습니다.

참고

Red Hat 고객 포털 사용자 계정에는 OpenShift Container Platform에서 에라타 통지 이메일을 수신하기 위해 OpenShift Container Platform을 사용할 수 있는 등록된 시스템 및 권한이 필요합니다.

이 섹션은 향후 OpenShift Container Platform 4.4와 관련된 비동기 에라타 릴리스의 개선 사항 및 버그 수정에 대한 정보 제공을 위해 지속적으로 업데이트됩니다. OpenShift Container Platform 4.4.z와 같은 비동기 버전 릴리스 정보는 하위 섹션에 자세히 설명되어 있습니다. 또한 공간 제한으로 인해 릴리스 정보에 포함되지 않은 에라타 컨텐츠도 다음 하위 섹션에 자세히 설명되어 있습니다.

중요

OpenShift Container Platform 릴리스의 경우 클러스터 업데이트 관련 지침을 살펴보십시오.

1.8.1. RHBA-2020 : 1581-OpenShift Container Platform 4.4 이미지 릴리스 및 버그 수정 권고

출시 날짜: 2020-05-04

OpenShift Container Platform 릴리스 4.4가 출시되었습니다. 업데이트에 포함된 컨테이너 이미지 및 버그 수정 목록은 RHBA-2020 : 1581 권고에 설명되어 있습니다. 업데이트에 포함된 RPM 패키지는 RHBA-2019 : 1582 권고에서 제공됩니다.

권고에 이 릴리스의 모든 컨테이너 이미지에 대한 설명은 제외되어 있습니다. 이 릴리스의 컨테이너 이미지에 대한 자세한 내용은 다음 문서를 참조하십시오.

OpenShift Container Platform 4.4.3 컨테이너 이미지 목록

1.8.2. RHSA-2020:1936 - Moderate: OpenShift Container Platform 4.4 보안 업데이트

출시 날짜: 2020-05-04

OpenShift Container Platform 4.4에서 haproxy에 대한 업데이트를 사용할 수 있습니다. 업데이트에 대한 자세한 내용은 RHSA-2020 : 1936 권고에 설명되어 있습니다.

1.8.3. RHSA-2020:1937 - Moderate: OpenShift Container Platform 4.4 보안 업데이트

출시 날짜: 2020-05-04

OpenShift Container Platform 4.4에서 cri-o에 대한 업데이트를 사용할 수 있습니다. 업데이트에 대한 자세한 내용은 RHSA-2020 : 1937 권고에 설명되어 있습니다.

1.8.4. RHSA-2020:1938 - Moderate: OpenShift Container Platform 4.4 보안 업데이트

출시 날짜: 2020-05-04

OpenShift Container Platform 4.4에서 hadoop-container에 대한 업데이트를 사용할 수 있습니다. 업데이트에 대한 자세한 내용은 RHSA-2020 : 1938 권고에 설명되어 있습니다.

1.8.5. RHSA-2020:1939 - Moderate: OpenShift Container Platform 4.4 보안 업데이트

출시 날짜: 2020-05-04

OpenShift Container Platform 4.4에서 ose-machine-config-operator-container에 대한 업데이트를 사용할 수 있습니다. 업데이트에 대한 자세한 내용은 RHSA-2020 : 1939 권고에 설명되어 있습니다.

1.8.6. RHSA-2020:1940 - Moderate: OpenShift Container Platform 4.4 보안 업데이트

출시 날짜: 2020-05-04

OpenShift Container Platform 4.4에서 ose-cluster-policy-controller-container에 대한 업데이트를 사용할 수 있습니다. 업데이트에 대한 자세한 내용은 RHSA-2020:1940 권고에 설명되어 있습니다.

1.8.7. RHSA-2020:1942 - Moderate: OpenShift Container Platform 4.4 보안 업데이트

출시 날짜: 2020-05-04

OpenShift Container Platform 4.4에서 presto-container에 대한 업데이트를 사용할 수 있습니다. 업데이트에 대한 자세한 내용은 RHSA-2020 : 1942 권고에 설명되어 있습니다.

2장. OpenShift Container Platform 버전 정책

OpenShift Container Platform은 알파 API(예고 없이 변경될 수 있음) 및 베타 API(이전 버전과 호환되지 않는 방식으로 변경될 수 있음)를 제외하고 지원되는 모든 API에 대해 이전 버전과의 호환성을 철저하게 보장합니다.

Red Hat은 OpenShift Container Platform 4.0을 공개적으로 출시하지 않았으며, 대신 3.11 버전 이후에 OpenShift Container Platform 4.1을 바로 출시했습니다.

OpenShift Container Platform 버전은 클러스터를 업그레이드하는 동안의 일시적인 불일치를 제외하고 마스터 호스트와 노드 호스트 간에 일치해야 합니다. 예를 들어, 4.4 클러스터에서는 모든 마스터가 4.4이고 모든 노드가 4.4여야 합니다. 이전 버전의 oc를 설치한 경우, OpenShift Container Platform 4.4의 모든 명령을 완료하는 데 해당 버전을 사용할 수 없습니다. 새 버전의 oc를 다운로드하여 설치해야 합니다.

비보안 관련 이유로 API를 변경하면 기존 oc를 업데이트하기 위해 부 릴리스(예: 4.1에서 4.2로 그리고 4.3으로)가 두 번 이상 수반됩니다. 새로운 기능을 사용하려면 최신 oc가 필요할 수 있습니다. 4.3 서버에는 4.2 oc에서 사용할 수 없는 추가 기능이 있을 수 있고, 4.3 oc에는 4.2 서버에서 지원되지 않는 추가 기능이 있을 수 있습니다.

표 2.1. 호환성 매트릭스

 

XY(oc 클라이언트)

X.Y+N [a](oc 클라이언트)

XY(서버)

redcircle 1

redcircle 3

X.Y+N [a] (서버)

redcircle 2

redcircle 1

[a] 여기서 N은 1보다 큰 수입니다.

redcircle 1 완벽하게 호환됩니다.

redcircle 2 oc 클라이언트에서 서버 기능에 액세스하지 못할 수 있습니다.

redcircle 3 oc 클라이언트에서 액세스한 서버와 호환되지 않는 옵션 및 기능을 제공할 수 있습니다.

법적 공지

Copyright © 2020 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.