5.6.9.3.2. CRD 버전 사용 중단 또는 제거

OLM(Operator Lifecycle Manager)에서는 CRD(사용자 정의 리소스 정의)의 제공 버전을 즉시 제거하는 것을 허용하지 않습니다. 대신 CRD의 served 필드를 false로 설정하여 더 이상 사용되지 않는 CRD 버전을 먼저 비활성화해야 합니다. 그러면 후속 CRD 업그레이드에서 제공되지 않는 버전을 제거할 수 있습니다.

프로세스

특정 버전의 CRD를 사용 중단하고 제거하려면 다음을 수행합니다.

  1. 이 버전이 더 이상 사용되지 않으며 후속 업그레이드에서 제거될 수 있음을 나타내려면 더 이상 사용되지 않는 버전을 제공되지 않음으로 표시합니다. 예를 들면 다음과 같습니다.

    versions:
      - name: v1alpha1
        served: false 1
        storage: true
    1
    false로 설정합니다.
  2. 사용을 중단할 버전이 현재 storage 버전인 경우 storage 버전을 제공 버전으로 전환합니다. 예를 들면 다음과 같습니다.

    versions:
      - name: v1alpha1
        served: false
        storage: false 1
      - name: v1beta1
        served: true
        storage: true 2
    1 2
    storage 필드를 적절하게 업데이트합니다.
    참고

    CRD에서 storage 버전이거나 이 버전이었던 특정 버전을 제거하려면 CRD 상태의 storedVersion에서 해당 버전을 제거해야 합니다. OLM은 저장된 버전이 새 CRD에 더 이상 존재하지 않는 것으로 탐지하면 이 작업을 수행합니다.

  3. 위 변경 사항으로 CRD를 업그레이드합니다.
  4. 이어지는 업그레이드 주기에서는 서비스되지 않는 버전을 CRD에서 완전히 제거할 수 있습니다. 예를 들면 다음과 같습니다.

    versions:
      - name: v1beta1
        served: true
        storage: true
  5. CSV의 owned 섹션에서 참조하는 CRD 버전이 CRD에서 제거된 경우 적절하게 업데이트되었는지 확인합니다.