Pipeline Private Worker에 대한 문제점 해결
Pipeline Private Workers 사용 중에 발생할 수 있는 일반 문제점에는 Kubernetes 클러스터 및 kubectl 버전 문제가 포함될 수 있습니다. 대부분의 경우 몇 가지 간단한 단계를 수행하여 이러한 문제점에서 복구할 수 있습니다.
내 Delivery Pipeline Private Worker가 비활성인 이유는 무엇입니까?
작업자 풀의 개인용 작업자는 다음 중 하나의 상태가 될 수 있습니다.
- 현재, 지원되는 버전의 개인용 작업자에서 활성
- 지원되지 않는 버전의 개인용 작업자에서 비활성
- 비활성 및 미등록
개인용 작업자는 비활성입니다. 비활성 개인용 작업자는 수신되는 실행 요청을 처리할 수 없습니다. 비활성 개인용 작업자를 사용하는 파이프라인 단계는 완료할 수 없습니다.
상담원이 비활성 상태가 될 수 있습니다
- Kubernetes 클러스터에 문제가 있고 작업자가 지역 제어 계획 서비스와 통신할 수 없는 경우
- 사용 중인 프라이빗 워커 버전이 더 이상 지원되지 않는 경우
- 클러스터의 에이전트가 등록되지 않은 경우
상담원이 이전에 작업한 후 등록되지 않았음을 보고하는 경우에는 다음 명령을 실행하여 등록을 수정할 수 있습니다
kubectl patch worke${AGENT_NAME} --subresource=status --type=merge -p '{"status": {"registrationStatus": {"state": "Succeeded"}}}'
앞선 명령어가 실패하거나 개인 Delivery Pipeline 작업자가 등록되었음에도 비활성 상태인 경우, 개인 작업자를 다시 설치할 수 있습니다. 클러스터에 Kubernetes 프라이빗 Delivery Pipeline 워커를 다시 등록하십시오.
Kubernetes에서 Delivery Pipeline Private Worker 지원을 설치하려 시도했습니다. 설치 실패 이유는 무엇입니까?
클라이언트 시스템에서 실행 중인 kubectl 버전에 문제가 있는 경우 Delivery Pipeline Private Worker 설치가 실패합니다.
Kubernetes에서 개인용 작업자에 대한 지원을 설치하려 하면 스키마가 일치하지 않고 설치가 실패함을 나타내는 오류 메시지가 표시됩니다.
SchemaError(io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup): invalid object doesn't have additional properties
Kubernetes 서버와 Kubernetes 클라이언트에서 실행 중인 kubectl 버전이 일치하지 않습니다.
클라이언트 시스템에 최신 버전의 kubectl을 설치하십시오.
일부 컨테이너 레지스트리에서 tekton-releases 또는 pipeline-private-worker의 이미지를 가져올 수 없는 이유는 무엇입니까?
클러스터 보안으로 인해 이미지를 가져올 수 없습니다.
개인용 작업자 프레임워크를 설치하려 하면 오류 메시지가 표시됩니다.
Error from server (InternalError): error when creating "https://private-worker-service.us-south.devops.cloud.ibm.com/install": Internal error occurred: admission webhook "trust.hooks.securityenforcement.admission.cloud.ibm.com" denied the request:
Deny "ghcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/controller@sha256:80e040a58ce6c4d58ae893eb934777bce013ef8be079967dc3db783d76fa5aaa", no matching repositories in ClusterImagePolicy and no ImagePolicies in the "tekton-pipelines" namespace
Error from server (InternalError): error when creating "https://private-worker-service.us-south.devops.cloud.ibm.com/install": Internal error occurred: admission webhook "trust.hooks.securityenforcement.admission.cloud.ibm.com" denied the request:
Deny "ghcr.io/tekton-releases/github.com/tektoncd/pipeline/cmd/webhook@sha256:da75fbdaeb800813d85b99f7f54b665e8d0edbb2c5a7ffc6a99d66aede0291a3", no matching repositories in ClusterImagePolicy and no ImagePolicies in the "tekton-pipelines" namespace
개인용 작업자 설치 프로그램은 icr.io 에서 이미지를 가져옵니다. IBM Cloud Private과 같은 일부 플랫폼에서는 기본 이미지 정책에서 이러한 컨테이너 레지스트리가 허용되지 않습니다.
클러스터에서 이미지를 가져오는 정책이 이미지 가져오기를 지원하는지 icr.io 확인하십시오. 예를 들어 IBM Cloud Private에서 개인용 작업자 프레임워크를 설치 중인 경우 IBM Cloud Private Web 콘솔을 사용하여 이러한 정책을 추가하십시오. 웹 IBM Cloud Private 콘솔을 사용하여 이미지 보안 적용을 관리하는 방법에 대한 자세한 내용은 컨테이너 이미지 보안 적용을 참조하십시오. Porteris를 사용하여 이미지 보안 적용을 관리하는 방법에 대한 자세한 내용은 정책을 Portieris 참조하십시오.
다음 예제에서는 IBM Cloud CLI를 사용하여 ClusterImagePolicy:
입학 컨트롤러로 Portieris 를 사용하는 경우, 예시에서 apiVersion 를 로 변경해야 할 portieris.cloud.ibm.com/v1 수 있습니다.
cat <<EOF | kubectl apply -f -
apiVersion: securityenforcement.admission.cloud.ibm.com/v1beta1
kind: ClusterImagePolicy
metadata:
name: iks-private-registries
spec:
repositories:
- name: "*.icr.io/*"
policy:
EOF
내 Delivery Pipeline Private Worker가 나열되지 않는 이유는 무엇입니까?
내 개인용 작업자 에이전트는 inactive 상태로 클러스터에 나열되지만 개인용 작업자 통합 개요 페이지에는 나열되지 않습니다.
작업자 에이전트를 설치하는 데 사용된 API키는 개인용 작업자 통합에서 사용되는 ServiceID 에 포함되지 않을 수 있습니다.
클러스터에서 잘못 구성된 작업자 에이전트를 제거하고 작업자 에이전트를 다시 설치하십시오. 설치 명령에 포함된 API키가 동일한 설치 명령에서 사용되는 ServiceId 에도 있는지 확인하십시오. 개인 작업자 통합 페이지와 IAM(Identity and Access Identity and Access Management Management) 페이지 모두에서 제공되는 ServiceId 링크를 사용하여 유효한 API 키를 생성하십시오.