차량 운영
CLI 또는 콘솔을 사용하여 ‘ Code Engine ’ 플릿을 실행하려면 다음 단계를 따르십시오.
시작하기 전에
플릿을 성공적으로 운영하려면 플릿 운영 준비하기의 단계를 따랐는지 확인하세요. 또한 Code Engine 을 사용하여 플릿을 생성할 때 참조하는 이미지를 빌드할 수도 있습니다.
콘솔을 사용하여 차량 운영
Code Engine 콘솔에서 차량 함대를 운영하려면 다음 단계를 따르세요.
- 다음 콘솔을 Code Engine 콘솔을 엽니다.
- 작성 시작을 클릭하십시오.
- 사용 가능한 프로젝트 목록에서 프로젝트를 선택하십시오. 프로젝트를 새로 작성할 수도 있습니다. 플릿을 실행하려면 선택한 프로젝트가 있어야 합니다.
- 함대를 생성하는 옵션을 선택합니다.
- 함대의 이름을 지정하십시오. 프로젝트 내의 모든 차량에서 이름이 고유한지 확인하세요.
- 차량에 대한 컨테이너 이미지를 지정합니다(예:
icr.io/codeengine/helloworld). 컨테이너 이미지로 변환하고자 하는 자체 소스 코드가 있는 경우, ‘빌드 계획 수립’을 참조하십시오. 이 예제에서 사용된 코드에 대한 자세한 내용은helloworld. - 지시에 따라 차량을 구성하세요. 스케일링 매개변수의 중요성에 대한 자세한 내용은 ‘플릿 스케일링 구성’을 참조하십시오.
- '작업' 섹션에서 함대에 초기 작업을 추가할지 여부를 지정하십시오. 자세한 내용은 작업 사양을 참조하세요.
- 리소스 및 확장 섹션에서 인스턴스 리소스를 구성하고 인스턴스 확장 또는 축소 방법을 지정합니다.
- 네트워크 배치 섹션에서 서브넷 풀 선택을 클릭합니다.
- 새 서브넷 풀을 생성하여 이 차량의 작업자의 네트워크 배치를 지정합니다. 자세한 내용은 Code Engine 에서 서브넷 풀 연결 작업을 참조하세요.
- 또는 하나 이상의 기존 서브넷 풀을 선택하여 이 플릿의 작업자의 네트워크 배치를 지정할 수 있습니다.
- ‘적용’을 클릭하여 선택을 확인하십시오.
- 환경 변수 및 볼륨 마운트 섹션에서 실행 중인 코드에서 사용할 수 있는 선택적 키-값 쌍, 구성 맵 또는 추가 파일을 추가합니다.
- 작성을 클릭하십시오.
작업 사양
초기 작업이 있든 없든 상관없이 차량 그룹을 생성할 수 있으며, 언제든지 작업을 추가할 수 있습니다.
콘솔에서 작업 지정하기
초기 작업이 없는 함대를 생성하려면 ‘콘솔을 사용하여 초기 작업이 없는 함대 생성’을 참조하십시오. 생성 후 작업을 추가하려면 ‘콘솔을 사용하여 함대에 작업 추가하기’를 참조하십시오.
다음 방법 중 하나를 사용하여 작업을 지정할 수 있습니다
- 작업 수: ‘작업 수’를 선택하고 양의 정수 값을 입력하십시오.
- 작업 인덱스: 작업 범위를 지정하려면,
2-5,7-8,10와 같이 쉼표로 구분된 범위 목록과 양의 정수로 구성된 작업 인덱스 집합을 지정할 수 있습니다. 작업 인덱스를 선택하고 범위를 입력하세요. - 파일 기반 작업: 서로 다른 명령어나 인수를 사용하여 다양한 작업을 실행하려면, 이미지 정의를 재정의하는 작업 지정 파일을 생성할 수 있습니다. 선택 사항인
idx필드를 사용하여 사용자 지정 작업 인덱스를 지정할 수 있습니다. 이 파일은 JSONL 형식으로 되어 있어야 합니다. 파일에서 ‘작업’을 선택하십시오. 로컬 파일을 업로드하거나 IBM Cloud Object Storage 에 있는 파일의 경로를 지정하세요. 작업 명세 파일에 추가할 수 있는 줄의 예시는 다음과 같습니다.{ "cmds": ["my", "multipart", "command"], "args": ["arg1", "arg2"] } { "cmds": ["other", "cmd"], "args": ["arg"], "idx": "foo" } { "args": ["argA", "argB", "argC"], "idx": "bar" } { "cmds": ["just", "another", "command"], "idx": "1234" } - IBM Cloud Object Storage 의 작업: 영구 데이터 저장소( Object Storage 버킷)에 있는 객체를 기반으로 작업을 지정합니다. 각 객체는 하나의 작업을 생성합니다. Cloud Object Storage 에서 ‘작업’을 선택한 다음, 영구 데이터 저장소를 생성하거나 선택하십시오. 선택 사항으로 하위 경로를 지정할 수 있습니다.
배치 이름(선택 사항): 이 작업으로 추가된 모든 작업에 적용할 배치 이름을 입력합니다. 배치 이름은 관련 작업을 식별하고 그룹화합니다. 배치 이름은 고유할 필요가 없으므로, 실패한 작업을 다시 시도할 때 원래의 배치 이름을 재사용할 수 있습니다. 예를 들어, 배치 이름에는 날짜나 고객 이름이 포함될 수 있습니다.
CLI에서 작업 지정하기
초기 작업이 없는 함대를 생성하려면 “CLI를 사용하여 초기 작업이 없는 함대 생성”을 참조하십시오. 생성 후 작업을 추가하려면 ‘CLI를 사용하여 기존 플릿에 작업 추가하기’를 참조하십시오. 초기 작업이 포함된 함대를 생성하려면 “CLI를 사용하여 초기 작업이 포함된 함대 생성”을 참조하십시오.
다음 방법 중 하나를 사용하여 작업을 지정할 수 있습니다.
- 작업 수: 양의 정수 값을 지정하십시오.
--tasks옵션을 사용하여 실행할 작업의 수를 지정하십시오. 작업이 없는 함대를 생성하려면 ‘--tasks’ 옵션을 생략하십시오. - 작업 인덱스: 작업 범위를 지정하려면,
2-5,7-8,10와 같이 쉼표로 구분된 범위 목록과 양의 정수로 구성된 작업 인덱스를 지정할 수 있습니다.--task-indexes옵션을 사용하십시오. - 파일 기반 작업: 서로 다른 명령어나 인수를 사용하여 다양한 작업을 실행하려면, 이미지 정의를 재정의하는 작업 지정 파일을 생성할 수 있습니다. 선택 사항인
idx필드를 사용하여 사용자 지정 작업 인덱스를 지정할 수 있습니다. 이 파일은 JSONL 형식으로 되어 있어야 합니다.--tasks-from-local-file또는--tasks-from-cos-object옵션을 사용하여 파일을 지정하십시오. 작업 명세 파일에 추가할 수 있는 줄의 예시는 다음과 같습니다.{ "cmds": ["my", "multipart", "command"], "args": ["arg1", "arg2"] } { "cmds": ["other", "cmd"], "args": ["arg"], "idx": "foo" } { "args": ["argA", "argB", "argC"], "idx": "bar" } { "cmds": ["just", "another", "command"], "idx": "1234" } - IBM Cloud Object Storage 의 작업: 영구 데이터 저장소( Object Storage 버킷)에 있는 객체를 기반으로 작업을 지정합니다. 각 객체는 하나의 작업을 생성합니다.
--tasks-from-cos-bucket옵션을 사용하여 Object Storage 버킷과 선택적 하위 경로를 지정하십시오.
콘솔을 사용하여 초기 작업이 없는 함대 생성하기
작업 내용을 지정하지 않고도 함대를 생성할 수 있습니다. '최소 컨테이너 슬롯' 또는 '여유 컨테이너 슬롯'의 값이 0이 아닌 경우, 워커가 즉시 프로비저닝됩니다. 그렇지 않으면, 첫 번째 작업이 추가될 때까지 작업자가 생성되지 않습니다.
이 접근 방식은 플릿이 여러 출처로부터 또는 일정대로 작업을 수신하는, 공유되고 수명이 긴 리소스일 때 사용하십시오.
초기 작업이 없는 플릿을 생성하려면 ‘콘솔을 사용하여 플릿 실행’의 단계를 따르세요. 8단계에서 ‘초기 작업 지정’을 ‘아니요 ’로 설정합니다.
함대를 복사하여 새 함대 생성하기
Code Engine 콘솔을 사용하여 기존 함대의 구성을 복사함으로써 새로운 함대를 생성할 수 있습니다. ‘복사 생성’ 기능은 컨테이너 이미지 참조, 리소스 할당, 환경 변수, 스케일링 설정 등 소스 플릿의 모든 구성 설정을 새로운 플릿으로 복제하며, 사용자는 이 새로운 플릿을 독립적으로 사용자 정의할 수 있습니다. 작업은 복사되지 않습니다.
새로운 플릿은 독립적인 워크로드로 작동합니다. 원본 함대는 새 함대의 변경 사항에 영향을 받지 않으며, 그 반대의 경우도 마찬가지입니다.
시작하기 전에, 프로젝트에 기존 차량 그룹이 이미 생성되어 있는지 확인하십시오.
- Code Engine 프로젝트 페이지를 찾아보세요.
- 프로젝트 이름을 클릭하면 개요 페이지가 열립니다.
- ‘함대’를 클릭하면 소유한 함대 목록이 열립니다.
- 다음 방법 중 하나를 사용하여 ‘복사본 만들기’ 옵션을 엽니다
- 복사하려는 함대의 이름을 클릭하면 해당 함대 페이지가 열립니다. 그런 다음 페이지 오른쪽 상단에 있는 ‘작업’ 메뉴를 클릭하고 ‘복사본 만들기’를 선택하세요.
- 함대 목록에서 복사하려는 함대의 행 작업 아이콘(⋮)을 클릭한 다음 ‘복사본 만들기’를 선택하세요.
- '함대 생성' 페이지에서는 소스 함대의 구성 정보가 미리 입력되어 있습니다. 새 함대에 사용할 고유한 이름을 입력하세요. 프로젝트 내에서 고유한 이름을 사용하십시오.
- 컨테이너 이미지, 리소스 할당, 환경 변수, 스케일링 설정 등 새 플릿에 대한 모든 구성 설정을 검토하고, 필요한 경우 수정하십시오.
- ‘생성’을 클릭하여 새 함대를 생성하십시오.
콘솔을 사용하여 차량 그룹에 작업 추가하기
작업 추가 버튼을 사용하면, 함대의 상태가 ‘ 처리 중 ’, ‘ 달리기 ’ 또는 ‘ 대기 ’ 중 어느 상태이든 상관없이 언제든지 함대에 작업을 추가할 수 있습니다.
Code Engine 는 비동기적으로 작업 레코드를 생성하고, 필요한 경우 추가 작업자를 할당합니다.
Code Engine 콘솔에서 기존 차량 그룹에 작업을 추가하려면 다음 단계를 따르세요.
- Code Engine 프로젝트 페이지를 찾아보세요.
- 프로젝트 이름을 클릭하면 개요 페이지가 열립니다.
- ‘함대’를 클릭하면 소유한 함대 목록이 열립니다. 함대 이름을 클릭하면 상세 정보를 볼 수 있는 페이지가 열립니다.
- '작업 추가'를 클릭합니다.
- 플릿에 추가할 작업 집합을 지정하십시오. ‘작업 명세서 ’ 항목도 참조하십시오.
- 원한다면, 의미 있는 배치 이름을 지정할 수 있습니다.
- 추가 를 클릭하십시오.
CLI를 사용하여 초기 작업이 없는 함대 생성하기
다음 예제 명령어를 사용하여 초기 작업 없이 함대를 실행하십시오. 이 명령은 추가 옵션을 허용합니다. 사용 가능한 모든 명령어 옵션의 전체 목록을 보려면 CLI 참조 문서를 참조하십시오.
ibmcloud ce fleet run --name my-fleet --image icr.io/codeengine/helloworld --subnetpool-name my-pool --tasks-state-store mytaskstore
--name- Fleet의 이름입니다. 이 값은 동일한 프로젝트 내의 모든 플릿에서 고유해야 합니다. 차량 이름을 지정하지 않으면 임의의 차량 이름이 생성됩니다.
--image- 작업 처리에 사용되는 컨테이너 이미지에 대한 참조입니다. 이 값은 필수입니다.
--subnetpool-name또는--subnetpool-id- Fleet 네트워크 배치에 사용할 서브넷 풀 이름입니다.
- Fleet 네트워크 배치에 사용할 서브넷 풀 ID입니다.
--subnetpool-name 또는 --subnetpool-id 중 하나를 지정해야 합니다.
--tasks-state-store- Fleet의 태스크 상태를 저장하는 영구 데이터 저장소를 지정하십시오. 이 값은 필수입니다.
출력 예:
Successfully created fleet with name 'my-fleet' and ID '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'
Run 'ibmcloud ce fleet get --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to check the fleet status.
Run 'ibmcloud ce fleet worker list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of provisioned workers.
OK
CLI를 사용하여 기존 차량 그룹에 작업을 추가하기
다음 예제 명령어를 사용하여 기존 플릿에 작업을 추가하십시오. 이 명령은 추가 옵션을 허용합니다. 사용 가능한 모든 명령어 옵션의 전체 목록을 보려면 CLI 참조 문서를 참조하십시오.
또는 ibmcloud ce fleet task create 명령어를 사용할 수도 있습니다.
예
ibmcloud ce fleet task add --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e --tasks 1 --batch-name transactions-2026-09-04
출력 예
Successfully added tasks to fleet with name 'fleet-0123456789' and ID '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'
Run 'ibmcloud ce fleet get --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to check the fleet status.
Run 'ibmcloud ce fleet worker list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of provisioned workers.
Run 'ibmcloud ce fleet task list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of tasks.
OK
--fleet-id- 해당 태스크가 속한 Fleet의 UUID입니다. 이 값은 필수입니다.
--tasks- Fleet에서 처리할 태스크 수를 지정하십시오. 이 값은 필수입니다.
--batch-name- 현재 호출에서 추가된 모든 작업에 사용되는 배치 이름입니다. 이를 통해 관련 작업들을 식별하고 그룹화할 수 있습니다. 배치 이름은 고유할 필요가 없으므로, 실패한 작업을 다시 시도할 때 원래의 배치 이름을 재사용할 수 있습니다. 예를 들어, 배치 이름에는 날짜나 고객 이름이 포함될 수 있습니다.
- 이 값은 선택 사항입니다. 명시되지 않은 경우, “
default”이라는 배치 이름이 사용됩니다.
CLI를 사용하여 초기 작업이 포함된 함대 생성하기
다음 예제 명령어를 사용하여 초기 작업이 포함된 플릿을 실행하십시오. 이 명령은 추가 옵션을 허용합니다. 사용 가능한 모든 명령어 옵션의 전체 목록을 보려면 CLI 참조 문서를 참조하십시오.
처리 가능한 모든 작업이 완료되면, 플릿은 대기 상태로 전환됩니다. 최소 컨테이너 슬롯을 확보하는 데 더 이상 필요하지 않은 작업자는 새로운 작업이 추가될 때까지 규모가 축소됩니다.
ibmcloud ce fleet run --name my-fleet --image icr.io/codeengine/helloworld --subnetpool-name my-pool --tasks-state-store mytaskstore --tasks 1
--name- Fleet의 이름입니다. 이 값은 동일한 프로젝트 내의 모든 플릿에서 고유해야 합니다. 차량 이름을 지정하지 않으면 임의의 차량 이름이 생성됩니다.
--image- 작업 처리에 사용되는 컨테이너 이미지에 대한 참조입니다. 이 값은 필수입니다.
--subnetpool-name또는--subnetpool-id- Fleet 네트워크 배치에 사용할 서브넷 풀 이름입니다.
- Fleet 네트워크 배치에 사용할 서브넷 풀 ID입니다.
--subnetpool-name 또는 --subnetpool-id 중 하나를 지정해야 합니다.
--tasks-state-store- Fleet의 태스크 상태를 저장하는 영구 데이터 저장소를 지정하십시오. 이 값은 필수입니다.
--tasks- 실행할 작업 수입니다.
출력 예:
Successfully created fleet with name 'my-fleet' and ID '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'
Run 'ibmcloud ce fleet get --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to check the fleet status.
Run 'ibmcloud ce fleet worker list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of provisioned workers.
Run 'ibmcloud ce fleet task list --fleet-id 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e' to retrieve a list of tasks.
OK