Consul-Terraform-Sync 설치
Consul-Terraform-Sync 설치 (Install Consul-Terraform-Sync)
Terraform 드라이버로 로컬 머신에서 Consul-Terraform-Sync(CTS)를 설치·구성·실행하는 자세한 내용은 소개 튜토리얼을 참조하세요.
출처: 문서
본문
Terraform 드라이버로 로컬 머신에서 Consul-Terraform-Sync (CTS)를 설치, 구성, 실행하는 자세한 내용은 introduction 튜토리얼을 참조하세요.
Consul-Terraform-Sync 설치 (Install Consul-Terraform-Sync)
Pre-compiled binary | Docker | Homebrew on OS X | Build from source
CTS를 설치하려면 시스템에 맞는 적절한 패키지를 찾아 zip 아카이브로 다운로드하세요. CTS Enterprise 바이너리의 경우 +ent 메타데이터가 있는 zip 아카이브를 다운로드하세요. CTS Enterprise는 실행에 Consul Enterprise 라이선스가 필요합니다.
패키지의 압축을 풀어 consul-terraform-sync라는 바이너리를 추출합니다. consul-terraform-sync 바이너리를 PATH에서 사용할 수 있는 위치로 이동합니다.
예제:
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
$ mv ./consul-terraform-sync /usr/local/bin/consul-terraform-sync
설치되면 -version 또는 -help 옵션을 실행하여 설치가 작동하는지 확인합니다. CTS Enterprise 바이너리에 대해 출력된 버전에는 +ent 메타데이터가 포함됩니다.
$ consul-terraform-sync -version
CTS를 Docker 컨테이너로 설치하고 실행합니다.
CTS Enterprise의 경우 Docker 이미지 hashicorp/consul-terraform-sync-enterprise를 사용하세요.
$ docker pull hashicorp/consul-terraform-sync
설치되면 -version 또는 -help 옵션을 실행하여 설치가 작동하는지 확인합니다. CTS Enterprise 이미지에 대해 출력된 버전에는 +ent 메타데이터가 포함됩니다.
$ docker run --rm hashicorp/consul-terraform-sync -version
CTS OSS 바이너리는 모든 Homebrew 패키지 저장소인 HashiCorp tap에서 사용할 수 있습니다.
$ brew tap hashicorp/tap
$ brew install hashicorp/tap/consul-terraform-sync
최신 버전으로 업데이트하려면 다음 명령을 실행하세요:
$ brew upgrade hashicorp/tap/consul-terraform-sync
설치되면 -version 또는 -help 옵션을 실행하여 설치가 작동하는지 확인합니다.
$ consul-terraform-sync -version
GitHub의 hashicorp/consul-terraform-sync 저장소를 클론하여 CTS OSS 바이너리를 빌드하고 $GOPATH/bin에 설치합니다. 소스에서 빌드하려면 git과 Golang이 필요합니다.
$ git clone https://github.com/hashicorp/consul-terraform-sync.git
$ cd consul-terraform-sync
$ git checkout tags/<vX.Y.Z>
$ go install
설치되면 -version 또는 -help 옵션을 실행하여 설치가 작동하는지 확인합니다.
$ consul-terraform-sync -version
Consul 클러스터 연결 (Connect your Consul Cluster)
CTS는 Consul 클러스터에 연결하여 서비스 변경 사항을 위해 Consul 카탈로그를 모니터링합니다. 이러한 서비스 변경은 네트워크 장치에 대한 다운스트림 업데이트로 이어집니다. CTS에서 Consul 블록으로 Consul 클러스터를 구성할 수 있습니다. 예제는 다음과 같습니다:
consul {
address = "localhost:8500"
token = "my-consul-acl-token"
}
네트워크 장치 연결 (Connect your Network Device)
CTS는 네트워크 드라이버를 통해 네트워크 장치와 상호 작용합니다. Terraform 네트워크 드라이버의 경우 CTS는 Terraform 제공자를 사용하여 네트워크 인프라 리소스를 변경합니다. 각 제공자를 구성하려면 Terraform Registry의 기존 제공자 문서를 참조하거나 새 Terraform 제공자를 만들 수 있습니다.
모든 네트워크 장치에 대한 Terraform 제공자를 식별한 후 각 네트워크 장치에 대한 terraform_provider 블록으로 CTS에서 구성할 수 있습니다. 예제는 다음과 같습니다:
terraform_provider "fake-firewall" {
address = "10.10.10.10"
username = "admin"
password = "password123"
}
이 제공자는 관련 네트워크 장치를 업데이트하는 Terraform 모듈을 실행하기 위해 task(s)에서 사용됩니다.
제공자당 여러 인스턴스 (Multiple Instances per Provider)
같은 유형의 네트워크 장치 인스턴스가 여러 개 있을 수 있습니다. 예를 들어, 방화벽이나 로드 밸런서의 인스턴스가 여러 개일 수 있습니다. 각 인스턴스를 자체 제공자 블록으로 구성하고 alias 메타 인수로 구분할 수 있습니다. 자세한 내용과 구성 예제는 multiple provider configurations을 참조하세요.