3.3. OpenShift Pipelines 설치
이 가이드에서는 클러스터 관리자에게 Red Hat OpenShift Pipelines Operator를 OpenShift Container Platform 클러스터에 설치하는 프로세스를 안내합니다.
사전 요구 사항
-
cluster-admin
권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다. -
oc
CLI를 설치했습니다. -
로컬 시스템에 OpenShift Pipelines(
tkn
) CLI 를 설치했습니다. - 클러스터에 Marketplace 기능이 활성화되었거나 Red Hat Operator 카탈로그 소스가 수동으로 구성되어 있습니다.
3.3.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.dev
가 tektonconfigs.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이 자동으로 설치됩니다. 지원되는 프로필은 다음과 같습니다.
- Lite: Tekton 파이프라인만 설치합니다.
- Basic: Tekton 파이프라인 및 Tekton 트리거를 설치합니다.
-
모두:
TektonConfig
CR을 설치할 때 사용하는 기본 프로필입니다. 이 프로필은 모든 Tekton 구성 요소, 즉 Tekton Pipelines, Tekton Triggers, Tekton Addons(ClusterTasks
,ClusterTriggerBindings
,ConsoleCLIDownload
,ConsoleQuickStart
,ConsoleYAMLSample
리소스 포함)를 설치합니다.
절차
-
웹 콘솔의 관리자 화면에서 Operator
OperatorHub로 이동합니다. -
키워드로 필터링 박스를 사용하여 카탈로그에서
Red Hat OpenShift Pipelines
Operator를 검색합니다. Red Hat OpenShift Pipelines Operator 타일을 클릭합니다. - Red Hat OpenShift Pipelines Operator 페이지에서 Operator에 대한 간략한 설명을 확인합니다. 설치를 클릭합니다.
Operator 설치 페이지에서 다음을 수행합니다.
-
Installation Mode로 All namespaces on the cluste(default)를 선택합니다. 이 모드에서는 기본
openshift-operators
네임스페이스에 Operator가 설치되므로 Operator가 클러스터의 모든 네임스페이스를 감시하고 사용 가능하게 만들 수 있습니다. - Approval Strategy으로 Automatic을 선택합니다. 그러면 Operator에 향후 지원되는 업그레이드가 OLM(Operator Lifecycle Manager)에 의해 자동으로 처리됩니다. Manual 승인 전략을 선택하면 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 Operator를 새 버전으로 업데이트하려면 OLM 업데이트 요청을 수동으로 승인해야 합니다.
Update Channel을 선택합니다.
-
최신
채널을 사용하면 Red Hat OpenShift Pipelines Operator의 최신 안정 버전을 설치할 수 있습니다. 현재 Red Hat OpenShift Pipelines Operator를 설치하는 기본 채널입니다. 특정 버전의 Red Hat OpenShift Pipelines Operator를 설치하기 위해 클러스터 관리자는 해당
pipelines-<version
> 채널을 사용할 수 있습니다. 예를 들어 Red Hat OpenShift Pipelines Operator 버전1.8.x
를 설치하려면pipelines-1.8
채널을 사용할 수 있습니다.참고OpenShift Container Platform 4.11부터 Red Hat OpenShift Pipelines Operator 설치 및 업그레이드를 위한
프리뷰
및안정적인
채널을 사용할 수 없습니다. 그러나 OpenShift Container Platform 4.10 및 이전 버전에서는 Operator를 설치 및 업그레이드하기 위해프리뷰
및안정적인
채널을 사용할 수 있습니다.
-
-
Installation Mode로 All namespaces on the cluste(default)를 선택합니다. 이 모드에서는 기본
설치를 클릭합니다. Installed Operators 페이지의 목록에 해당 Operator가 나타납니다.
참고Operator는
openshift-operators
네임스페이스에 자동으로 설치됩니다.- Red Hat OpenShift Pipelines Operator가 성공적으로 설치되었는지 확인하려면 상태가 최신 업데이트 완료로 설정되어 있는지 확인합니다.
3.3.2. CLI를 사용하여 OpenShift Pipelines Operator 설치
CLI를 사용하여 OperatorHub에서 Red Hat OpenShift Pipelines Operator를 설치할 수 있습니다.
프로세스
서브스크립션 오브젝트 YAML 파일을 생성하여 Red Hat OpenShift Pipelines Operator에 네임스페이스를 서브스크립션합니다(예:
sub.yaml
).서브스크립션의 예
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의 채널 이름입니다.
pipelines-<version&
gt; 채널이 기본 채널입니다. 예를 들어 Red Hat OpenShift Pipelines Operator 버전1.7
의 기본 채널은pipelines-1.7
입니다.최신
채널을 사용하면 Red Hat OpenShift Pipelines Operator의 최신 안정 버전을 설치할 수 있습니다. - 2
- 등록할 Operator의 이름입니다.
- 3
- Operator를 제공하는 CatalogSource의 이름입니다.
- 4
- CatalogSource의 네임스페이스입니다. 기본 OperatorHub CatalogSources에는
openshift-marketplace
를 사용합니다.
서브스크립션 오브젝트를 생성합니다.
$ oc apply -f sub.yaml
이제 Red Hat OpenShift Pipelines Operator가 기본 타겟 네임스페이스인
openshift-operators
에 설치되었습니다.
3.3.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
라벨을 추가하면 됩니다.
3.3.4. RBAC 리소스 자동 생성 비활성화
Red Hat OpenShift Pipelines Operator의 기본 설치는 ^(openshift|kube)-*
정규식 패턴과 일치하는 네임스페이스를 제외하고 클러스터의 모든 네임스페이스에 대해 여러 RBAC(역할 기반 액세스 제어) 리소스를 생성합니다. 이러한 RBAC 리소스 중에서 pipelines-scc-rolebinding
보안 컨텍스트 제약 조건(SCC) 역할 바인딩 리소스는 연결된 pipelines-scc
SCC에 RunAsAny
권한이 있으므로 잠재적인 보안 문제입니다.
Red Hat OpenShift Pipelines Operator가 설치된 후 클러스터 전체 RBAC 리소스의 자동 생성을 비활성화하려면 클러스터 관리자가 클러스터 수준 TektonConfig
사용자 정의 리소스(CR)에서 createRbacResource
매개변수를 false
로 설정하면 됩니다.
TektonConfig
CR의 예
apiVersion: operator.tekton.dev/v1alpha1 kind: TektonConfig metadata: name: config spec: params: - name: createRbacResource value: "false" profile: all targetNamespace: openshift-pipelines addon: params: - name: clusterTasks value: "true" - name: pipelineTemplates value: "true" ...
클러스터 관리자 또는 적절한 권한이 있는 사용자는 모든 네임스페이스에 대해 RBAC 리소스의 자동 생성을 비활성화하면 기본 ClusterTask
리소스가 작동하지 않습니다. ClusterTask
리소스가 작동하려면 의도한 각 네임스페이스에 대해 RBAC 리소스를 수동으로 생성해야 합니다.
3.3.5. 추가 리소스
- OpenShift Container Platform에 Operator를 설치하는 방법에 대한 자세한 내용은 클러스터에 Operator 추가 섹션에서 확인할 수 있습니다.
- Red Hat OpenShift Pipelines Operator를 사용하여 Tekton Chains를 설치하려면 Red Hat OpenShift Pipelines 공급망 보안을 위해 Tekton Chains 사용을 참조하십시오.
- 클러스터 내 Tekton Hub를 설치하고 배포하려면 Red Hat OpenShift Pipelines에서 Tekton Hub 사용을 참조하십시오.
제한된 환경에서 파이프라인을 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오.