Consul Template 구성 참조

Consul Template 구성 참조 (Consul Template Configuration)

이 문서는 Consul Template을 구성하는 다양한 옵션, 데이터 소스, 템플릿, 여러 런타임 모드를 설명해요. 일반 매개변수, Consul·Vault·Nomad 연결 매개변수, 템플릿 매개변수와 모드 매개변수를 다룰게요. 설명의 편의를 위해 HCL 구성 파일 기준으로 작성했지만 JSON으로도 작성할 수 있고 대부분의 옵션은 CLI 플래그로도 설정할 수 있어요.

출처: 문서

본문

이 섹션은 Consul Template을 구성하는 다양한 옵션, 데이터 소스, 템플릿, 여러 런타임 모드를 다룹니다. 설명의 편의를 위해 구성 옵션을 HCL 구성 파일 맥락으로 작성했지만, JSON으로 작성할 수 있고 대부분의 옵션은 CLI 플래그로 설정할 수 있습니다.

일반 매개변수 (General parameters)

이 옵션들은 Consul Template을 구성하는 최상위 수준 값입니다. 필수 사항이 아니며 생략하면 기본값으로 대체됩니다.

  • block_query_wait (기본값 60s) - blocking query를 수행하는 시간(초)입니다. Consul의 많은 엔드포인트는 "blocking queries"라는 기능을 지원합니다. blocking query는 long polling을 사용해 잠재적인 변경을 기다리는 데 사용됩니다.

  • err_on_failed_lookup - 필드에 대한 값을 성공적으로 가져오지 못하면 consul-template이 오류와 함께 종료되게 합니다. 서비스에 정의된 재시도 로직은 이 유형의 오류에 적용되지 않습니다.

  • kill_signal (기본값 SIGINT) - 정상 중지를 트리거하기 위해 대기할 신호입니다. 이 값을 빈 문자열로 설정하면 Consul Template이 정상 중지 신호를 전혀 기다리지 않게 합니다. -kill-signal 명령줄 플래그와 동일합니다.

  • log_file - 파일 로깅 구성을 정의하는 객체.

    • log_rotate_bytes - 로그가 회전되기 전에 로그에 기록해야 하는 바이트 수를 제어. 지정하지 않으면 로그 파일에 기록할 수 있는 바이트 수에 제한이 없음.
    • log_rotate_duration (기본값 24h) - 로그가 회전되기 전에 기록되어야 하는 최대 기간을 지정.
    • log_rotate_max_files (기본값 0) - 유지할 이전 로그 파일 아카이브의 최대 수를 제어. 기본값 0(파일은 삭제되지 않음). 새 파일이 생성될 때 이전 로그 파일을 폐기하려면 -1로 설정.
    • path - 경로가 지정되면 기능이 활성화됨. 동작에 대한 자세한 내용은 -log-file CLI 플래그 문서를 참조하세요.

    예제

    log_file {
      path = "/var/log/something.log"
      log_rotate_bytes = 1024000
      log_rotate_duration = "3h"
      log_rotate_max_files = 10
    }
    
  • log_level (기본값 WARN) - 로그 수준입니다. 유효한 옵션(상세도 순): TRACE, DEBUG, INFO, WARN, ERR. -log-level 명령줄 플래그와 동일합니다.

  • max_stale (기본값 2s) - "stale" 데이터를 허용하는 최대 간격입니다. 기본적으로 Consul 리더만 쿼리에 응답합니다; 팔로워에 대한 요청은 리더로 전달됩니다. 요청이 많은 대규모 클러스터에서는 이것이 확장에 좋지 않으므로, 이 옵션은 마지막 복제 데이터가 이 범위 내에 있는 한 모든 팔로워가 쿼리에 응답할 수 있게 합니다. 값이 높을수록 클러스터 부하가 줄어들지만 오래된 데이터일 가능성이 높아집니다. -max-stale 명령줄 플래그와 동일합니다.

  • pid_file - Consul Template 프로세스의 프로세스 ID가 포함된 PID 파일을 저장할 경로입니다. 이는 프로세스에 사용자 지정 신호를 보낼 계획이라면 유용합니다. -pid-file 명령줄 플래그와 동일합니다.

  • reload_signal (기본값 SIGHUP) - 리로드 이벤트를 트리거하기 위해 대기할 신호입니다. 이 값을 빈 문자열로 설정하면 Consul Template이 리로드 신호를 전혀 기다리지 않게 합니다. -reload-signal 명령줄 플래그와 동일합니다.

  • syslog - 로깅을 위해 syslog 서버에 연결하는 구성을 정의하는 객체.

  • template_error_fatal - 템플릿 내 오류가 Consul Template을 즉시 종료하게 할지 제어. 이 값은 각 템플릿 구성 내에서 재정의할 수 있습니다.

  • wait - quiescence 타이머를 정의하는 객체; 템플릿을 렌더링하기 전에 클러스터가 일관된 상태에 도달할 때까지 기다릴 최소·최대 시간을 정의합니다. 이는 flapping이 많은 시스템에서 템플릿이 렌더링되는 횟수를 줄이므로 활성화하면 유용합니다.

    • min - 최소 quiescence 시간.
    • max - 최대 quiescence 시간.

    예제

    wait {
      min = "5s"
      max = "10s"
    }
    

Consul 매개변수 (Consul parameters)

consul 블록을 선언해 Consul Template이 Consul에 연결되도록 합니다. 이것은 Consul Catalog와 Consul KV 같은 Consul 기능에서 값을 쿼리하는 Consul 클라이언트를 구성합니다.

  • consul - 이 객체는 Consul 연결을 제어하는 여러 하위 키를 설정할 수 있게 합니다.
    • address (기본값 127.0.0.1:8500) - Consul 에이전트의 주소. 기본적으로 로컬 Consul 에이전트의 기본 바인드·포트인 127.0.0.1:8500입니다. Consul 서버와 직접 통신하지 말고 로컬 Consul 에이전트와 통신하는 것을 권장합니다. 여기에는 여러 이유가 있으며, 가장 중요한 것은 Consul 에이전트가 Consul 서버에 대한 연결을 멀티플렉싱해 열린 HTTP 연결 수를 줄일 수 있다는 것입니다. 또한 클라이언트가 연결할 수 있는 "잘 알려진" IP 주소를 제공합니다. -consul-addr 명령줄 플래그와 동일.

    • auth - 이 블록은 요청과 함께 전달할 기본 인증 정보를 지정합니다. 인증에 대한 자세한 내용은 Consul 문서를 참조하세요. -consul-auth 명령줄 플래그와 동일.

      • enabled - 인증 활성화.
      • username - 인증용 사용자 이름 설정.
      • password - 인증용 비밀번호 설정.

      예제

      consul {
        ## ...
        auth {
          enabled  = true
          username = "test"
          password = "test"
        }
        ## ...
      }
      
    • namespace Enterprise - 읽기/쓰기에 사용할 Consul Enterprise 네임스페이스. CONSUL_NAMESPACE 환경 변수로도 설정할 수 있음. BETA: 제한된 테스트를 거친 베타 기능으로 간주해야 합니다.

    • retry - 이 객체는 Consul에서 오류가 반환될 때의 재시도 동작을 제어합니다. Consul Template은 매우 내결함성이 있어 실패에 직면해도 종료하지 않습니다. 대신 분산 시스템에서 관례적인 것처럼 지수 백오프와 재시도 함수를 사용해 클러스터가 사용 가능해질 때까지 기다립니다.

      • attempts (기본값 12) - 포기하기 전에 시도할 횟수. 각 시도는 지수 백오프 대기 시간을 추가합니다. 0으로 설정하면 무제한 재시도를 구현합니다. -consul-retry-attempts 명령줄 플래그와 동일.
      • backoff (기본값 250ms) - 재시도 시도 사이의 기본 대기 시간. 각 재시도는 이 기본값보다 지수 2만큼 더 잡니다. 5회 재시도의 경우 대기 시간은 250ms, 500ms, 1s, 2s, 4s입니다. -consul-retry-backoff 명령줄 플래그와 동일.
      • enabled (기본값 true) - 재시도 활성화. 재시도는 기본적으로 활성화되어 있어 이 매개변수는 중복됩니다. -consul-retry 명령줄 플래그와 동일.
      • max_backoff (기본값 1m) - 재시도 시도 사이의 최대 대기 시간. max_backoff를 0으로 설정하면 지수 대기에 상한이 없습니다.

      예제

      consul {
        ## ...
        retry {
          enabled = true
          attempts = 12
          backoff = "250ms"
          max_backoff = "1m"
        }
        ## ...
      }
      
    • ssl - 이 객체는 Consul 서버에 연결하기 위한 SSL 옵션을 구성합니다.

      예제

      consul {
        ## ...
        ssl {
          enabled = true
          verify = false
          cert = "/path/to/client/cert"
          key  = "/path/to/client/key"
          ca_cert = "/path/to/ca"
          ca_path = "path/to/certs/"
          server_name = "my-server.com"
        }
        ## ...
      }
      
    • token - Consul에 연결할 때 사용할 ACL 토큰. Consul 클러스터에서 ACL을 활성화하지 않았다면 이 옵션을 설정할 필요가 없습니다. 이 옵션은 CONSUL_TOKEN 또는 CONSUL_HTTP_TOKEN 환경 변수로도 사용할 수 있습니다. 구성 파일에 토큰을 평문으로 넣지 않는 것이 강력히 권장됩니다. -consul-token 명령줄 플래그와 동일.

    • token_file - 또는 이 옵션으로 토큰이 포함된 파일의 경로를 지정할 수 있습니다. 이 옵션은 CONSUL_TOKEN_FILE 또는 CONSUL_HTTP_TOKEN_FILE 환경 변수로도 사용할 수 있습니다. -consul-token-file 명령줄 플래그와 동일.

    • transport - 이 객체는 TCP 연결 옵션을 구성합니다.

      예제

      consul {
        ## ...
        transport {
          dial_keep_alive = "10s"
          dial_timeout = "10s"
          disable_keep_alives = true
          max_idle_conns_per_host = 100
          tls_handshake_timeout = "30s"
        }
        ## ...
      }
      

Vault 매개변수 (Vault parameters)

vault 블록을 선언해 Consul Template이 Vault에 연결되도록 합니다. 이것은 템플릿에 시크릿 데이터를 렌더링하기 위해 Vault에서 시크릿을 쿼리하는 Vault 클라이언트를 구성합니다.

  • vault - 이 객체는 Vault 연결을 제어하는 여러 하위 키를 설정할 수 있게 합니다.
    • address - Vault 서버의 주소. 주소의 프로토콜(http(s)) 부분이 필요합니다. -vault-addr 명령줄 플래그와 동일.
    • client_user_agent - Vault에 대한 모든 요청에 사용할 User-Agent 헤더를 설정하는 선택적 구성 항목.
    • default_lease_duration (기본값 5m) - Consul Template이 임대 기간이 없는 Vault 시크릿에 사용할 기본 임대 기간. Vault 시크릿 값을 다시 확인하는 대기 기간을 계산하는 데 사용. 선택 사항이며 설정하지 않으면 5분이 기본값.
    • lease_renewal_threshold (기본값 0.90) - 갱신 불가능한 시크릿의 임대 기간 중 Consul Template이 기다릴 비율. Vault 시크릿 값을 다시 확인하는 대기 기간 계산에 사용. 선택 사항이며 설정하지 않으면 임대 시간의 90%가 기본값.
    • namespace Enterprise - 시크릿 읽기/쓰기에 사용할 Vault Enterprise 네임스페이스. 이 값은 VAULT_NAMESPACE 환경 변수로도 지정할 수 있음.
    • renew_token (기본값 true) - Consul Template에게 주어진 Vault 토큰을 자동 갱신하도록 지시. Vault는 토큰이 정기적인 간격으로 갱신되어야 하며, 그렇지 않으면 폐기됩니다.
    • token - Vault 서버에 연결할 때 사용할 Vault 토큰. 다른 Vault 도구처럼 이 옵션을 사용하려면 Vault에 인증할 토큰을 항상 제공해야 합니다. 구성 파일에 토큰을 평문으로 넣지 않는 것이 권장됩니다. -vault-token 명령줄 플래그와 동일.
    • token_file - 또는 이 옵션으로 토큰이 포함된 파일의 경로를 지정할 수 있습니다.
      • 이 필드가 지정되면: 기본적으로 Consul Template은 Vault 토큰을 갱신하려 시도하지 않습니다. 갱신하려면 아래처럼 renew_token = true를 지정해야 합니다.
      • Consul Template은 주기적으로 파일을 stat하고 변경되면 토큰을 업데이트합니다.

Nomad 매개변수 (Nomad parameters)

nomad 블록을 선언해 Consul Template이 Nomad에 연결되도록 합니다. 이것은 네이티브 서비스 디스커버리 또는 시크릿을 위해 Nomad를 쿼리해 템플릿에 데이터를 렌더링하는 Nomad 클라이언트를 구성합니다.

  • nomad - 이 객체는 Nomad 연결을 제어하는 여러 하위 키를 설정할 수 있게 합니다.
    • address - Nomad 에이전트의 주소. 주소의 프로토콜(http(s)) 부분이 필요합니다. 이 값은 NOMAD_ADDR 환경 변수로도 지정할 수 있습니다.
    • auth_password - Nomad API로 인증할 때 사용할 HTTP Basic Auth 비밀번호.
    • auth_username - Nomad API로 인증할 때 사용할 HTTP Basic Auth 사용자 이름.
    • namespace - 쿼리에 사용할 Nomad 네임스페이스. 이 값은 NOMAD_NAMESPACE 환경 변수로도 지정할 수 있습니다.
    • retry - 이 섹션은 Nomad 연결을 위한 재시도 옵션을 자세히 설명합니다. Consul 섹션의 retry 옵션을 참조하세요 (동일합니다).
    • ssl - 이 섹션은 Nomad 에이전트 연결을 위한 SSL 옵션을 자세히 설명합니다. Consul 섹션의 SSL 옵션을 참조하세요 (동일합니다).
    • token - Nomad 에이전트와 통신할 때 사용할 토큰. Nomad와 통합하는 다른 도구처럼 Consul Template은 Nomad 토큰을 제공한다고 가정합니다; Nomad의 인증 메서드를 통해 토큰을 생성하는 통합 로직은 없습니다. 이 값은 NOMAD_TOKEN 환경 변수로도 지정할 수 있습니다. 구성 파일에 토큰을 평문으로 넣지 않는 것이 강력히 권장됩니다.
    • transport - TCP 연결 옵션. Consul 섹션의 transport 옵션과 동일합니다.

템플릿 매개변수 (Template parameters)

template 블록은 템플릿의 구성을 정의합니다. 다른 블록과 달리 이 블록은 여러 템플릿을 구성하도록 여러 번 지정할 수 있습니다. CLI를 통해 직접 템플릿을 구성하는 것도 가능합니다.

  • template - 이 객체는 Consul Template이 관리할 단일 템플릿의 구성을 정의합니다.

    • backup - 이 옵션은 새 파일을 쓰기 전에 이전에 렌더링된 템플릿을 대상 경로에 백업합니다. 정확히 하나의 백업을 유지합니다. 이 옵션은 롤백 전략 없이 데이터의 우발적 변경을 방지하는 데 유용합니다.

    • contents - 템플릿 파일의 source 경로를 제공하는 대신 템플릿의 내용을 구성 파일에 포함. 짧은 템플릿에 유용. source 옵션과 상호 배타적입니다.

      예제

      contents = "{{ keyOrDefault \"service/redis/maxconns@east-aws\" \"5\" }}"
      
    • create_dest_dirs (기본값 true) - 대상 경로의 부모 디렉터리가 존재하지 않으면 만들도록 Consul Template에 지시. 기본값 true.

    • destination - 소스 템플릿이 렌더링될 디스크의 대상 경로. 부모 디렉터리가 존재하지 않으면 create_dest_dirs가 false가 아닌 한 Consul Template이 만들려 시도합니다.

    • error_fatal - 템플릿 내 오류가 Consul Template을 즉시 종료하게 할지 제어.

    • error_on_missing_key (기본값 false) - 존재하지 않는 struct/map 필드/키에 접근할 때 오류와 함께 종료. 기본 동작은 존재하지 않는 필드에 접근할 때 <no value>를 출력. Vault에서 시크릿을 가져올 때는 이 값을 true로 설정하는 것이 강력히 권장됩니다.

    • exec - 이 객체는 템플릿이 렌더링될 때 실행할 선택적 명령을 정의합니다. 아래 Exec 섹션을 참조하세요.

      • command - 템플릿이 렌더링될 때 실행할 명령. 명령은 결과 템플릿이 변경된 경우에만 실행됨. 명령은 timeout 시간 내에 반환되어야 하며 성공적인 종료 코드를 가져야 합니다.
      • timeout (기본값 30s) - 명령이 완료되어야 하는 제한 시간.

      예제

      template {
        ##...
        exec {
          command = ["restart", "service", "foo"]
          timeout = "30s"
        }
        ##...
      }
      

      이전 버전과의 호환성을 위해 템플릿 블록은 단순한 command 및 command_timeout 설정도 지원합니다.

      • command - 템플릿이 렌더링될 때 실행할 명령. 명령은 결과 템플릿이 변경된 경우에만 실행됨. 명령은 command_timeout 시간 내에 반환되어야 하며 성공적인 종료 코드를 가져야 합니다.
      • command_timeout (기본값 30s) - 명령이 완료되어야 하는 제한 시간.

      예제

      template {
        ##...
        command = ["restart", "service", "foo"]
        command_timeout = "60s"
        ##...
      }
      
    • function_denylist - 템플릿에서 허용되지 않는 함수. 템플릿에 이 함수 중 하나가 포함되면 오류와 함께 종료됩니다.

    • group - 렌더링된 파일의 그룹 소유권. 그룹 이름 또는 GID 형태로 지정할 수 있습니다. 지정하지 않으면 Consul Template이 기존 파일의 소유권을 보존합니다. 파일이 없으면 소유권은 Consul Template을 실행하는 사용자로 기본 설정됩니다. 이 옵션은 Windows에서 지원되지 않습니다.

    • left_delimiter (기본값 {{) - 템플릿에서 사용할 왼쪽 구분자. 기본값은 {{이지만 일부 템플릿에서는 출력 파일 자체와 충돌하지 않는 다른 구분자를 사용하는 것이 더 쉬울 수 있습니다.

    • perms (기본값 0644) - 파일을 렌더링할 권한. 이 옵션을 지정하지 않으면 Consul Template이 대상 경로에 이미 존재하는 파일의 권한을 일치시키려 시도합니다. 해당 경로에 파일이 없으면 권한은 0644입니다.

    • right_delimiter (기본값 }}) - 템플릿에서 사용할 오른쪽 구분자. 기본값은 }}이지만 일부 템플릿에서는 출력 파일 자체와 충돌하지 않는 다른 구분자를 사용하는 것이 더 쉬울 수 있습니다.

    • sandbox_path - 샌드박스 경로가 제공되면 file 함수에 제공된 모든 경로가 샌드박스 경로 안에 속하는지 확인됩니다. 샌드박스 경로 밖으로 벗어나려는 상대 경로는 오류와 함께 종료됩니다.

    • source - 입력 템플릿으로 사용할 디스크의 소스 파일. 흔히 "Consul Template 템플릿"이라고 합니다. /path/on/disk/to/template.ctmpl 같이 템플릿 파일의 경로를 지정해야 합니다.

    • wait - 템플릿의 최소·최대 quiescence 시간을 정의하는 선택적 객체. 일반 매개변수에서 전역 wait를 설정하면 템플릿 블록에서 각 템플릿의 wait로 재정의되지 않는 한 사용됩니다.

    예제

    template {
      ##...
      wait {
        min = "2s"
        max = "10s"
      }
      ##...
    }
    

모드 매개변수 (Modes parameters)

다음 옵션으로 Consul Template을 다양한 모드로 실행하도록 구성합니다. 각 모드에 대한 더 많은 맥락은 모드 문서를 방문하세요.

Once 모드 (Once Mode)

Once 모드로 실행하면 Consul Template이 각 템플릿을 정확히 한 번 실행하고 종료합니다.

Once 모드에서 Consul Template은 모든 종속성이 렌더링될 때까지 기다립니다. 템플릿이 Consul에 존재하지 않는 종속성(요청)을 지정하면 once 모드는 Consul이 해당 종속성에 대한 데이터를 반환할 때까지 기다립니다.

중복 제거 모드 (De-Duplication Mode)

중복 제거 모드가 작동하는 방식과 이 모드의 주의 사항에 대한 자세한 내용은 중복 제거 모드 문서를 참조하세요.

  • deduplicate - 이 블록은 중복 제거 모드로 Consul Template을 실행하기 위한 구성을 정의합니다.

    • enabled - 중복 제거 모드 활성화. 다른 옵션을 지정해도 중복 제거 모드가 활성화됨.
    • prefix (기본값 consul-template/dedup/) - 중복 제거 템플릿이 사전 렌더링되어 저장될 Consul KV 저장소의 경로 접두사.

    예제

    deduplicate {
      enabled = true
      prefix = "consul-template/dedup/"
    }
    

Exec 모드 (Exec Mode)

exec 모드가 작동하는 방식과 이 모드의 주의 사항에 대한 자세한 내용은 exec 모드 문서를 참조하세요.

  • exec - 이 블록은 exec 모드로 Consul Template을 실행하기 위한 구성을 정의합니다.
    • command - 자식 프로세스로 exec할 명령. Consul Template 프로세스당 명령은 하나만 있을 수 있습니다. 자세한 내용은 실행 모드 문서의 명령 섹션을 참조하세요.

    • env - 이 객체는 자식 프로세스가 Consul Template에서 상속할 환경을 정의합니다.

      • allowlist - 자식 프로세스에 노출되는 환경 변수 목록에 독점적으로 포함할 환경 변수 목록을 지정. 지정하면 주어진 패턴과 일치하는 환경 변수만 자식 프로세스에 노출됨. 이 문자열은 Go의 glob 함수로 일치되므로 와일드카드가 허용됩니다.
      • custom - 자식의 런타임 환경에 주입할 추가 사용자 지정 환경 변수를 지정. 사용자 지정 환경 변수가 시스템 환경 변수와 이름을 공유하면 사용자 지정 환경 변수가 우선합니다. pristine, allowlist 또는 denylist가 지정되어 있어도 이 옵션의 모든 값은 자식 프로세스에 제공됩니다.
      • denylist - 자식 프로세스에 노출되는 환경 변수 목록에서 독점적으로 금지할 환경 변수 목록을 지정. 지정하면 주어진 패턴과 일치하는 환경 변수는 allowlist에 있더라도 자식 프로세스에 노출되지 않음. 이 옵션의 값은 allowlist의 값을 우선합니다. 이 문자열은 Go의 glob 함수로 일치되므로 와일드카드가 허용됩니다.
      • pristine - 이 옵션을 true로 설정하면 자식 프로세스의 환경이 비워집니다.

      예제

      exec {
        ## ...
        env {
          pristine = false
          custom = ["PATH=$PATH:/etc/myapp/bin"]
          allowlist = ["CONSUL_*"]
          denylist = ["VAULT_*"]
        }
        ## ...
      }
      
    • kill_signal (기본값 SIGINT) - Consul Template이 정상적으로 종료될 때 자식 프로세스에 보낼 신호를 정의. 애플리케이션은 정상 정리를 시작해야 합니다. kill_timeout 전에 애플리케이션이 종료되지 않으면 (사실상 kill -9로) 종료됩니다.

    • kill_timeout (기본값 30s) - Consul Template이 종료될 때 자식 프로세스가 정상 종료되기를 기다릴 시간을 정의. 이 지정 시간 후에는 자식 프로세스가 강제 종료됩니다 (사실상 kill -9).

    • reload_signal (기본값 nil) - 감시 중인 템플릿에 변경이 발생할 때 자식 프로세스에 보낼 신호를 정의. 신호는 프로세스가 시작된 후에만 전송되며, 프로세스는 모든 종속 템플릿이 한 번 이상 렌더링된 후에만 시작됩니다. 기본값 nil은 신호를 보내는 대신 자식 프로세스를 중지하고 새 프로세스를 생성하도록 Consul Template에 지시합니다. 이는 레거시 애플리케이션이나 전체 리로드 없이 구성 제대로 리로드할 수 없는 애플리케이션에 유용합니다.

    • splay (기본값 0) - 자식 프로세스를 리로드하거나 종료하기 전에 기다릴 무작위 스플레이. 기본값 0(대기 없음)이지만 대규모 클러스터는 데이터 변경 시 모든 자식 프로세스가 동시에 리로드되지 않도록 splay 값을 설정하는 것을 고려해야 합니다. 이 값이 0이 아닌 값이면 Consul Template은 자식 프로세스를 리로드하거나 종료하기 전에 스플레이 값까지 무작위 기간을 기다립니다. 이는 정상적으로 리로드하지 않는 애플리케이션의 thundering herd 문제를 방지하는 데 사용할 수 있습니다.

    • timeout (기본값 0) - 자식 프로세스가 템플릿 렌더링의 변경으로부터 준비될 때까지 기다리는 최대 시간.

예제 (Example)

아래 예제 HCL 구성 파일은 Consul Template을 Consul 에이전트에 연결하고 Consul KV의 값으로 템플릿을 렌더링합니다. 출력은 디스크의 파일에 기록됩니다.

consul {
  address = "127.0.0.1:8500"

  auth {
    enabled = true
    username = "test"
    password = "test"
  }
}

log_level = "warn"

template {
  contents = "{{key \"hello\"}}"
  destination = "out.txt"
  exec {
    command = "cat out.txt"
  }
}

더 알아보기 (Learn more)