Lithops 프레임워크로 작업 실행
Lithops는 Python 애플리케이션을 대규모로 스케일링하기 위해 설계된 오픈 소스 프레임워크입니다. Lithops는 Python 코드에 집중할 수 있도록 IBM Cloud® Code Engine 경험에 대한 단순 푸시를 제공하지만, Lithops는 실행 모니터링, 결과 얻기 등을 수행하는 동안 대규모의 스케일 시 코드의 배치에 집중합니다. Lithops는 Lithops API를 사용하여 코드 엔진과의 네이티브 Python 통합이 가능하도록 합니다. 리톱스에 대한 자세한 내용은 리톱스 빠른 시작 가이드를 참조하세요.
Lithops 프레임워크를 사용하여 첫 번째 플로우 실행
Lithops 프레임워크를 참조하는 작업을 실행하려면 먼저 Lithops를 설치하고 스토리지 백엔드를 설정해야 합니다.
시작하기 전에
- Code Engine CLI를 설치하십시오.
- Code Engine 프로젝트에 대해 작성하고 작업하십시오.
kubeconfig환경 변수를 찾고 설정하십시오.
Lithops 설치
-
Lithops를 설치하십시오.
-
Lithops 구성 파일을 작성하십시오.
-
Docker(커뮤니티 에디션)버전을 설치하십시오.
-
Docker에 로그인하십시오.
docker login
Lithops의 스토리지 백엔드 설정
지원되는 스토리지 백엔드(예: IBM Cloud Object Storage)를 선택하십시오.
IBM Cloud Object Storage를 설정하려면 다음을 수행하십시오.
- IBM Cloud Object Storage 계정을 작성하십시오.
- 사용할 지역의 버킷을 작성하십시오.
- 측면 탐색에서 엔드포인트를 클릭하여 API 엔드포인트를 찾으십시오. 버킷을 작성한 지역의 공용 및 사설 엔드포인트를 모두 복사해야 합니다.
- IBM Cloud Object Storage 계정에 액세스하는 데 필요한 인증 정보를 작성하십시오. 한 개의 옵션을 선택하십시오.
Lithops의 옵션 1(API 키)
-
IBM Cloud Object Storage 탐색에서 서비스 인증 정보를 클릭하십시오.
-
**새 인증 정보 +**를 클릭한 후 이름을 제공하고 역할을 선택하십시오.
-
추가를 클릭하여 서비스 인증 정보를 생성하십시오.
-
인증 정보 보기를 클릭하고
apikey값을 복사하십시오. -
lithops구성 파일을 편집하고 다음 키를 추가하십시오.lithops: storage_backend: ibm_cos ibm_cos: endpoint : <REGION_ENDPOINT> private_endpoint : <PRIVATE_REGION_ENDPOINT> api_key : <API_KEY>
Lithops의 옵션 2(IBM Cloud Object Storage HMAC 인증 정보)
-
IBM Cloud Object Storage 탐색에서 서비스 인증 정보를 클릭하십시오.
-
**새 인증 정보 +**를 클릭한 후 이름을 제공하고 역할을 선택하십시오.
-
고급 옵션을 클릭하고
Include HMAC Credential옵션을 사용으로 설정하십시오. -
추가를 클릭하여 서비스 인증 정보를 생성하십시오.
-
인증 정보 보기를 클릭하고
access_key_id및secret_access_key값을 복사하십시오. -
lithops구성 파일을 편집하고 다음 키를 추가하십시오.lithops: storage_backend: ibm_cos ibm_cos: endpoint : <REGION_ENDPOINT> private_endpoint : <PRIVATE_REGION_ENDPOINT> access_key : <ACCESS_KEY_ID> secret_key : <SECRET_KEY_ID>
Lithops의 옵션 3(IBM IAM API 키)
-
IAM API 키가 없으면 IBM IAM 대시보드로 이동하십시오.
-
IBM Cloud API 키 작성을 클릭하십시오. API 키에 대한 이름과 선택적 설명을 입력하고 작성을 클릭하십시오.
-
생성된 IAM API 키를 복사하십시오(키를 작성하는 경우에만 볼 수 있으므로 복사해야 함).
-
lithops구성 파일을 편집하고 다음 키를 추가하십시오.lithops: storage_backend: ibm_cos ibm: iam_api_key: <IAM_API_KEY> ibm_cos: endpoint : <REGION_ENDPOINT> private_endpoint : <PRIVATE_REGION_ENDPOINT>
Lithops를 사용하여 첫 번째 Code Engine 작업 배치
다음 hello world 예제를 실행하십시오.
import lithops
iterdata = [1,2,3,4,5]
def my_map_function(data):
return data + 1
if __name__ == '__main__':
pw = lithops.function_executor(type = "serverless", backend='code_engine')
futures = pw.map(my_map_function, iterdata)
print (pw.get_result())
pw.clean()
Lithops의 다음 단계
Lithops 프로젝트 페이지에서 더 많은 예제와 사용 사례를 확인하고 질문할 수 있습니다.