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 문서를 참조하십시오.
CNI 네트워크 공급자에서 클러스터 노드에 설치된 OVS를 사용
OpenShift SDN 및 OVN-Kubernetes CNI(Container Network Interface) 클러스터 네트워킹 공급자 모두 이제 클러스터 노드에 설치된 OVS(Open vSwitch) 버전을 사용합니다. 이전에는 OVS가 데몬 세트에 의해 관리되는 각 노드의 컨테이너에서 실행되었습니다. 호스트 OVS를 사용하면 OVS 컨테이너화 버전을 업그레이드할 때 발생 가능한 다운 타임을 피할 수 있습니다.
더 이상 사용되지 않는 API 사용시 경고
이제 더 이상 사용되지 않는 API에 대한 모든 호출에서 client-go
및 oc
에 경고가 표시됩니다. 지원 중단된 API를 호출하면 대상 쿠버네티스 제거 릴리스 및 대체 API가 포함된 경고 메시지가 반환됩니다.
예를 들면 다음과 같습니다.
warnings.go:67] batch/v1beta1 CronJob is deprecated in v1.22+, unavailable in v1.25+
이는 쿠버네티스 1.19에 포함된 새로운 기능입니다.
COPY
및 ADD
빌드 지침 개선
OpenShift Container Platform 빌드에서 COPY
및 ADD
명령의 성능이 향상되었습니다. buildah
의 COPY
및 ADD
명령의 초기 구현은 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
를 올바르게 확인할 수 있습니다. 이전에는 이름 충돌로 인해 이 작업을 수행할 수 없었습니다.