Delivery Pipeline Private Worker 설치
DevOps Insights 2026년 8월 31일에 서비스 종료되어 중단될 예정입니다. Continuous Delivery 은 2027년 2월 12일에 au-syd, ca-tor, us-east 지역에서 중단될 예정입니다. 또한 해당 날짜를 기점으로 Code Risk Analyzer는 모든 지역에서 서비스가 중단될 예정입니다. 특정 지역에서 해당 기능을 실제로 사용하지 않는 경우, 해당 지역의 기능은 예정보다 일찍 중단될 수 있으며 새로운 인스턴스 등록이 더 이상 허용되지 않을 수 있습니다. 자세히 알아보기
Delivery Pipeline 개발 팀이 도구 체인 구성에서 개인용 작업자를 사용할 수 있도록 IBM Cloud® Continuous Delivery Private Worker를 설치 및 등록합니다. 개발자는 인바운드 네트워크에 연결하지 않고 개인용 작업자 설치의 네트워크 범위 내에서 워크로드를 실행할 수 있습니다.
Delivery Pipeline은 공용 및 개인용 작업자를 사용하여 파이프라인 작업을 실행합니다. 기본적으로 파이프라인 작업은 IBM 관리 공용 공유 인프라에서 공용 작업자를 사용하여 실행됩니다. 파이프라인 작업은 공용 네트워크(IBM 내부 및 외부 모두)에서만 리소스에 액세스할 수 있고 작업당 런타임이 60분으로 제한됩니다.
특정 시나리오에서는 Delivery Pipeline에 내부 또는 온프레미스 리소스에 대한 액세스 권한이 필요할 수도 있습니다. 이러한 상황에서 Delivery Pipeline Private Worker를 연결하고 통합하여 고유 Kubernetes 인프라에서 실행할 수 있습니다.
개인용 클러스터에 설치된 개인용 작업자 에이전트는 IBM 호스팅 개인용 작업자 서비스에서만 데이터를 요청합니다. 데이터 플로우는 단방향이며 에이전트에서만 시작됩니다.
전제조건
개인용 작업자를 설치하기 전에 인증 키를 작성할 IBM Cloud® 계정이 있는지 확인하십시오. 관리자의 데스크탑 컴퓨터에 최신 kubectl 버전이 설치되어 있어야 합니다. 또한 프라이빗 워커를 설치하려면 관리자 권한이 부여된 Kubernetes 클러스터 ( 1.15 이상 버전)가 있어야 합니다.
-
제안되는 Kubernetes 클러스터 구성:
- IBM Cloud Kubernetes Service IBM Cloud Public에서 워크로드를 격리된 환경에서 실행하려면 버전 이상이 필요합니다. 1.21
- Red Hat® OpenShift® on IBM Cloud® 버전 4.9 이상.
-
네트워크 액세스:
-
인바운드: 필수가 아닙니다.
-
아웃바운드 네트워크 액세스는
(TCP:443)을 사용하며, 여기서 리전은 전달 파이프라인 위치와 일치하며au-syd(호주 시드니),eu-de(독일 프랑크푸르트),eu-gb(영국 런던),jp-tok(일본 도쿄),us-south(미국 댈러스),us-east(미국 워싱턴 D.C.),br-sao(상파울루) 또는ca-tor(캐나다 토론토) 중 하나여야 합니다. 예를 들어 프랑크푸르트 지역의 경우https://private-worker-service.eu-de.devops.cloud.ibm.com (TCP:443)을 지정하십시오. API 키 유효성 검증을 위한 글로벌 엔드포인트에 대한 네트워크 액세스의 경우https://iam.cloud.ibm.com (TCP:443)을 사용하십시오.
-
-
icr.io에서 이미지를 가져올 수 있는 권한. 개인용 작업자 설치를 완료하려면 개인용 작업자에게 tekton-pipelines 인프라가 필요하며 icr.io에서 tekton-releases 이미지를 가져올 수 있어야 합니다.
icr.io컨테이너 레지스트리에서 이미지를 가져오려면 특정 Kubernetes ClusterImagePolicy 으로 이동해야 할 수 있습니다.
비공개 워커는 Red Hat OpenShift 파이프라인과 호환되지 않으므로, Red Hat OpenShift 파이프라인이 있는 클러스터에는 이를 설치하지 않는 것이 좋습니다.
Delivery Pipeline Private Worker 설치
개인용 작업자를 설치하려면 클러스터에 대한 관리자 레벨 액세스 권한이 있어야 합니다. 그래픽 사용자 인터페이스를 사용할 수 없으므로 개인용 작업자 설치는 명령행을 통해서만 완료할 수 있습니다.
CLI를 사용하여 Delivery Pipeline Private Worker 설치
다음 단계는 여러 사용자 또는 팀을 위한 환경과 개인용 작업자를 준비하는 관리자를 대상으로 합니다. 사용자만 사용할 수 있는 개인용 작업자를 설치하려면 Delivery Pipeline Private Worker 설정을 참조하십시오.
클러스터에 직접 설치하기
클러스터에 직접 프레임워크를 설치하려면 클러스터에 대한 관리 액세스 권한이 있어야 합니다. IBM Cloud CLI에서 다음 명령을 입력하십시오.
kubectl apply --filename "https://private-worker-service.{REGION}.devops.cloud.ibm.com/install"
여기서 {REGION}은 도구 체인 파이프라인의 위치입니다. {REGION} 에는 다음 값 중 하나를 지정할 수 있습니다:
au-syd(호주 시드니)eu-de(독일 프랑크푸르트)eu-gb(영국 런던)jp-tok(일본 도쿄)us-south(미국 댈러스)us-east(미국 워싱턴 D.C.)ca-tor(캐나다 토론토)br-sao(브라질 상파울루)
방화벽이 설치된 클러스터에 직접 설치하기
클러스터에 직접 프레임워크를 설치하려면 클러스터에 대한 관리 액세스 권한이 있어야 합니다. IBM Cloud CLI에서 다음 명령을 입력하십시오.
kubectl apply --filename "https://private-worker-service.{REGION}.devops.cloud.ibm.com/install?private=true"
여기서 {REGION}은 도구 체인 파이프라인의 위치입니다. {REGION} 에는 다음 값 중 하나를 지정할 수 있습니다:
au-syd(호주 시드니)eu-de(독일 프랑크푸르트)eu-gb(영국 런던)jp-tok(일본 도쿄)us-south(미국 댈러스)us-east(미국 워싱턴 D.C.)ca-tor(캐나다 토론토)br-sao(브라질 상파울루)
이 기능을 사용하려면 VRF 지원 IBM Cloud 계정이 있어야 합니다.
추가 Kubernetes 클러스터에서 이 과정을 반복하여 개인 작업자 풀을 설정할 수 있습니다. 풀의 모든 작업자에게 부하가 공유됩니다.
Delivery Pipeline 개인용 작업자 등록
서비스 ID 작성
서비스 ID는 함께 작동하는 하나 이상의 개인용 작업자 풀을 나타냅니다. 초기에 하나의 개인용 작업자 설치를 등록하고, 동일한 서비스 ID를 다시 사용하여 동일한 그룹에 더 많은 개인용 작업자를 점진적으로 등록할 수 있습니다. 동일한 그룹에 여러 개인용 작업자를 등록하면 개인용 작업자 용량에 대한 가용성을 높이고 수평적으로 확장할 수 있습니다. 서비스 ID에 대한 자세한 정보는 서비스 ID 작성 및 작업을 참조하십시오.
콘솔에서 서비스 ID 작성
- IBM Cloud에 로그인하십시오.
- https://cloud.ibm.com/iam/serviceids로 이동하십시오.
- 작성을 클릭하십시오.
- 서비스 ID의 이름 및 설명을 입력하십시오. 개인용 작업자 풀의 서비스 ID를 작성 중인 경우 개인용 작업자 풀의 이름을 지정하십시오. 예: Acme의 경우 파이프라인 개인용 작업자.
- 작성을 클릭하십시오.
- 이후 사용을 위해 서비스 ID를 저장하십시오. 서비스 ID는 Delivery Pipeline 개인용 작업자 설치를 대상으로 하는 Kubernetes 클러스터에서 필요합니다.
CLI를 사용하여 서비스 ID 작성
IBM Cloud CLI에서 다음 명령을 입력하십시오.
$ ibmcloud iam service-id-create {worker-pool-name} -d "{worker-pool-description}"
Creating service ID {worker-pool-name} bound to current account as username@domain.com...OK
Service ID {worker-pool-name} is created successfully
Name {worker-pool-name}
Description {worker-pool-description}
CRN crn:v1:bluemix:public:iam-identity::a/8d63fb1cc5e99e86dd7229dddff75fef::serviceid:ServiceId-38ffff31-3ea3-4ecc-9732-190f7a993097
Bound To crn:v1:bluemix:public:::a/8d63fb1cc5e99e86dd7229dddff75fef:::
Version 1-6df15bde97b6e87f583a557f8731888f
Locked false
UUID ServiceId-38ffff31-3ea3-4ecc-9732-190f7a993097
API 키 작성
API 키는 호출하는 애플리케이션 또는 사용자를 식별하기 위해 API에 전달되는 고유 코드입니다. API를 악의적으로 사용하지 못하도록 하기 위해 API 키를 사용하여 해당 API의 사용 방법을 추적 및 제어할 수 있습니다. API 키에 대한 자세한 정보는 API 키 이해를 참조하십시오.
콘솔에서 API 키 작성
- IBM Cloud에 로그인하십시오.
- https://cloud.ibm.com/iam/serviceids로 이동하십시오.
- API를 작성할 서비스 ID를 선택하십시오.
- API 키 탭에서 작성을 클릭하십시오.
- 개인용 작업자 설치를 지정하는 API 키에 대한 이름 및 설명을 입력하십시오. 예: IBM Cloud Private에서의 파이프라인 개인용 작업자.
- 작성을 클릭하십시오.
- API 키를 복사 또는 다운로드하십시오. 작성한 후 API 키를 다시 검색할 수 없습니다.
CLI를 사용하여 API 키 작성
IBM Cloud CLI에서 다음 명령을 입력하십시오.
$ ibmcloud iam service-api-key-create {worker-api-key-name} (SERVICE\_ID\_NAME|SERVICE\_ID\_UUID) \[-d, --description DESCRIPTION\] \[--file OUT_FILE\]
Creating API key {worker-api-key-name} of service
SERVICE\_ID\_NAME as username@domain.com...
OK
Service API key {worker-api-key-name} is created
Successfully saved API key information to FILE
Please preserve the API key! It cannot be retrieved after it's created.
Name {worker-api-key-name}
Description Description
Bound To crn:v1:bluemix:public:iam-identity::a/2cac145ae78048679b129009cfe8c7f9::serviceid:ServiceId-9a6a14e5-5811-4c2c-9131-0e1d4bb7dfe1
Created At 2019-07-04T10:51+0000
API Key doJX9kORc4q5PRkH19H3lePDwYRAKNWk4XlIuEBrriOD
Locked false
UUID ApiKey-c1ee0fb5-90f2-476e-a260-a796e6d7f5f7
IBM Cloud을 사용하여 개인용 작업자 등록
IBM Cloud 에 비공개 워커를 등록하려면 먼저 비공개 워커 프레임워크를 배포해야 합니다. 등록 명령을 사용하려면 이전에 개인용 작업자를 설치한 Kubernetes 클러스터(kubectl 사용)에 로그인해야 합니다.
사용으로 설정하려는 Delivery Pipeline의 위치에 해당하는 특정 IBM Cloud 지역을 사용하여 개인용 작업자를 등록해야 합니다.
- 개인용 작업자에 대해 의미 있는 이름을 지정하십시오. 이 이름은 소문자 영숫자로 시작 및 종료해야 하고
_또는.문자도 포함할 수 있습니다. - 이전에 작성한 서비스 ID및 API 키, 개인 작업자 이름 및 도구 체인의 파이프라인 위치인
{REGION}을(를) 사용하여 다음 명령을 실행하십시오.
$ kubectl create secret generic {WORKER_NAME}-auth -n default --from-literal=apikey={API_KEY} && kubectl apply --filename "https://private-worker-service.{REGION}.devops.cloud.ibm.com/install/worker?serviceId={SERVICE_ID}&name={WORKER_NAME}"
workeragent.devops.cloud.ibm.com/worker-name created
secret/worker-name-auth created
{REGION}에 대해 다음 값 중 하나를 지정할 수 있습니다.
* `au-syd` (호주 시드니)
* `eu-de` (독일 프랑크푸르트)
* `eu-gb` (영국 런던)
* `jp-tok` (일본 도쿄)
* `us-south` (미국 댈러스)
* `us-east` (미국 워싱턴 D.C.)
* `ca-tor` (캐나다 토론토)
* `br-sao` (브라질 상파울루)
- 비공개 엔드포인트를 사용하도록 에이전트를 등록하려면 다음과 같이
private쿼리 매개변수(선택 사항)를 사용합니다:
$ kubectl create secret generic {WORKER_NAME}-auth -n default --from-literal=apikey={API_KEY} && kubectl apply --filename "https://private-worker-service.{REGION}.devops.cloud.ibm.com/install/worker?serviceId={SERVICE_ID}&name={WORKER_NAME}&private=true"
{REGION} 에는 다음 값 중 하나를 지정해야 합니다:
* 프랑크푸르트 `eu-de`
* 런던 `eu-gb`
* 댈러스 `us-south`
* 워싱턴 DC `us-east`
참고: 호스트 클러스터가 방화벽이 적용된 환경에 있는 경우, 에이전트를 등록할 때 ‘ private ’ 쿼리 매개변수를 반드시 사용해야 합니다.
- 에이전트가 올바로 등록되었는지 확인하려면 다음 명령을 입력하십시오.
$ kubectl get workeragents
NAME SERVICEID AGENT REGISTERED VERSION AUTH CONSTRAINED PAUSED
<worker_name> <ServiceId> OK Succeeded OK OK false false
개인용 작업자는 default 네임스페이스에 설치됩니다. 이는 tekton-pipelines 네임스페이스에 설치되지 않아야 합니다. 이 네임스페이스는 Tekton 프레임워크 및 에이전트 배치를 위해 예약되어 있습니다. default 네임스페이스가 아닌 다른 네임스페이스에 작업자 에이전트를 설치하면 일부 예기치 않은 부작용이 발생할 수 있습니다.
개인 엔드포인트를 사용하도록 Delivery Pipeline Private Worker 구성
기본적으로 Private Worker에서는 통신을 위해 공용 엔드포인트를 사용합니다. 클러스터 관리자는 Private Worker와 IBM Cloud® Continuous Delivery 서비스 간의 통신에 공용 인터넷을 사용하지 않도록 Private Worker 구성을 업데이트하여 개인용 엔드포인트를 사용하도록 지정할 수 있습니다.
- 클러스터에 설치된 에이전트의 이름을 가져옵니다.
kubectl get workeragents -n default
- 해당 에이전트에 대한
apiUrl를 변경하십시오.
kubectl patch workeragent {WORKER_NAME} --type='merge' -p '{"spec": {"apiUrl":"https://private-worker-service.private.{REGION}.devops.cloud.ibm.com"}}'
여기서 {REGION}은 도구 체인 파이프라인의 위치입니다. 개인용 엔드포인트는 다음 지역에서 사용 가능합니다.
* 댈러스 `us-south`
* 워싱턴 `us-east`
* 프랑크푸르트 `eu-de`
* 런던 `eu-gb`
이 기능을 사용하려면 VRF 지원 IBM Cloud 계정이 있어야 합니다.
- 선택사항입니다. 에이전트에 대한 공용 엔드포인트 사용으로 돌아가려면 다음 명령을 입력하십시오.
kubectl patch workeragent {WORKER_NAME} -n default --type='merge' -p '{"spec": {"apiUrl":"https://private-worker-service.{REGION}.devops.cloud.ibm.com"}}'
Satellite 링크 엔드포인트를 사용하도록 Delivery Pipeline 개인용 작업자 구성
기본적으로 Private Worker에서는 통신을 위해 공용 엔드포인트를 사용합니다. 클러스터 관리자는 개인용 작업자와 Continuous Delivery 서비스 간의 통신이 Satellite 링크 엔드포인트를 통과하도록 Satellite 링크 엔드포인트를 사용하도록 개인용 작업자 구성을 업데이트할 수 있습니다.
- IBM Cloud® Continuous Delivery 서비스의 클라우드 Satellite 링크 엔드포인트 를 작성하고 다음 값을 사용하도록
FQDN및Service indication name를 설정하십시오.
private-worker-service.{REGION}.devops.cloud.ibm.com
여기서 {REGION}은 도구 체인 파이프라인의 위치입니다.
- 공용 엔드포인트를 Satellite 링크 엔드포인트에 맵핑하는 개인용 작업자 네임스페이스에서 configmap을 작성하십시오.
apiVersion: v1
kind: ConfigMap
metadata:
name: pipelineworker-url-map
data:
iam.cloud.ibm.com: <default IAM satellite link endpoint for your satellite location>
private-worker-service.{REGION}.devops.cloud.ibm.com: <satellite link endpoint created in step 1)>
기본값인 Satellite 링크 엔드포인트와 같은 엔드포인트를 구성맵에 추가할 수 있습니다.
Delivery Pipeline 개인용 작업자 설치 업데이트
개인용 작업자가 비활성으로 보고되는 경우 설치를 업데이트해야 합니다.
개인 워커의 버전을 확인하려면 다음 명령어 중 하나를 입력하세요:
- IBM Cloud Kubernetes Service:
kubectl -n tekton-pipelines describe deploy private-worker-agent | grep Image - Red Hat® OpenShift® on IBM Cloud®:
kubectl -n openshift-operators describe deploy private-worker-agent-controller-manager | grep Image
개인용 작업자 설치를 업데이트하려면 다음 단계를 완료하십시오.
- 설치 명령을 다시 실행하십시오.
- Kubernetes 클러스터에서 다시 개인용 작업자를 등록하십시오.
기존 개인용 작업자에 사용한 apikey 를 재사용할 수 있습니다.
Delivery Pipeline 비공개 작업자에 대한 자세한 내용은 Delivery Pipeline 비공개 작업자에 대한 문제 해결 및 파이프라인 비공개 작업자에 대한 FAQ를 참조하세요.