4장. OpenShift Jenkins 이미지에 대한 중요한 변경 사항
OpenShift Container Platform 4.11은 OpenShift Jenkins 및 OpenShift 에이전트 기본 이미지를 registry.redhat.io
의 ocp-tools-4
리포지토리로 이동합니다. 또한 페이로드에서 OpenShift Jenkins Maven 및 NodeJS 에이전트 이미지도 제거합니다.
-
OpenShift Container Platform 4.11은 OpenShift Jenkins 및 OpenShift Agent Base 이미지를
registry.redhat.io
의ocp-tools-4
리포지토리로 이동하여 Red Hat이 OpenShift Container Platform 라이프사이클 외부에서 이미지를 생성하고 업데이트할 수 있습니다. 이전에는 이러한 이미지가 OpenShift Container Platform 설치 페이로드에 있고registry.redhat.io
의openshift4
리포지토리에 있었습니다. -
OpenShift Container Platform 4.10은 OpenShift Jenkins Maven 및 NodeJS 에이전트 이미지를 더 이상 사용되지 않습니다. OpenShift Container Platform 4.11은 페이로드에서 이러한 이미지를 제거합니다. Red Hat은 더 이상 이러한 이미지를 생성하지 않으며
registry.redhat.io
의ocp-tools-4
리포지토리에서 사용할 수 없습니다. Red Hat은 OpenShift Container Platform 라이프사이클 정책에 따라 중요한 버그 수정 또는 보안 CVE에 대해 4.10 및 이전 버전의 이미지를 유지 관리합니다.
이러한 변경 사항은 Jenkins Kubernetes 플러그인에서 여러 컨테이너 포드 템플릿을 사용하도록 OpenShift Container Platform 4.10 권장 사항을 지원합니다.
4.1. OpenShift Jenkins 이미지 재배치
OpenShift Container Platform 4.11은 특정 OpenShift Jenkins 이미지의 위치와 가용성을 크게 변경합니다. 또한 이러한 이미지를 업데이트할 시기와 방법을 구성할 수 있습니다.
OpenShift Jenkins 이미지와 동일하게 유지되는 것은 무엇입니까?
-
Cluster Samples Operator는 OpenShift Jenkins 이미지 작동을 위한
ImageStream
및Template
오브젝트를 관리합니다. -
기본적으로 Jenkins Pod 템플릿의 Jenkins
DeploymentConfig
오브젝트는 Jenkins 이미지가 변경될 때 재배포를 트리거합니다. 기본적으로 이 이미지는 Samples Operator 페이로드의ImageStream
YAML 파일에 있는openshift
네임스페이스에 있는 Jenkins 이미지 스트림 태그의jenkins:2
이미지 스트림 태그에서 참조합니다. -
OpenShift Container Platform 4.10 및 이전 버전에서 4.11로 업그레이드하는 경우 더 이상 사용되지 않는
maven
및nodejs
pod 템플릿은 여전히 기본 이미지 구성에 있습니다. -
OpenShift Container Platform 4.10 및 이전 버전에서 4.11로 업그레이드하는 경우
jenkins-agent-maven
및jenkins-agent-nodejs
이미지 스트림이 여전히 클러스터에 있습니다. 이러한 이미지 스트림을 유지하려면 "openshift
네임스페이스의jenkins-agent-maven
및jenkins-agent-nodejs
이미지 스트림에서는 어떻게 됩니까?"를 참조하십시오.
OpenShift Jenkins 이미지의 지원 매트릭스는 어떻게 됩니까?
registry.redhat.io
레지스트리의 ocp-tools-4
리포지토리의 각 새 이미지는 여러 버전의 OpenShift Container Platform을 지원합니다. Red Hat은 이러한 새 이미지 중 하나를 업데이트하면 모든 버전에서 동시에 사용할 수 있습니다. 이 가용성은 Red Hat이 보안 권고에 응답하여 이미지를 업데이트할 때 이상적입니다. 처음에는 이 변경 사항이 OpenShift Container Platform 4.11 이상에 적용됩니다. 이러한 변경 사항은 결국 OpenShift Container Platform 4.9 이상에 적용될 예정입니다.
이전 버전에서는 각 Jenkins 이미지가 하나의 OpenShift Container Platform 버전만 지원했으며 Red Hat은 해당 이미지를 시간이 지남에 따라 순차적으로 업데이트할 수 있었습니다.
OpenShift Jenkins 및 Jenkins 에이전트 기본 ImageStream 및 ImageStreamTag 오브젝트에는 어떤 추가 기능이 있습니까?
in-knativeload 이미지 스트림에서 비지침 로드 이미지를 참조하는 이미지 스트림으로 이동하면 OpenShift Container Platform에서 추가 이미지 스트림 태그를 정의할 수 있습니다. Red Hat은 기존 "value": "jenkins:2"
및 "value": "image-registry.openshift-image-registry.svc:5000/openshift/jenkins-agent-base-rhel8:latest"
이미지 스트림 태그와 함께 제공되는 일련의 새 이미지 스트림 태그를 생성했습니다. 이러한 새 이미지 스트림 태그는 Jenkins 관련 이미지 스트림을 유지하는 방법을 개선하기 위해 일부 요청을 처리합니다.
새 이미지 스트림 태그 정보:
ocp-upgrade-redeploy
-
OpenShift Container Platform을 업그레이드할 때 Jenkins 이미지를 업데이트하려면 Jenkins 배포 구성에서 이 이미지 스트림 태그를 사용하십시오. 이 이미지 스트림 태그는
jenkins
이미지 스트림의 기존2
이미지 스트림 태그와jenkins-agent-base-rhel8
이미지 스트림의latest
이미지 스트림 태그에 해당합니다. 하나의 SHA 또는 이미지 다이제스트에만 이미지 태그를 사용합니다. Jenkins 보안 권고와 같은ocp-tools-4
이미지가 변경되면 Red Hat Engineering에서 Cluster Samples Operator 페이로드를 업데이트합니다. user-maintained-upgrade-redeploy
-
OpenShift Container Platform을 업그레이드한 후 Jenkins를 수동으로 재배포하려면 Jenkins 배포 구성에서 이 이미지 스트림 태그를 사용하십시오. 이 이미지 스트림 태그는 사용 가능한 가장 구체적인 이미지 버전 표시기를 사용합니다. Jenkins를 재배포하는 경우
$ oc import-image jenkins:user-maintained-upgrade-redeploy -n openshift
를 실행합니다. 이 명령을 실행하면 OpenShift Container PlatformImageStream
컨트롤러에서registry.redhat.io
이미지 레지스트리에 액세스하고 해당 JenkinsImageStreamTag
오브젝트의 OpenShift 이미지 레지스트리 슬롯에 업데이트된 이미지를 저장합니다. 그렇지 않으면 이 명령을 실행하지 않으면 Jenkins 배포 구성에서 재배포를 트리거하지 않습니다. scheduled-upgrade-redeploy
- 최신 버전의 Jenkins 이미지가 릴리스될 때 자동으로 재배포하려면 Jenkins 배포 구성에서 이 이미지 스트림 태그를 사용하십시오. 이 이미지 스트림 태그는 OpenShift Container Platform 이미지 스트림 컨트롤러의 이미지 스트림 태그 기능을 주기적으로 가져와서 백업 이미지 변경 사항을 확인합니다. 예를 들어 최근 Jenkins 보안 권고로 인해 이미지가 변경되면 OpenShift Container Platform에서 Jenkins 배포 구성의 재배포를 트리거합니다. 다음 "ECDHE 리소스"의 "이미지 스트림 태그 구성"을 참조하십시오.
openshift
네임스페이스의 jenkins-agent-maven
및 jenkins-agent-nodejs
이미지 스트림은 어떻게 됩니까?
OpenShift Container Platform의 OpenShift Jenkins Maven 및 NodeJS 에이전트 이미지는 4.10에서 더 이상 사용되지 않으며 4.11의 OpenShift Container Platform 설치 페이로드에서 제거됩니다. 이러한 대안은 ocp-tools-4
리포지토리에 정의되어 있지 않습니다. 그러나 다음 "Jenkins 에이전트" 섹션에 설명된 사이드카 패턴을 사용하여 이 문제를 해결할 수 있습니다.
그러나 Cluster Samples Operator는 이전 릴리스에서 생성한 jenkins-agent-maven
및 jenkins-agent-nodejs
이미지 스트림을 삭제하지 않으므로 registry.redhat.io
의 각 OpenShift Container Platform 페이로드 이미지의 태그를 가리킵니다. 따라서 다음 명령을 실행하여 이러한 이미지에 대한 업데이트를 가져올 수 있습니다.
oc import-image jenkins-agent-nodejs -n openshift
$ oc import-image jenkins-agent-nodejs -n openshift
oc import-image jenkins-agent-maven -n openshift
$ oc import-image jenkins-agent-maven -n openshift
OpenShift Jenkins에서 지원하는 OpenShift Container Platform 아키텍처 및 버전은 무엇입니까?
Jenkins는 OpenShift Container Platform 릴리스에서 다음 아키텍처를 지원합니다.
-
amd64
-
arm64
-
ppc64le
-
s390x
그러나 OpenShift Container Platform EUS (Extended Update Support) 릴리스의 경우 amd64
아키텍처만 공식적으로 지원됩니다. 결과적으로 OpenShift Jenkins 이미지는 이러한 릴리스에서 amd64
에만 제공됩니다. OpenShift Container Platform 플랫폼 자체는 EUS 릴리스에 대한 amd64
아키텍처만 지원하기 때문입니다. 자세한 내용은 OpenShift Jenkins 릴리스에 대한 지원 매트릭스를 참조하십시오.
Red Hat은 Jenkins 컨테이너 이미지를 업데이트할 때 모든 OpenShift Container Platform 버전에서 동시에 사용할 수 있습니까?
예, Jenkins 컨테이너 이미지는 분기별로 업데이트되며 지원되는 모든 OpenShift Container Platform 릴리스에서 지원되는 모든 Jenkins 이미지에 대해 업데이트를 사용할 수 있습니다.
릴리스된 Jenkins 이미지는 얼마나 오래 지원됩니까?
Red Hat은 최신 컨테이너 이미지에서 제공되는 Jenkins 코어의 최신 LTS(Long-Term Support) 버전만 지원합니다. 여러 코어 버전을 지원하지 않습니다. 당사의 정책은 업스트림 커뮤니티에서 릴리스한 최신 Jenkins LTS 버전과 일치하기 위한 것입니다.
Jenkins 릴리스가 OpenShift Container Platform 버전과 일치합니까?
제공됨 당사의 목표는 플랫폼 정렬을 유지하는 것입니다. 즉, 지원되는 각 OpenShift Container Platform 릴리스에 대해 Jenkins 컨트롤러 및 에이전트 이미지가 빌드 및 테스트됩니다.
Jenkins 릴리스 일정이 OpenShift Container Platform 릴리스 사이클과 일치합니까?
Jenkins는 더 이상 OpenShift Container Platform 코어 페이로드의 일부가 아닙니다. 릴리스는 별도로 관리됩니다. 그러나 OpenShift Container Platform GA 릴리스 후 몇 주 이내에 새로 릴리스된 OpenShift Container Platform 릴리스에 대해 업데이트된 OpenShift Jenkins 이미지를 게시할 계획입니다.
Red Hat은 업스트림 Jenkins 라이프사이클 및 LTS 버전을 따르습니까?
제공됨 Jenkins 업스트림 라이프사이클에 맞게 LTS 버전을 따릅니다. Red Hat은 일반적으로 중요한 수정 사항에 라이프 사이클이 아닌 릴리스가 필요하지 않는 한 분기별로 OpenShift Jenkins 이미지 업데이트를 제공합니다.
현재 Jenkins LTS 버전: - Jenkins 카탈로그
지원되지 않는 것은 무엇입니까?
- 현재 OpenShift Jenkins LTS 이전의 Jenkins 버전은 지원되지 않습니다.
- OpenShift Container Platform 외부에서 Jenkins를 실행하는 것은 지원되지 않습니다.
- Jenkins의 여러 코어 버전은 지원되지 않습니다. OpenShift Jenkins 이미지와 함께 제공되는 플러그인은 지원되는 모든 OpenShift Container Platform 릴리스에서 동일한 버전 관리를 따릅니다.