This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.3. 최신 Operator SDK 버전의 프로젝트 업데이트
OpenShift Container Platform 4.10은 Operator SDK v1.16.0을 지원합니다. 워크스테이션에 v1.10.1 CLI가 이미 설치되어 있는 경우 최신 버전을 설치하여 CLI를 v1.16.0으로 업데이트할 수 있습니다.
그러나 기존 Operator 프로젝트에서 Operator SDK v1.16.0과의 호환성을 유지하려면 v1.10.1 이후의 중단된 변경 사항에 업데이트 단계가 필요합니다. v1.10.1을 사용하여 이전에 생성되거나 유지 관리되는 Operator 프로젝트에서 업데이트 단계를 수동으로 수행해야 합니다.
5.3.1. Operator SDK v1.16.0 프로젝트 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
다음 절차에서는 v1.16.0과의 호환성을 위해 기존 Operator 프로젝트를 업데이트합니다.
- Operator SDK v1.16.0은 Kubernetes 1.22를 지원합니다.
 - 
								Kubernetes 1.22에서 더 이상 사용되지 않는 많은 
v1beta1API가sigs.k8s.io/controller-runtime v0.10.0및controller-gen v0.7에서 제거되었습니다. - 
								프로젝트를 Kubernetes 1.22로 업데이트하면 CRD(사용자 정의 리소스 정의) 또는 웹 후크를 위해 
v1beta1API를 스캐폴드 v1beta1 API를 이전 클러스터 버전에 게시해야 하는 경우 중단 변경이 됩니다. 
Kubernetes 1.22에 도입된 변경 사항에 대한 자세한 내용은 Kubernetes 1.22에서 제거된 API 의 번들 매니페스트 유효성 검사를 참조하십시오.
사전 요구 사항
- Operator SDK v1.16.0이 설치되어 있어야 합니다.
 - Operator SDK v1.10.1을 사용하여 Operator 프로젝트를 생성하거나 유지 관리합니다.
 
프로세스
config/default/manager_auth_proxy_patch.yaml및config/rbac/auth_proxy_service.yaml파일에protocol필드를 추가합니다.... ports: - containerPort: 8443 + protocol: TCP name: https
... ports: - containerPort: 8443 + protocol: TCP name: httpsCopy to Clipboard Copied! Toggle word wrap Toggle overflow config/manager/manager.yaml파일을 다음과 같이 변경합니다.CPU 및 메모리 리소스 제한을 늘립니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 주석을 추가하여 기본 컨테이너 관리자를 지정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 
							
Makefile파일에 있는 모든 타겟에 tektonONY대상을 추가합니다. Go 기반 Operator 프로젝트의 경우 다음과 같이 변경합니다.
- 
									
setup-envtest바이너리를 설치합니다. go.mod파일을 변경하여 종속성을 업데이트합니다.k8s.io/api v0.22.1 k8s.io/apimachinery v0.22.1 k8s.io/client-go v0.22.1 sigs.k8s.io/controller-runtime v0.10.0
k8s.io/api v0.22.1 k8s.io/apimachinery v0.22.1 k8s.io/client-go v0.22.1 sigs.k8s.io/controller-runtime v0.10.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow go mod tidy명령을 실행하여 종속성을 다운로드합니다.go mod tidy
$ go mod tidyCopy to Clipboard Copied! Toggle word wrap Toggle overflow Makefile파일을 다음과 같이 변경합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow make manifest명령을 실행하여 업데이트된 Kubernetes 버전으로 매니페스트를 생성합니다.make manifest
$ make manifestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
- 
									
 Ansible 기반 Operator 프로젝트의 경우 다음과 같이 변경합니다.
다음을 포함하도록
requirements.yml파일을 변경합니다.community.kubernetes컬렉션을kubernetes.core컬렉션으로 교체합니다.... - name: kubernetes.core version: "2.2.0" ...
... - name: kubernetes.core version: "2.2.0" ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow operator_sdk.util유틸리티를0.2.0에서0.3.1로 업데이트합니다.... - name: operator_sdk.util version: "0.3.1"
... - name: operator_sdk.util version: "0.3.1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 
config/manager/manager.yaml파일에서 기본 리소스 제한을 확인합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요Operator SDK는 이러한 값을 적절한 기본 설정으로 스캐폴드합니다. Operator 작성자는 프로젝트의 요구 사항에 따라 리소스 제한을 설정하고 최적화해야 합니다.
선택 사항:
make run명령을 사용하여 Ansible 기반 Operator를 로컬에서 실행하려는 경우 다음과 같이 변경합니다.Makefile파일에서 run 대상을 변경합니다.ANSIBLE_ROLES_PATH="$(ANSIBLE_ROLES_PATH):$(shell pwd)/roles" $(ANSIBLE_OPERATOR) run
ANSIBLE_ROLES_PATH="$(ANSIBLE_ROLES_PATH):$(shell pwd)/roles" $(ANSIBLE_OPERATOR) runCopy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-runner의 로컬 버전을 2.0.2 이상으로 업데이트합니다.중요버전 2.0에서
ansible-runner툴에는 이전 버전과 호환되지 않는 명령 서명의 변경 사항이 포함되어 있습니다.