2.2. OpenShift Pipelines 설치

이 가이드에서는 클러스터 관리자에게 Red Hat OpenShift Pipelines Operator를 OpenShift Container Platform 클러스터에 설치하는 프로세스를 안내합니다.

사전 요구 사항

  • cluster-admin 권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
  • oc CLI를 설치했습니다.
  • 로컬 시스템에 OpenShift Pipelines (tkn) CLI를 설치했습니다.

2.2.1. 웹 콘솔에서 Red Hat OpenShift Pipelines Operator 설치

OpenShift Container Platform OperatorHub에 나열된 Operator를 사용하여 Red Hat OpenShift Pipelines를 설치할 수 있습니다. Red Hat OpenShift Pipelines Operator를 설치하면 파이프라인 구성에 필요한 CR(사용자 정의 리소스)이 Operator와 함께 자동으로 설치됩니다.

기본 Operator CRD(사용자 정의 리소스 정의) config.operator.tekton.devtektonconfigs.operator.tekton.dev로 교체되었습니다. 또한 Operator에서 OpenShift Pipelines 구성 요소를 개별적으로 관리하기 위해 추가 CRD인 tektonpipelines.operator.tekton.dev, tektontriggers.operator.tekton.dev, tektonaddons.operator.tekton.dev를 제공합니다.

OpenShift Pipelines가 클러스터에 이미 설치되어 있는 경우 기존 설치가 원활하게 업그레이드됩니다. Operator는 필요에 따라 클러스터의 config.operator.tekton.dev 인스턴스를 tektonconfigs.operator.tekton.dev 인스턴스 및 기타 CRD의 추가 오브젝트로 교체합니다.

주의

resource name - cluster 필드를 변경하여 config.operator.tekton.dev CRD 인스턴스의 타겟 네임스페이스를 변경하는 등 기존 설치를 수동으로 변경한 경우 업그레이드 경로가 제대로 작동하지 않습니다. 이러한 경우 권장되는 워크플로는 설치를 제거한 후 Red Hat OpenShift Pipelines Operator를 다시 설치하는 것입니다.

Red Hat OpenShift Pipelines Operator에서는 이제 TektonConfig CR의 일부로 프로필을 지정하여 설치할 구성 요소를 선택할 수 있는 옵션을 제공합니다. Operator가 설치되면 TektonConfig CR이 자동으로 설치됩니다. 지원되는 프로필은 다음과 같습니다.

  • 기본: Tekton 파이프라인만 설치합니다.
  • 기본값: Tekton 파이프라인 및 Tekton 트리거를 설치합니다.
  • 모두: TektonConfig CR을 설치할 때 사용하는 기본 프로필입니다. 이 프로필은 모든 Tekton 구성 요소, 즉 Tekton Pipelines, Tekton Triggers, Tekton Addons(ClusterTasks, ClusterTriggerBindings, ConsoleCLIDownload, ConsoleQuickStart, ConsoleYAMLSample 리소스 포함)를 설치합니다.

프로세스

  1. 웹 콘솔의 Administrator 관점에서 OperatorOperatorHub로 이동합니다.
  2. 키워드로 필터링 박스를 사용하여 카탈로그에서 Red Hat OpenShift Pipelines Operator를 검색합니다. Red Hat OpenShift Pipelines Operator 타일을 클릭합니다.
  3. Red Hat OpenShift Pipelines Operator 페이지에서 Operator에 대한 간략한 설명을 확인합니다. 설치를 클릭합니다.
  4. Operator 설치 페이지에서 다음을 수행합니다.

    1. Installation ModeAll namespaces on the cluste(default)를 선택합니다. 이 모드에서는 기본 openshift-operators 네임스페이스에 Operator가 설치되므로 Operator가 클러스터의 모든 네임스페이스를 감시하고 사용 가능하게 만들 수 있습니다.
    2. Approval Strategy으로 Automatic을 선택합니다. 그러면 Operator에 향후 지원되는 업그레이드가 OLM(Operator Lifecycle Manager)에 의해 자동으로 처리됩니다. Manual 승인 전략을 선택하면 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 Operator를 새 버전으로 업데이트하려면 OLM 업데이트 요청을 수동으로 승인해야 합니다.
    3. Update Channel을 선택합니다.

      • Stable 채널을 사용하면 Red Hat OpenShift Pipelines Operator의 안정적인 최신 릴리스를 설치할 수 있습니다.
      • 프리뷰 채널을 사용하면 Red Hat OpenShift Pipelines Operator의 최신 프리뷰 버전을 설치할 수 있습니다. 이 버전에는 안정 채널에서 아직 지원되지 않는 특정 기능이 포함될 수 있습니다.
  5. 설치를 클릭합니다. Installed Operators 페이지의 목록에 해당 Operator가 나타납니다.

    참고

    Operator는 openshift-operators 네임스페이스에 자동으로 설치됩니다.

  6. Red Hat OpenShift Pipelines Operator가 성공적으로 설치되었는지 확인하려면 상태최신 업데이트 완료로 설정되어 있는지 확인합니다.

2.2.2. CLI를 사용하여 OpenShift Pipelines Operator 설치

CLI를 사용하여 OperatorHub에서 Red Hat OpenShift Pipelines Operator를 설치할 수 있습니다.

프로세스

  1. 서브스크립션 오브젝트 YAML 파일을 생성하여 Red Hat OpenShift Pipelines Operator에 네임스페이스를 서브스크립션합니다(예: sub.yaml).

    Subscription의 예

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: openshift-pipelines-operator
      namespace: openshift-operators
    spec:
      channel:  <channel name> 1
      name: openshift-pipelines-operator-rh 2
      source: redhat-operators 3
      sourceNamespace: openshift-marketplace 4

    1
    Operator를 서브스크립션할 채널 이름을 지정합니다.
    2
    서브스크립션할 Operator의 이름입니다.
    3
    Operator를 제공하는 CatalogSource의 이름입니다.
    4
    CatalogSource의 네임스페이스입니다. 기본 OperatorHub CatalogSources에는 openshift-marketplace를 사용합니다.
  2. 서브스크립션 개체를 생성합니다.

    $ oc apply -f sub.yaml

    이제 Red Hat OpenShift Pipelines Operator가 기본 타겟 네임스페이스인 openshift-operators에 설치되었습니다.

2.2.3. 제한된 환경의 Red Hat OpenShift Pipelines Operator

Red Hat OpenShift Pipelines Operator는 제한된 네트워크 환경에서 파이프라인 설치를 지원합니다.

Operator는 cluster 프록시 오브젝트를 기반으로 tekton-controller에서 생성한 Pod의 컨테이너에 프록시 환경 변수를 설정하는 프록시 Webhook를 설치합니다. 또한 TektonPipelines, TektonTriggers, Controllers, Webhooks, Operator Proxy Webhook 리소스에서 프록시 환경 변수를 설정합니다.

기본적으로 프록시 Webhook는 openshift-pipelines 네임스페이스에 대해 비활성화되어 있습니다. 다른 네임스페이스에 대해 비활성화하려면 namespace 오브젝트에 operator.tekton.dev/disable-proxy: true 라벨을 추가하면 됩니다.

2.2.4. 추가 리소스