자동으로 삽입된 환경 변수

애플리케이션이나 함수를 배포하거나 작업을 실행할 때 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입니다.

Code Engine 앱 배포 시 자동으로 삽입되는 환경 변수
환경 변수 설명
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-abcdCE_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입니다.

Code Engine 함수 배포 시 자동으로 삽입되는 환경 변수
환경 변수 설명
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 ctypemultibyte 운영 체제 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이라는 작업을 기반으로 합니다.

Code Engine 작업 배포 시 자동으로 주입되는 환경 변수
환경 변수 설명
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_DOMAINCE_SUBDOMAIN 값이 유용할 수 있습니다. 이 애플리케이션의 전체 외부 URL은 appName.CE_SUBDOMAIN.CE_DOMAIN입니다. 애플리케이션의 개인용 URL을 참조하려면 appName.CE_SUBDOMAIN을 사용하십시오.