작업 명세의 env 블록
작업 명세의 env 블록 (env block in the job specification)
| 배치 | job -> group -> task -> **env** |
|---|---|
env 블록은 시작 전에 태스크의 환경을 채울 환경 변수 목록을 구성해요.
job "docs" {
group "example" {
task "server" {
env {
my_key = "my-value"
}
}
}
}
출처: 문서
본문
매개변수 (Parameters)
env 블록의 "매개변수"는 어떤 키-값이든 될 수 있어요. 키와 값 모두 string 유형이지만 다른 유형으로도 지정할 수 있어요. 자동으로 문자열로 변환돼요. 대시(-) 같은 잘못된 문자는 밑줄로 변환돼요.
예제 (Examples)
다음 예제는 env 블록만 보여줘요. env 블록은 위에 나열된 배치에서만 유효하다는 것을 기억하세요.
강제 변환 (Coercion)
이 예제는 키-값 쌍을 지정하는 다양한 방법을 보여줘요. 내부적으로 이 값들은 문자열 표현으로 저장돼요. 유형 정보는 보존되지 않아요.
env {
key = 1.4
key = "1.4"
key = true
key = "1"
key = 1
}
보간 (Interpolation)
이 예제는 Nomad 보간을 사용해 환경 변수를 채우는 것을 보여줘요.
env {
NODE_CLASS = "${node.class}"
}
점이 있는 환경 변수 (Environment variables with dots)
.을 포함하는 것처럼 유효한 HCLv2 식별자가 아닌 환경 변수는 대체 맵 할당 구문이 필요해요.
env = {
"discovery.type" = "single-node"
}
동적 환경 변수 (Dynamic environment variables)
Nomad는 HashiCorp Consul과 Vault에 저장된 데이터에서 동적 환경 변수를 채우는 것도 지원해요. 이 기능을 사용하려면 template 블록 문서를 참조하세요.