4.3. OpenShift Pipelines 설치
이 가이드에서는 클러스터 관리자에게 Red Hat OpenShift Pipelines Operator를 OpenShift Container Platform 클러스터에 설치하는 프로세스를 안내합니다.
사전 요구 사항
-
cluster-admin
권한이 있는 계정을 사용하여 OpenShift Container Platform 클러스터에 액세스할 수 있습니다. -
oc
CLI를 설치했습니다. -
로컬 시스템에 OpenShift Pipelines(
tkn
) CLI 를 설치했습니다.
4.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을 선택합니다.
- stable 채널을 사용하면 Red Hat OpenShift Pipelines Operator의 안정적인 최신 릴리스를 설치할 수 있습니다.
- preview 채널을 사용하면 Red Hat OpenShift Pipelines Operator의 최신 프리뷰 버전을 설치할 수 있습니다. 이 버전에는 stable 채널에서 아직 지원되지 않는 기능이 포함될 수 있습니다.
-
Installation Mode로 All namespaces on the cluste(default)를 선택합니다. 이 모드에서는 기본
설치를 클릭합니다. Installed Operators 페이지의 목록에 해당 Operator가 나타납니다.
참고Operator는
openshift-operators
네임스페이스에 자동으로 설치됩니다.Red Hat OpenShift Pipelines Operator가 성공적으로 설치되었는지 확인하려면 상태가 최신 업데이트 완료로 설정되어 있는지 확인합니다.
주의다른 구성 요소를 설치하는 경우에도 성공 상태가 최신 업데이트됨으로 표시될 수 있습니다. 따라서 터미널에서 수동으로 설치를 확인하는 것이 중요합니다.
Red Hat OpenShift Pipelines Operator의 모든 구성 요소가 성공적으로 설치되었는지 확인합니다. 터미널에서 클러스터에 로그인하고 다음 명령을 실행합니다.
$ oc get tektonconfig config
출력 예
NAME VERSION READY REASON config 1.9.2 True
READY 조건이 True 이면 Operator 및 해당 구성 요소가 성공적으로 설치되었습니다.
추가 사항: 다음 명령을 실행하여 구성 요소의 버전을 확인합니다.
$ oc get tektonpipeline,tektontrigger,tektonaddon,pac
출력 예
NAME VERSION READY REASON tektonpipeline.operator.tekton.dev/pipeline v0.41.1 True NAME VERSION READY REASON tektontrigger.operator.tekton.dev/trigger v0.22.2 True NAME VERSION READY REASON tektonaddon.operator.tekton.dev/addon 1.9.2 True NAME VERSION READY REASON openshiftpipelinesascode.operator.tekton.dev/pipelines-as-code v0.15.5 True
4.3.2. CLI를 사용하여 OpenShift Pipelines Operator 설치
CLI를 사용하여 OperatorHub에서 Red Hat OpenShift Pipelines Operator를 설치할 수 있습니다.
프로세스
서브스크립션 오브젝트 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
서브스크립션 오브젝트를 생성합니다.
$ oc apply -f sub.yaml
이제 Red Hat OpenShift Pipelines Operator가 기본 타겟 네임스페이스인
openshift-operators
에 설치되었습니다.
4.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
라벨을 추가하면 됩니다.
4.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 리소스를 수동으로 생성해야 합니다.
4.3.5. 추가 리소스
- OpenShift Container Platform에 Operator를 설치하는 방법은 클러스터에 Operator 추가 섹션에서 확인할 수 있습니다.
- Red Hat OpenShift Pipelines Operator를 사용하여 Tekton Chains를 설치하려면 Using Tekton Chains for Red Hat OpenShift Pipelines supply chain security 을 참조하십시오.
- 클러스터 Tekton Hub에서 설치 및 배포하려면 Using Tekton Hub with Red Hat OpenShift Pipelines 를 참조하십시오.
제한된 환경에서 파이프라인을 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오.