Consul 설치 방법

Consul 설치 방법 (How to Install Consul)

이 페이지는 베어메탈 머신, 가상 머신(VM), Kubernetes 클러스터에 Consul을 설치하는 과정을 설명해요.

출처: 문서

본문

이 페이지는 베어메탈 머신, 가상 머신(VM), Kubernetes 클러스터에 Consul을 설치하는 과정을 설명해요.

각 지원 런타임 및 CPU 아키텍처에 대해 가장 최근에 제공되는 릴리스를 찾으려면 Consul 설치를 참고해요. 이 페이지에는 apt, yum, brew 같은 패키지 관리자를 사용해 Consul을 설치하는 지침도 포함돼요.

개요 (Overview)

Consul을 설치하는 방법은 세 가지가 있어요:

  1. 미리 컴파일된 바이너리로 설치
  2. 소스에서 컴파일
  3. Helm으로 Kubernetes에 설치

미리 컴파일된 바이너리를 사용할 것을 권장해요. 또한 바이너리를 검증하는 데 사용할 수 있는 SHA256 합계와 함께 PGP 서명도 배포해요. 지침은 HashiCorp 바이너리 다운로드 검증을 참고해요.

미리 컴파일된 바이너리 (Precompiled binaries)

미리 컴파일된 바이너리를 설치하려면 시스템에 적합한 패키지를 다운로드해요. FIPS 140-3 준수를 지원하는 Enterprise 버전을 포함한 다른 버전을 찾으려면 releases.hashicorp.com의 전체 Consul 릴리스 목록을 참고해요. Consul은 현재 .zip 파일로 패키징돼요.

다운로드가 완료되면 아무 디렉터리에나 압축을 풀어요. 내부의 consul 바이너리 또는 .exe 파일은 Consul을 실행하는 데 유일하게 필요한 파일이에요.

바이너리를 시스템의 아무 위치에나 복사해요. 명령줄에서 접근하려면 PATH의 어딘가에 배치해야 해요.

소스에서 컴파일 (Compile from the source)

소스에서 Consul을 컴파일하려면 Go가 설치되어 있고 PATH에 git 사본이 있어야 해요.

  1. GitHub에서 Consul 저장소를 클론해요:
$ git clone https://github.com/hashicorp/consul.git

그런 다음 consul 디렉터리로 이동해요:

$ cd consul
  1. 대상 시스템용으로 Consul을 빌드해요. 완료되면 Go가 바이너리를 ./bin에 배치해요.

현재 시스템용 컴파일:

$ make dev

다른 시스템용 크로스 컴파일 — 빌드 전에 다음 환경 변수를 설정해 대상 시스템을 지정해요:

환경 변수 설명
GOOS 대상 운영체제. 유효한 값: linux, darwin, windows, solaris, freebsd
GOARCH 대상 아키텍처. 유효한 값: 386, amd64, arm, arm64
$ GOOS=linux GOARCH=amd64 make dev

설치 검증 (Verify installation)

설치를 검증하려면 consul 바이너리의 버전을 출력해요.

$ consul version
Consul v1.20.1
Revision 920cc7c6
Build Date 2024-10-29T19:04:05Z
Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)

명령줄에서 실행하는 경우 Consul이 PATH에 있는지 확인해요. 그렇지 않으면 Consul을 찾을 수 없다는 오류가 발생할 수 있어요.

Kubernetes에 설치 (Install on Kubernetes)

Kubernetes 배포에서는 HashiCorp Helm 저장소에서 최신 릴리스를 가져올 수 있어요.

  1. HashiCorp Helm 저장소를 추가해요:
$ helm repo add hashicorp https://helm.releases.hashicorp.com
 "hashicorp" has been added to your repositories
  1. Consul 차트에 접근할 수 있는지 확인해요:
$ helm search repo hashicorp/consul
NAME                CHART VERSION   APP VERSION DESCRIPTION                    
hashicorp/consul    1.5.0           1.19.0      Official HashiCorp Consul Chart
  1. Helm으로 Kubernetes에 Consul을 설치하기 전에 consul Kubernetes 네임스페이스가 존재하지 않는지 확인해요. 전용 네임스페이스에 Consul을 설치할 것을 권장해요.
$ kubectl get namespace
NAME              STATUS   AGE
default           Active   18h
kube-node-lease   Active   18h
kube-public       Active   18h
kube-system       Active   18h
  1. 다음 명령을 실행해 기본 구성으로 최신 버전의 Consul을 Kubernetes에 설치해요.
$ helm install consul hashicorp/consul --set global.name=consul --create-namespace --namespace consul

OpenShift 같은 다른 런타임에 설치하는 방법을 포함한 자세한 내용은 Helm으로 Kubernetes에 설치를 참고해요.

더 알아보기 (Learn more)