1.3. 주요 기술 변경 사항

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

기본 Operator 카탈로그를 클러스터 버전별로 제공

OpenShift Container Platform 4.6부터는 OLM(Operator Lifecycle Manager) 및 OperatorHub에서 사용하는 Red Hat 제공 기본 카탈로그가 이제 OpenShift Container Platform의 마이너 버전에 인덱스 이미지로 제공됩니다. 이로 인해 Operator 공급자가 클러스터 버전별로 의도한 범위의 Operator 버전을 제공할 수 있게 되었습니다.

번들 형식을 기반으로 하는 이러한 인덱스 이미지는 더 이상 사용되지 않는 패키지 매니페스트 형식을 기반으로 하며 이전 버전의 OpenShift Container Platform 4용으로 배포된 앱 레지스트리 카탈로그 이미지를 교체합니다. OpenShift Container Platform 4.1~4.5는 하나의 앱 레지스트리 카탈로그를 계속 공유합니다.

참고

앱 레지스트리 카탈로그 이미지는 Red Hat for OpenShift Container Platform 4.6 이상에서 배포되지 않지만 패키지 매니페스트 형식을 기반으로 하는 사용자 정의 카탈로그 이미지는 계속 지원됩니다.

번들 형식 및 인덱스 이미지에 대한 자세한 내용은 Operator Framework 패키징 형식을 참조하십시오.

중요한 Operator 업그레이드 요구 사항

클러스터 관리자는 OpenShift Container Platform 4.6으로 업그레이드하기 전에 OLM(Operator Lifecycle Manager)을 통해 이전에 설치된 모든 Operator가 최신 채널의 최신 버전으로 업데이트되었는지 확인해야 합니다. Operator를 업데이트하면 클러스터를 업그레이드할 때 OpenShift Container Platform 4.5의 앱 레지스트리 카탈로그를 사용하던 기본 OperatorHub 카탈로그가 유효한 업그레이드 경로에 따라 OpenShift Container Platform 4.6의 새 인덱스 이미지 기반 카탈로그를 사용하게 됩니다.

설치된 Operator가 최신 채널에 있고 자동 또는 수동 승인 전략을 사용하여 업그레이드되었는지 확인하는 방법에 대한 자세한 내용은 설치된 Operator 업그레이드를 참조하십시오.

추가 리소스

  • OpenShift Container Platform 4.6에 필요한 배포된 Red Hat 통합 구성 요소(Red Hat Fuse, Red Hat AMQ, Red Hat 3scale 포함)의 최소 버전 목록은 다음 Red Hat Knowledgebase 문서를 참조하십시오.

    https://access.redhat.com/articles/5423161

CNI 네트워크 공급자에서 클러스터 노드에 설치된 OVS를 사용

OpenShift SDN 및 OVN-Kubernetes CNI(Container Network Interface) 클러스터 네트워킹 공급자 모두 이제 클러스터 노드에 설치된 OVS(Open vSwitch) 버전을 사용합니다. 이전에는 OVS가 데몬 세트에 의해 관리되는 각 노드의 컨테이너에서 실행되었습니다. 호스트 OVS를 사용하면 OVS 컨테이너화 버전을 업그레이드할 때 발생 가능한 다운 타임을 피할 수 있습니다.

더 이상 사용되지 않는 API 사용시 경고

이제 더 이상 사용되지 않는 API에 대한 모든 호출에서 client-gooc에 경고가 표시됩니다. 지원 중단된 API를 호출하면 대상 쿠버네티스 제거 릴리스 및 대체 API가 포함된 경고 메시지가 반환됩니다.

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

warnings.go:67] batch/v1beta1 CronJob is deprecated in v1.22+, unavailable in v1.25+

이는 쿠버네티스 1.19에 포함된 새로운 기능입니다.

COPYADD 빌드 지침 개선

OpenShift Container Platform 빌드에서 COPYADD 명령의 성능이 향상되었습니다. buildahCOPYADD 명령의 초기 구현은 docker에 비해 성능이 눈에 띄게 저하되었습니다. 이 향상된 기능을 통해 특히 대규모 소스 리포지토리에서 빌드가 더 빠르게 실행됩니다. (BZ#1833328)

Operator SDK v0.19.4

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

  • Operator SDK가 OpenShift Container Platform 수준의 스위치에 맞춰 UBI-8 및 Python 3을 사용합니다. 다운스트림 기본 이미지에 UBI-8을 사용하고 Python 3을 포함합니다.
  • run --local 명령 대신 run local을 사용합니다.
  • run --olm--kubeconfig 명령 대신 run packagemanifests를 사용합니다.
  • CRD를 생성하는 명령에서 기본 CRD 버전이 apiextensions.k8s.io/v1beta1에서 apiextensions.k8s.io/v1으로 변경되었습니다.
  • <run|cleanup> packagemanifests 명령에 --kubeconfig 플래그가 추가됩니다.

Ansible 기반 Operator 개선 사항은 다음과 같습니다.

  • Ansible Operator가 지원 릴리스로 제공됩니다.
  • Ansible Operator에 healthz 끝점 및 liveness 프로브가 포함됩니다.

Helm 기반 Operator 개선 사항은 다음과 같습니다.

  • 클러스터 범위 릴리스 리소스가 변경될 때 Helm Operator에서 감시하고 조정할 수 있습니다.
  • Helm Operator는 기본 쿠버네티스 오브젝트에 대해 3방향의 전략적 병합 패치를 사용하여 논리를 조정할 수 있으므로 배열 패치 전략이 올바르게 이행되고 적용됩니다.
  • Helm Operator의 기본 API 버전이 helm.operator-sdk/v1alpha1으로 변경되었습니다.
OpenShift Container Platform의 모든 이미지에 UBI 8 사용

이제 OpenShift Container Platform의 모든 이미지에 기본적으로 UBI(Universal Base Image) 버전 8이 사용됩니다.

Jenkins Node.js 에이전트 업그레이드

기본 Jenkins Node.js 에이전트가 Node.js 버전 12로 업그레이드되었습니다.

oc adm must-gather 명령에 대해 감사 로그가 기본적으로 수집되지 않음

oc adm must-gather 명령에서 더 이상 기본적으로 감사 로그를 수집하지 않습니다. oc 명령을 사용하여 감사 로그를 수집하려면 추가 매개변수를 포함해야 합니다. 예를 들면 다음과 같습니다.

$ oc adm must-gather -- /usr/bin/gather_audit_logs
바이너리 sha256sum.txt.sig 파일의 이름이 OpenShift Container Platform 릴리스용으로 변경됨

OpenShift Container Platform 릴리스에 포함된 sha256sum.txt.sig 파일의 이름이 sha256sum.txt.gpg로 변경되었습니다. 이 바이너리 파일에는 무결성을 확인하는 데 사용하는 각 설치 관리자 및 클라이언트 바이너리의 해시가 포함됩니다.

이름이 변경된 바이너리 파일을 사용하면 GPG에서 sha256sum.txt를 올바르게 확인할 수 있습니다. 이전에는 이름 충돌로 인해 이 작업을 수행할 수 없었습니다.