자동으로 삽입된 환경 변수
애플리케이션이나 함수를 배포하거나 작업을 실행할 때 Code Engine 은 특정 환경 변수를 애플리케이션, 함수 또는 작업에 자동으로 삽입합니다.
애플리케이션에 자동으로 주입되는 환경 변수
애플리케이션을 배포하면 Code Engine 에서 특정 환경 변수를 애플리케이션에 자동으로 삽입합니다. 다음 표에는 배포된 애플리케이션의 각 인스턴스에 자동으로 주입되는 환경 변수가 나열되어 있습니다. 다음 자동 삽입 환경 변수의 예는 Code Engine 샘플 이미지( icr.io/codeengine/codeengine)를 참조하는 myapp 라는 이름의 애플리케이션을 기반으로 합니다.
환경 변수 CE_APP, CE_DOMAIN, CE_SUBDOMAIN 는 애플리케이션의 URL 을 구성하는 데 사용됩니다( https://CE_APP.CE_SUBDOMAIN.CE_DOMAIN). 예를 들어, CE_APP=myapp, CE_SUBDOMAIN=01234567-abcd, CE_DOMAIN=us-south.codeengine.dev.appdomain.cloud인
경우, 애플리케이션 외부 URL은 https://myapp.01234567-abcd.us-south.codeengine.dev.appdomain.cloud입니다. 애플리케이션의 개인용 URL은 appName.CE_SUBDOMAIN 또는 myapp.01234567-abcd입니다.
| 환경 변수 | 설명 | 예 |
|---|---|---|
CE_API_BASE_URL |
프로젝트의 지역을 기반으로 하는 비공개 Code Engine API URL. Code Engine 프로젝트의 동일한 지역에 있는 모든 컴포넌트(애플리케이션 포함)의 엔드포인트에 대한 API 엔드포인트 호출에는 URL 을 사용하세요. | CE_API_BASE_URL=https://api.private.us-south.codeengine.cloud.ibm.com |
CE_APP |
애플리케이션의 이름입니다. | CE_APP=myapp |
CE_DOMAIN |
애플리케이션(및 프로젝트) URL의 도메인 이름 부분입니다. | CE_DOMAIN=us-south.codeengine.dev.appdomain.cloud |
CE_REGION |
애플리케이션이 위치한 지역입니다. | CE_REGION=us-south |
CE_PROJECT_ID |
프로젝트의 프로젝트 ID입니다. | CE_PROJECT_ID=abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f |
CE_SUBDOMAIN |
애플리케이션(및 프로젝트)과 연관된 URL의 서브도메인 부분입니다. Kubernetes에 익숙한 경우, CE_SUBDOMAIN은 프로젝트와 연관된 Kubernetes 네임스페이스에 맵핑됩니다. | CE_SUBDOMAIN=01234567-abcd |
HOME |
애플리케이션이 실행되는 홈 디렉터리입니다. | HOME=/root |
HOSTNAME |
애플리케이션이 배포되는 인스턴스의 이름입니다. | HOSTNAME=myapp-00001-deployment-65684cffd-xng7z |
K_CONFIGURATION |
애플리케이션 이름입니다. | K_CONFIGURATION=myapp |
K_REVISION |
배포된 애플리케이션의 현재 버전 이름입니다. | K_REVISION=myapp-00001 |
K_SERVICE |
애플리케이션 이름입니다. | K_SERVICE=myapp |
PATH |
시스템에서 실행 파일을 찾는 디렉토리 목록입니다. | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
PORT |
애플리케이션이 HTTP 요청을 수신하기 위해 수신 대기하는 포트입니다. | PORT=8080 |
PWD |
현재 작업 디렉토리입니다. | PWD=/ |
콘솔에서 애플리케이션을 배포하고 Listening 포트 값을 지정하거나 CLI를 사용하여 --port 옵션을 설정하여 PORT 변수를 재정의할 수 있습니다.
함수에 대한 환경 변수 자동 삽입
함수를 배포하면 Code Engine 에서 특정 환경 변수를 함수에 자동으로 삽입합니다. 다음 표에는 배포된 함수의 각 인스턴스에 자동으로 주입되는 환경 변수가 나열되어 있습니다.
환경 변수 CE_FUNCTION, CE_DOMAIN, CE_SUBDOMAIN 는 함수 URL 의 https://CE_FUNCTION.CE_SUBDOMAIN.CE_DOMAIN 를 구성하는 데 사용됩니다. 예를 들어 CE_FUNCTION=myfunc, CE_SUBDOMAIN=01234567-abcd 및 CE_DOMAIN=us-south.codeengine.dev.appdomain.cloud 인 경우 외부 함수 URL 는 https://myfunc.01234567-abcd.us-south.codeengine.dev.appdomain.cloud 입니다. 애플리케이션의 개인용 URL은 CE_FUNCTION.CE_SUBDOMAIN.private.CE_DOMAIN 또는 myfunc.01234567-abcd.private.us-south.codeengine.appdomain.cloud입니다.
| 환경 변수 | 설명 | 예 |
|---|---|---|
CE_API_BASE_URL |
프로젝트의 지역을 기반으로 하는 비공개 Code Engine API URL. Code Engine 프로젝트의 동일한 지역에 있는 모든 컴포넌트(함수 포함)의 엔드포인트에 대한 API 엔드포인트 호출에는 이 URL 을 사용하세요. | CE_API_BASE_URL=https://api.private.us-south.codeengine.cloud.ibm.com |
CE_ALLOW_CONCURRENT |
이 내부 부울 설정은 Code Engine 함수 제어기에서 런타임이 동일한 함수 인스턴스의 동시 호출을 지원하는지 여부를 표시하는 데 사용되며 무시할 수 있습니다. | CE_ALLOW_CONCURRENT=true |
CE_DOMAIN |
함수(및 프로젝트)의 URL 도메인 이름 부분입니다. | CE_DOMAIN=us-south.codeengine.dev.appdomain.cloud |
CE_REGION |
함수가 상주하는 영역입니다. | CE_REGION=us-south |
CE_PROJECT_ID |
프로젝트의 프로젝트 ID입니다. | CE_PROJECT_ID=abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f |
CE_EXECUTION_ENV |
관리 런타임 유형 및 해당 릴리스 버전입니다. | CE_EXECUTION_ENV=ibm/action-python-v3.11 이 예제는 Python v3.11을 사용하도록 지정합니다. |
CE_FUNCTION |
기능의 이름입니다. | CE_FUNCTION=myfunc |
CE_SUBDOMAIN |
함수(및 프로젝트)와 연결된 URL 의 하위 도메인 부분입니다. Kubernetes 에 익숙한 경우 CE_SUBDOMAIN 은 프로젝트와 연결된 Kubernetes 네임스페이스에 매핑됩니다. |
CE_SUBDOMAIN=01234567-abcd |
HOME |
함수에 대한 런타임 컨테이너의 홈 디렉토리입니다. | HOME=/root |
LC_CTYPE |
ctype 및 multibyte 운영 체제 API에서 사용되는 로케일입니다. Python 런타임에서만 사용 가능합니다. |
LC_CTYPE=C.UTF-8 |
PATH |
시스템이 실행 파일을 찾는 디렉토리를 나열하는 PATH 변수의 현재 설정입니다. | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
PYTHONIOENCODING |
표준 입력, 표준 출력 및 표준 오류 스트림에서 사용되는 표준 인코딩입니다. 이 변수는 Python 런타임에만 적용됩니다. | PYTHONIOENCODING=UTF-8 |
PWD |
현재 작업 디렉토리입니다. | PWD=/ |
작업을 위해 자동으로 삽입된 환경 변수
작업을 실행할 때 Code Engine은 특정 환경 변수를 작업 실행 인스턴스에 자동으로 삽입합니다.
다음 표는 실행 중인 작업의 각 인스턴스에 자동으로 삽입된 환경 변수를 보여줍니다. 자동으로 삽입된 환경 변수의 다음 예에서는 Code Engine 샘플 이미지(icr.io/codeengine/codeengine)를 참조하는 myjob이라는 작업을 기반으로 합니다.
| 환경 변수 | 설명 | 예 |
|---|---|---|
CE_API_BASE_URL |
프로젝트의 지역을 기반으로 하는 비공개 Code Engine API URL. Code Engine 프로젝트의 동일한 지역에 있는 모든 구성 요소(작업 포함)의 엔드포인트에 대한 API 엔드포인트 호출에는 이 URL 을 사용하세요. | CE_API_BASE_URL=https://api.private.us-south.codeengine.cloud.ibm.com |
CE_DOMAIN |
프로젝트의 도메인 이름입니다. | CE_DOMAIN=us-south.codeengine.appdomain.cloud |
CE_REGION |
작업이 실행되는 지역입니다. | CE_REGION=us-south |
CE_PROJECT_ID |
프로젝트의 프로젝트 ID입니다. | CE_PROJECT_ID=abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f |
CE_JOB |
작업 실행에 사용된 정의된 작업 구성의 이름입니다. | CE_JOB=myjobdef |
CE_JOBRUN |
작업 실행의 이름입니다. | CE_JOBRUN=myjob-jobrun-f5kxz |
CE_SUBDOMAIN |
작업이 실행 중인 프로젝트와 연관된 서브도메인입니다. Kubernetes에 익숙한 경우, CE_SUBDOMAIN은 프로젝트와 연관된 Kubernetes 네임스페이스에 맵핑됩니다. |
CE_SUBDOMAIN=01234567-abcd |
HOME |
작업을 실행 중인 홈 디렉토리입니다. | HOME=/root |
HOSTNAME |
애플리케이션이 배포되는 인스턴스의 이름입니다. | HOSTNAME=myjob-jobrun-6bgmg-0-0 |
JOB_ARRAY_SIZE |
병렬로 실행할 작업 인스턴스의 수입니다. 이 값은 작업 실행 배열 크기로 직접 지정하거나 지정된 인덱스를 카운트하여 계산합니다. | JOB_ARRAY_SIZE=10 |
JOB_INDEX |
특정 작업 실행 인스턴스의 인덱스입니다. | JOB_INDEX=1 |
JOB_INDEX_RETRY_COUNT |
작업 인스턴스의 현재 재시도 수입니다. | JOB_INDEX_RETRY_COUNT=0 |
JOB_MODE |
작업 실행 모드입니다. task 모드에서 작업은 최대 시간 동안 실행되며 실패한 인스턴스는 작업 재시도 한계에 따라 재시도됩니다. daemon 모드에서는 작업이 최대 시간 제한 없이 실행되며 실패한 인스턴스는 무기한 재시작됩니다. |
JOB_MODE=task |
JOB_RETRY_LIMIT |
작업 실행의 구성된 재시도 한계입니다. | JOB_RETRY_LIMIT=3 |
PATH |
시스템에서 실행 파일을 찾는 디렉토리 목록입니다. | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
PWD |
현재 작업 디렉토리입니다. | PWD=/ |
각 작업 실행 인스턴스는 작업을 만들 때 지정한 인덱스 배열에서 자체 인덱스를 가져옵니다. Code Engine 은 0부터 (배열 크기 - 1)까지의 인덱스를 자동으로 할당합니다. JOB_INDEX 환경 변수에는 인덱스 값이 포함되어 있습니다.
작업 자체에 연관된 URL이 없지만 동일한 프로젝트에서 실행 중인 애플리케이션을 참조해야 하는 경우 CE_DOMAIN 및 CE_SUBDOMAIN 값이 유용할 수 있습니다. 이 애플리케이션의 전체 외부 URL은 appName.CE_SUBDOMAIN.CE_DOMAIN입니다. 애플리케이션의 개인용 URL을 참조하려면 appName.CE_SUBDOMAIN을
사용하십시오.