2.12. Run Once Duration Override Operator
2.12.1. Run Once Duration Override Operator 개요
Run Once Duration Override Operator를 사용하여 run-once Pod를 활성화할 수 있는 최대 시간 제한을 지정할 수 있습니다.
2.12.1.1. Run Once Duration Override Operator 정보
OpenShift Container Platform은 Pod 배포 또는 빌드 수행과 같은 작업을 수행하기 위해 실행 중인 Pod를 사용합니다. Run-once Pod는 Never
또는 OnFailure
의 RestartPolicy
가 있는 Pod입니다.
클러스터 관리자는 Run Once Duration Override Operator를 사용하여 해당 런타임 Pod를 활성화할 수 있는 시간을 제한할 수 있습니다. 시간 제한이 만료되면 클러스터는 해당 Pod를 적극적으로 종료하려고 합니다. 이러한 제한을 사용해야 하는 주요 이유는 빌드와 같은 작업이 과도한 시간 동안 실행되도록 방지하기 위한 것입니다.
Run Once Duration Override Operator에서 Run-once Pod에 대한 run-once 기간 덮어쓰기를 적용하려면 각 해당 네임스페이스에서 활성화해야 합니다.
Run-once Pod와 Run Once Duration Override Operator에 activeDeadlineSeconds
값이 모두 설정된 경우 두 값 중 더 낮은 값이 사용됩니다.
2.12.2. Run Once Duration Override Operator 릴리스 노트
클러스터 관리자는 Run Once Duration Override Operator를 사용하여 run-once Pod를 활성화할 수 있는 시간을 제한할 수 있습니다. 시간 제한이 만료되면 클러스터에서 run-once Pod를 종료하려고 합니다. 이러한 제한을 사용해야 하는 주요 이유는 빌드와 같은 작업이 과도한 시간 동안 실행되도록 방지하기 위한 것입니다.
Run Once Duration Override Operator에서 Run-once Pod에 대한 run-once 기간 덮어쓰기를 적용하려면 각 해당 네임스페이스에서 활성화해야 합니다.
이 릴리스 노트에서는 OpenShift Container Platform용 Run Once Duration Override Operator의 개발을 추적합니다.
Run Once Duration Override Operator 에 대한 개요는 Run Once Duration Override Operator 정보를 참조하십시오.
2.12.2.1. Run Once Duration Override Operator 1.1.0
출시 날짜: 2024년 2월 28일
Run Once Duration Override Operator 1.1.0에서 다음 권고를 사용할 수 있습니다.
2.12.2.1.1. 버그 수정
- Run Once Duration Override Operator 릴리스는 여러 CVE(Common Vulnerabilities and Exposures)를 처리합니다.
2.12.3. run-once Pod의 활성 기한 덮어쓰기
Run Once Duration Override Operator를 사용하여 run-once Pod를 활성화할 수 있는 최대 시간 제한을 지정할 수 있습니다. 네임스페이스에서 Run-once 기간 덮어쓰기를 활성화하면 해당 네임스페이스에서 생성되거나 업데이트된 모든 run-once Pod의 activeDeadlineSeconds
필드가 Run Once Duration Override Operator에서 지정한 값으로 설정됩니다.
Run-once Pod와 Run Once Duration Override Operator에 activeDeadlineSeconds
값이 모두 설정된 경우 두 값 중 더 낮은 값이 사용됩니다.
2.12.3.1. Run Once Duration Override Operator 설치
웹 콘솔을 사용하여 Run Once Duration Override Operator를 설치할 수 있습니다.
사전 요구 사항
-
cluster-admin
권한이 있는 클러스터에 액세스할 수 있습니다. - OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
프로세스
- OpenShift Container Platform 웹 콘솔에 로그인합니다.
Run Once Duration Override Operator에 필요한 네임스페이스를 생성합니다.
-
관리
네임스페이스로 이동하여 네임스페이스 생성을 클릭합니다. -
이름 필드에
openshift-run-once-duration-override-operator
를 입력하고 생성 을 클릭합니다.
-
관리
Run Once Duration Override Operator를 설치합니다.
-
Operators
OperatorHub로 이동합니다. - Run Once Duration Override Operator 를 필터 상자에 입력합니다.
- Run Once Duration Override Operator 를 선택하고 설치를 클릭합니다.
Operator 설치 페이지에서 다음을 수행합니다.
- Update 채널은 stable 로 설정되어 Run Once Duration Override Operator의 안정적인 최신 릴리스를 설치합니다.
- 클러스터에서 특정 네임스페이스를 선택합니다.
- Installed namespace 아래의 드롭다운 메뉴에서 openshift-run-once-duration-override-operator 를 선택합니다.
업데이트 승인 전략을 선택합니다.
- 자동 전략을 사용하면 Operator 새 버전이 준비될 때 OLM(Operator Lifecycle Manager)이 자동으로 Operator를 업데이트할 수 있습니다.
- 수동 전략을 사용하려면 적절한 자격 증명을 가진 사용자가 Operator 업데이트를 승인해야 합니다.
- 설치를 클릭합니다.
-
Operators
RunOnceDurationOverride
인스턴스를 만듭니다.-
Operator
설치된 Operator 페이지에서 Run Once Duration Override Operator 를 클릭합니다. - Run Once Duration Override 탭을 선택하고 CreateOnceDurationOverride 를 클릭합니다.
필요에 따라 설정을 편집합니다.
runOnceDurationOverride
섹션에서 필요한 경우spec.activeDeadlineSeconds
값을 업데이트할 수 있습니다. 사전 정의된 값은3600
초 또는 1시간입니다.- 생성을 클릭합니다.
-
Operator
검증
- OpenShift CLI에 로그인합니다.
모든 Pod가 생성되고 제대로 실행되는지 확인합니다.
$ oc get pods -n openshift-run-once-duration-override-operator
출력 예
NAME READY STATUS RESTARTS AGE run-once-duration-override-operator-7b88c676f6-lcxgc 1/1 Running 0 7m46s runoncedurationoverride-62blp 1/1 Running 0 41s runoncedurationoverride-h8h8b 1/1 Running 0 41s runoncedurationoverride-tdsqk 1/1 Running 0 41s
2.12.3.2. 네임스페이스에서 런타임 기간 덮어쓰기 활성화
Run Once Duration Override Operator에서 Run-once Pod에 대한 run-once 기간 덮어쓰기를 적용하려면 각 해당 네임스페이스에서 활성화해야 합니다.
사전 요구 사항
- Run Once Duration Override Operator가 설치되어 있습니다.
프로세스
- OpenShift CLI에 로그인합니다.
네임스페이스에 런타임 기간 덮어쓰기를 활성화하려면 라벨을 추가합니다.
$ oc label namespace <namespace> \ 1 runoncedurationoverrides.admission.runoncedurationoverride.openshift.io/enabled=true
- 1
- 런타임 기간 덮어쓰기를 활성화하려면 네임스페이스를 지정합니다.
이 네임스페이스에서 Run-once 기간 덮어쓰기를 활성화하면 이 네임스페이스에서 생성된 향후 run-once Pod의 activeDeadlineSeconds
필드가 Run Once Duration Override Operator에서 재정의 값으로 설정됩니다. 다음에 업데이트될 때 이 네임스페이스의 기존 Pod도 activeDeadlineSeconds
값을 설정합니다.
검증
런타임 기간 덮어쓰기를 활성화한 네임스페이스에 테스트 run-once Pod를 생성합니다.
apiVersion: v1 kind: Pod metadata: name: example namespace: <namespace> 1 spec: restartPolicy: Never 2 securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault containers: - name: busybox securityContext: allowPrivilegeEscalation: false capabilities: drop: [ALL] image: busybox:1.25 command: - /bin/sh - -ec - | while sleep 5; do date; done
Pod에
activeDeadlineSeconds
필드가 설정되어 있는지 확인합니다.$ oc get pods -n <namespace> -o yaml | grep activeDeadlineSeconds
출력 예
activeDeadlineSeconds: 3600
2.12.3.3. run-once 활성 데드 데드 덮어쓰기 값 업데이트
Run Once Duration Override Operator가 run-once Pod에 적용되는 덮어쓰기 값을 사용자 지정할 수 있습니다. 사전 정의된 값은 3600
초 또는 1시간입니다.
사전 요구 사항
-
cluster-admin
권한이 있는 클러스터에 액세스할 수 있습니다. - Run Once Duration Override Operator가 설치되어 있습니다.
프로세스
- OpenShift CLI에 로그인합니다.
RunOnceDurationOverride
리소스를 편집합니다.$ oc edit runoncedurationoverride cluster
activeDeadlineSeconds
필드를 업데이트합니다.apiVersion: operator.openshift.io/v1 kind: RunOnceDurationOverride metadata: # ... spec: runOnceDurationOverride: spec: activeDeadlineSeconds: 1800 1 # ...
- 1
activeDeadlineSeconds
필드를 원하는 값(초)으로 설정합니다.
- 파일을 저장하여 변경 사항을 적용합니다.
run-once 기간 덮어쓰기가 활성화된 네임스페이스에서 향후 실행 실행 Pod의 경우 activeDeadlineSeconds
필드가 이 새 값으로 설정됩니다. 이러한 네임스페이스의 기존 Run-once Pod는 업데이트 시 이 새 값을 받게 됩니다.
2.12.4. Run Once Duration Override Operator의 설치 제거
Operator를 제거하고 관련 리소스를 제거하여 OpenShift Container Platform에서 Run Once Duration Override Operator를 제거할 수 있습니다.
2.12.4.1. Run Once Duration Override Operator의 설치 제거
웹 콘솔을 사용하여 Run Once Duration Override Operator를 제거할 수 있습니다. Run Once Duration Override Operator를 설치 제거해도 run-once Pod의 activeDeadlineSeconds
필드를 설정하지 않지만 향후 run-once Pod에 재정의 값을 더 이상 적용하지 않습니다.
사전 요구 사항
-
cluster-admin
권한이 있는 클러스터에 액세스할 수 있습니다. - OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
- Run Once Duration Override Operator가 설치되어 있습니다.
프로세스
- OpenShift Container Platform 웹 콘솔에 로그인합니다.
-
Operators
설치된 Operator로 이동합니다. -
프로젝트 드롭다운 목록에서
openshift-run-once-duration-override-operator
를 선택합니다. RunOnceDurationOverride
인스턴스를 삭제합니다.- Run Once Duration Override Operator 를 클릭하고 Run Once Duration Override 탭을 선택합니다.
- 클러스터 항목 옆에 있는 옵션 메뉴 를 클릭하고 RunOnceDurationOverride 삭제 를 선택합니다.
- 확인 대화 상자에서 삭제를 클릭합니다.
Run Once Duration Override Operator를 설치 제거합니다.
-
Operators
설치된 Operator로 이동합니다. - Run Once Duration Override Operator 항목 옆에 있는 옵션 메뉴 를 클릭하고 Operator 설치 제거를 클릭합니다.
- 확인 대화 상자에서 설치 제거를 클릭합니다.
-
Operators
2.12.4.2. Run Once Duration Override Operator 리소스 설치 제거
필요한 경우 Run Once Duration Override Operator를 설치 제거한 후 클러스터에서 관련 리소스를 제거할 수 있습니다.
사전 요구 사항
-
cluster-admin
권한이 있는 클러스터에 액세스할 수 있습니다. - OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
- Run Once Duration Override Operator를 설치 제거했습니다.
프로세스
- OpenShift Container Platform 웹 콘솔에 로그인합니다.
Run Once Duration Override Operator가 설치될 때 생성된 CRD를 제거합니다.
-
관리
클러스터 리소스 정의로 이동합니다. -
Name 필드에
RunOnceDurationOverride
를 입력하여 CRD를 필터링합니다. - RunOnceDurationOverride CRD 옆에 있는 옵션 메뉴 를 클릭하고 CustomResourceDefinition 삭제 를 선택합니다.
- 확인 대화 상자에서 삭제를 클릭합니다.
-
관리
openshift-run-once-duration-override-operator
네임스페이스를 삭제합니다.-
관리
네임스페이스로 이동합니다. -
필터 상자에
openshift-run-once-duration-override-operator
를 입력합니다. - openshift-run-once-duration-override-operator 항목 옆에 있는 옵션 메뉴 를 클릭하고 네임스페이스 삭제 를 선택합니다.
-
확인 대화 상자에서
openshift-run-once-duration-override-operator
를 입력하고 삭제 를 클릭합니다.
-
관리
활성화된 네임스페이스에서 런타임 기간 덮어쓰기 레이블을 제거합니다.
-
관리
네임스페이스로 이동합니다. - 네임스페이스를 선택합니다.
- Labels 필드 옆에 있는 편집을 클릭합니다.
- runoncedurationoverrides.admission.runoncedurationoverride.openshift.io/enabled=true 레이블을 제거하고 저장을 클릭합니다.
-
관리