확장기능
IBM Cloud Schematics 용 에이전트에 대한 자주 묻는 질문에 대한 답변입니다.
GA 에이전트 릴리스의 갱신사항은 무엇입니까?
다음은 에이전트 릴리스의 기능입니다.
- CLI및 UI를 통해 에이전트 배치 경험이 개선되었습니다.
- 에이전트에서 Ansible 플레이북 실행을 지원합니다.
- 에이전트에 대한 작업공간 또는 조치 작업의 동적 지정입니다.
에이전트 설치 및 사용 비용은 얼마입니까?
다음은 Schematics 에이전트를 배치하고 사용하기 위한 비용 분석입니다.
에이전트를 배치하고 실행하는 데 필요한 사전 설치 소프트웨어 인프라는 유료입니다.
- 서브넷, 퍼블릭 게이트웨이와 같은 VPC 인프라 요소의 비용입니다.
- 3노드작업자 풀이 있는 VPC의 IBM Cloud Kubernetes Service (클러스터) 비용입니다.
- IBM Cloud Object Storage
에이전트 서비스 실행:
- 에이전트에서 작업을 실행하는 데는 비용이 들지 않습니다.
- Schematics 버전 1에이전트 기능은 무료 기능입니다. 향후 버전은 비용이 청구될 수 있습니다.
클러스터에 둘 이상의 에이전트를 설치할 수 있습니까?
IBM Cloud Kubernetes Service 클러스터에 하나의 에이전트만 설치할 수 있습니다. 추가 에이전트를 배치하려면 추가 클러스터가 필요합니다. 클러스터에 둘 이상의 에이전트를 설치하려고 시도하면 배치 작업이 네임스페이스 충돌 오류와 함께 실패합니다.
에이전트에서 지원되는 Terraform 버전은 무엇입니까?
Schematics 에서 지원하는 두 개의 최신 버전의 Terraform만 에이전트에서 지원됩니다 (예: Terraform v1.13 및 Terraform v1.14). 이전 버전의 Terraform은 지원되지 않습니다. 이전 버전의 Terraform을 사용하는 작업공간은 에이전트를 사용하기 전에 지원되는 버전 중 하나로 업데이트해야 합니다. 에이전트를 사용하기 전에 업그레이드하려면
새 Terraform 버전으로 업그레이드 지시사항을 참조하십시오.
terraformx.x: executable file not found in $PATH 로 인해 작업공간 실행이 실패하는 이유
작업공간에서 사용되는 Terraform 버전은 에이전트에서 지원되지 않습니다. 에이전트는 Terraform v1.13 및 v1.14 또는 Schematics에서 지원하는 두 개의 최신 버전의 Terraform을 사용하여 작업공간을 지원합니다. 이전 버전의 Terraform이 있는 작업공간은 에이전트가 지원하도록 지원되는 버전 중 하나로 업데이트해야 합니다. 자세한 정보는 더 이상 사용되지 않는 스케줄 및 업그레이드할 사용자 조치 를 참조하십시오.
에이전트에서 실행할 수 있는 작업 유형은 무엇입니까?
에이전트에서 Schematics 작업공간 Terraform및 조치 작업을 실행할 수 있습니다.
에이전트에서 실행 중인 작업에 대한 Schematics 작업 결과 및 로그를 어떻게 볼 수 있습니까?
작업공간 작업 또는 조치 작업 로그는 Schematics UI 콘솔에서 사용 가능합니다. Schematics 작업공간 API 또는 CLI를 사용하여 작업 로그에 액세스할 수도 있습니다.
에이전트 릴리스에 필요한 최소 클러스터 구성은 무엇입니까?
에이전트에는 유형이 b4x16 이상인 최소 세 개의 작업자 노드가 있는 IBM Cloud Kubernetes Service 서비스가 필요합니다.
에이전트에 지정할 수 있는 작업공간 수는 몇 개입니까?
현재 에이전트에 임의의 수의 작업공간을 지정할 수 있습니다. 작업공간 작업은 에이전트 지정 정책에 따라 에이전트에서 실행되도록 큐에 대기됩니다. 에이전트는 주기적으로 Schematics 에서 폴링 간격 1분으로 실행할 작업을 폴링합니다. 기본적으로 에이전트는 세 개의 작업만 병렬로 실행합니다. 나머지 작업은 큐에 대기됩니다.
에이전트에서 병렬로 실행할 수 있는 작업 수는 몇 개입니까?
Schematics 에이전트는 세 개의 Git 다운로드, 작업공간 작업 (Terraform 명령) 및 조치 작업 (Ansible 플레이북) 을 병렬로 수행할 수 있습니다. 이전 작업이 실행을 완료하면 추가 작업이 큐에 대기되어 실행됩니다.
에이전트의 기본 폴링 간격은 무엇입니까?
Schematics 는 에이전트에 대한 작업 큐를 유지보수합니다. 기본적으로 1분마다 에이전트가 작업을 폴링합니다.
에이전트에 대해 작업할 때 실행 제한시간 한계가 있습니까?
Schematics 에이전트는 local-exec, remote-exec 및 Ansible 플레이북 실행에 대한 제한시간 제한사항을 완화합니다. 이는 모든 사용자가 공정하게 서비스를 이용할 수 있도록 다중 테넌트 서비스에서 60분으로 제한됩니다. 에이전트에서 실행된 작업에는 지속 기간이 적용되지 않습니다. 긴 작업 실행 시간에는 모든 클러스터 작업의 시기 적절한 실행을 보장하기 위해
더 많은 사용자 클러스터 용량 및 작업자 노드가 필요합니다.
소프트웨어 설치 태스크를 수행하는 장기 실행 작업에 Continuous Delivery 와 같은 서비스를 사용하는 것이 좋습니다.
에이전트 서비스에서 agent-location 및 location 플래그의 차이점은 무엇입니까?
--agent-location 매개변수는 에이전트 서비스가 배치되는 클러스터의 영역을 지정하는 변수입니다. 예를 들어, us-south입니다. 이는 클러스터 지역과 일치해야 합니다.
--location 매개변수는 Schematics 서비스에서 지원하는 리젼을 지정하는 변수입니다 (예: us-south, us-east, eu-de, eu-gb). 에이전트는 처리할 작업공간 또는 조치 작업에 대해 이 위치에서 Schematics 서비스 인스턴스를 폴링합니다.
에이전트가 다른 자원 그룹과 연관된 작업공간 작업을 실행할 수 있습니까?
예, 에이전트가 계정에서 임의의 자원 그룹과 연관된 작업공간 또는 조치 작업을 실행할 수 있습니다. 에이전트 (지정) 정책은 자원 그룹, 리젼 및 사용자 태그를 기반으로 작업 실행을 특정 에이전트에 지정하는 데 사용됩니다.
에이전트가 다른 Schematics 리젼에 속하는 작업공간 및 조치에 대해 작업할 수 있습니까?
에이전트 배치는 작업 실행을 위해 Schematics 홈 리젼과 연관됩니다. 동일한 리젼 (예: North America 또는 Europe) 에 정의된 작업공간 또는 조치 작업만 실행할 수 있습니다.
에이전트는 정기적으로 홈 Schematics 리젼을 폴링하여 작업을 페치하고 실행합니다. 홈 영역을 포함하는 영역에 대해 정의된 작업공간 또는 조치 작업만 실행할 수 있습니다. 예를 들어, 시드니의 사용자 클러스터에 배치된 에이전트는 eu-de 를 홈 위치로 사용하도록 구성되어 있습니다. 에이전트는 eu-de 및 eu-gb 지역을 모두 포함하는 유럽 지역의 작업을
폴링합니다. 시드니 에이전트를 사용하여 자원을 배치하려면 eu-de 또는 eu-gb 지역에서 작업공간 또는 조치를 작성해야 합니다.
에이전트를 사용하여 여러 계정에 대한 작업을 실행할 수 있습니까?
아니오, 에이전트는 단일 상위 Schematics 계정과 연관되며 이 계정에 속하는 작업공간 또는 조치에 대한 작업만 실행할 수 있습니다.
기존 작업공간이 에이전트에서 작업을 실행할 수 있습니까?
예. 작업 공간 및 조치는 에이전트에서 실행할 정책에 의해 선택됩니다. Schematics agent-selection-policy 는 태그, 자원-그룹, 위치의 정책 속성과 일치하는 경우 대상 에이전트에서 실행할 기존 (또는 새) 작업공간 또는 조치를 지정합니다.
예를 들어, tag=dev 가 있는 기존 작업공간 wks-0120 가 있고 이 작업공간을 Agent-1 에서 실행하려는 경우입니다. tag == dev 인 경우 Agent-1 을 선택하는 규칙을 사용하여 agent-selection-policy 를 작성하십시오. 나중에 계획, 적용, 업데이트와
같은 작업공간 작업이 Agent-1 에서 실행되도록 동적으로 라우팅됩니다.
에이전트를 배치하는 데 필요한 IAM 권한은 무엇입니까?
액세스 권한에 대한 정보는 에이전트 권한 을 참조하십시오.
에이전트 실행 중에 IBM Cloud Kubernetes Service 의 파드 또는 컨테이너 내 ‘신뢰할 수 있는 CA 루트 인증서 저장소’에 자체 서명된 인증서나 TLS 인증서를 추가할 수 있나요?
예, 다음 단계에 따라 인증서를 에이전트 런타임에 삽입하십시오.
네 개의 .cer 확장 파일 이름에서 공백을 밑줄로 대체하도록 수정해야 합니다.
-
kubectrl명령에 표시된 대로.cer파일을 사용하여 구성 맵을 작성하십시오.kubectl -n schematics-runtime create configmap xyz-root —-from-file 2014-2044_xyz_Root.cerkubectl -n schematics-runtime create configmap xyz-authentication —-from-file 2014-2029 xyz_Users_Authentication.cerkubectl -n schematics-runtime create configmap xyz-infrastructure —-from-file 2014-2029 xyz_Infrastructure.cer -
구성 맵 파일을
/etc/ssl/certs/디렉토리의 볼륨으로 공유xyz_agent_deployment_files디렉토리의agent-runtime-deployment-certs.yaml파일로 마운트하십시오.
공유 디렉토리 xyz_agent_deployment_files 에는 다음과 같은 두 개의 yaml 파일이 있습니다. - agent-runtime-deployment-certs.yaml 및 - agent-runtime-deployment.yaml.
agent-runtime-deployment-certs.yaml 파일은 인증서를 업데이트하고 추가 변경 없이 인증서를 삽입하기 위해 원하는 배치 세부사항을 제공하는 agent-runtime-deployment.yaml 파일을 추가합니다.
실행할 대상 에이전트를 동적으로 선택하는 데 사용되는 작업공간 또는 조치의 속성
Schematics 작업 공간 또는 작업의 다음 속성은 에이전트 인스턴스를 동적으로 선택하는 데 사용됩니다.
- 리소스 그룹
- 위치 (지역)
- 태그
에이전트 인스턴스의 에이전트 지정 정책 은 작업공간 또는 조치 작업을 실행하기 위해 선택되는 에이전트를 판별합니다.
다음은 태그 사용에 대한 샘플 시나리오입니다.
조직에 세 개의 서로 다른 네트워크 격리 구역 (예: Dev, HR-Stage 및 HR-Prod) 이 있고 세 개의 에이전트 (세 개의 네트워크 격리 구역에 대해 각각 하나씩) 를 설치한 경우. Dev 에서 실행 중인 에이전트에 대해 agent-assignment-policy 를 정의했으며, 선택기는 tags=dev 입니다. tags=dev 가 자동으로 있는 모든 작업공간은 Dev 에이전트에 바인드됩니다. 즉, Dev 에이전트는 Terraform 템플리트를 다운로드하고 ( Git 저장소에서) Terraform 작업을 실행하는 데 사용됩니다. 마찬가지로 agent-assignment-policy 에는 작업 실행을 위한 에이전트를 정의하기 위한 작업공간의
다른 속성이 포함될 수 있습니다.
에이전트에서 디버그 모드를 사용하는 방법은 무엇입니까?
다음 단계를 수행하여 에이전트의 디버그 모드를 사용 또는 사용 안함으로 설정할 수 있습니다.
- IBM Cloud에 로그인하십시오.
- 네비게이터 창에서 Kubernetes 를 클릭한 후 클러스터 를 클릭하십시오.
- Kubernetes 클러스터 페이지에서 클러스터 > Kubernetes 대시보드를 클릭하십시오.
- 기본값 드롭 다운을 클릭하여 네임스페이스목록을 보십시오.
- 드롭 다운에서 Schematics-job-runtime 네임스페이스를 입력하십시오.
- 구성 및 스토리지에서 구성 맵 을 클릭하십시오.
- 구성 맵 페이지에서. schematics-jobrunner-config 에 대해 세 개의 점을 클릭하십시오.
- 편집 을 클릭하여 YAML 및 JSON 탭이 있는 리소스 편집 페이지를 보십시오.
- 이제 작업 실행기 마이크로서비스 로깅에 대한
JR_LOGGERLEVEL매개변수를 편집할 수 있습니다. 기본적으로 값은JR_LOGGERLEVEL를0로 편집해야 하는 디버그 사용 안함을 표시하는-1입니다. - ‘업데이트’를 클릭하여 변경 사항을 적용하세요.
- 기본값 드롭 다운을 클릭하여 네임스페이스목록을 보십시오.
에이전트 베타 버전을 에이전트 GA (General Availability) 버전으로 업그레이드할 수 있습니까?
아니오, 에이전트 베타 설정을 에이전트 GA 버전으로 업그레이드할 수 없습니다.
Schematics 에이전트가 Terraform 클라우드 에이전트와 동일합니까?
Schematics 에이전트는 Terraform 클라우드 에이전트와 유사한 역할을 수행합니다.
에이전트가 IBM Cloud 클라우드 리소스에서 실행됩니까?
Schematics 에이전트는 작업공간 및 조치 워크로드만 실행할 수 있습니다. 베타의 경우 에이전트는 사용자 계정의 IBM Cloud IBM Cloud Kubernetes Service 클러스터에 배치됩니다.
Schematics 에이전트에서 30개의 작업을 지원하는 데 필요한 최소 클러스터 구성은 무엇입니까?
IBM Cloud® Virtual Servers for Virtual Private Cloud 또는 IBM Cloud® Kubernetes Service 클러스터의 경우. bx2.4x16 특성이 있는 9 최소 노드 수가 필요하며 규정된 복제본 수를 포함하도록 다음 에이전트 마이크로서비스 배치를 편집해야 합니다.
| 마이크로서비스 | 복제본 수 |
|---|---|
| jobrunner | 4 |
| 샌드박스 | 8 |
| 런타임 | 16 |
사용자가 에이전트에 의해 작성된 작업을 식별할 수 있는 방법은 무엇입니까?
작업공간 작업 로그를 통해 에이전트가 작업공간을 작성하는지 식별할 수 있습니다.
작업공간이 에이전트에 의해 작성되었지만 여전히 작업공간 작업 로그에 참조가 없을 수 있습니까?
아니오, 에이전트가 작업공간을 작성하는 경우 작업공간 작업 로그에 참조가 표시되어야 합니다. 참조가 표시되지 않으면 정책 유효성 검증이 실패했는지 확인해야 합니다.
Schematics 에이전트가 사설 Git 인스턴스와의 연결을 설정할 수 있습니까?
예, Schematics 에이전트가 사설 Git 인스턴스와의 연결을 설정합니다. 다만, SSL 인증서를 보유하고 있어야 하며, 에이전트 마이크로서비스에서 다음 단계를 따라야 합니다.
Jobrunner,Sandbox및Runtime-ws에이전트 마이크로서비스에서 SSL 인증서를 구성하여 연결을 설정하십시오.- Kubernetes Service configmap 마운팅을 사용하여 구성을 수행해야 합니다.
-
필요한 SSL 인증서가 포함된 컨피그맵을 생성합니다. 예를 들어,
kubectl -n schematics-job-runtime create configmap mytestcert --from-file cert.pem -
configmap을 볼륨으로 사용하고
Jobrunner,Sandbox및Runtime-ws마이크로서비스의 배치 파일에서 공유로 마운트하십시오.apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" kubernetes.io/change-cause: job_runner_1.0 creationTimestamp: "2023-09-14T12:18:07Z" generation: 1 labels: app: jobrunner name: jobrunner namespace: schematics-job-runtime resourceVersion: "23425" uid: fa66583a-8bdb-40a1-9b05-df2c2bf56656 spec: progressDeadlineSeconds: 600 ..... ..... volumes: - hostPath: path: /var/log/at type: "" name: at-events - hostPath: path: /var/log/schematics type: "" name: ext-logs - name: mytestcert #### added as a volume configMap: name: mytestcert status: availableReplicas: 1 conditions: - lastTransitionTime: "2023-09-14T12:18:42Z" lastUpdateTime: "2023-09-14T12:18:42Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2023-09-14T12:18:07Z" lastUpdateTime: "2023-09-14T12:18:42Z" message: ReplicaSet "jobrunner-7f9ffdf959" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1
-
Schematics 에이전트가 사설 Git 인스턴스와의 연결을 업데이트할 수 있습니까?
예, 개인용 Git 인스턴스를 사용하여 카탈로그 온보딩을 수행하기 위해 메타데이터로 에이전트를 업데이트할 수 있습니다. 참조를 위해 샘플 업데이트 API 요청을 사용하십시오.
에이전트에 메타데이터가 없는 경우에만 이 단계를 수행하십시오.
curl -X PUT 'https://schematics.cloud.ibm.com/v2/agents/<agent_id>'
-H 'Authorization: Bearer <token>'
-H 'X-Feature-Agents: true'
-H 'refresh_token: <refresh_token>'
-d '{
"agent_metadata": [
{
"name": "purpose",
"value": ["git"]
},
{
"name": "git_endpoints",
"value": ["https://myprivate-gitinstance/testrepo"]
}
]
}'