Terraform설치방법(테라폼, 패커, 엔서블 for ubuntu)

2022. 3. 16. 21:35DevOps/Terraform

테라폼 공식 홈페이지의 소개 내용이다. HCL(hashiCorp Configuration Language, yaml과 유사하다.)라는 언어를 통해 인프라 코드를 구축하며(write)를 plan을 통해 해당 코드를 검증하고, 어떠한 변화가 오는지 확인할 수 있으며, 이것을 apply하여 실제 인프라에 반영한다.

 

여기서 Provider Agnostic하다 라는 말을 종종 사용하는데 Provider에 의존하지 않는다. 라는 의미를 가지는데, 테라폼이 특정 플렛폼에(AWS, vmware등등)에 의존 하는것이 아닌 지원해준다 라는 의미를 가진다. 즉 테라폼AWS 코드를 작성하면 AWS에서, 테라폼 GCP를 작성하게 되면 GCP에서 사용할 수 있다는 의미이다.

 

테라폼의 공식 문서는 아래와 같다.

https://www.terraform.io/

 

Terraform by HashiCorp

Terraform is an open-source infrastructure as code software tool that enables you to safely and predictably create, change, and improve infrastructure.

www.terraform.io

 

기본적으로 Registry에서는 providers(AWS,GCP 등 의 servece providers)와 modules(openvpn 등의 인프라 자원의 그룹 템플릿)을 지원하는데 그 수가 어마무시하다. 아무튼 이제 설치 해 보도록 하자.

이제 테라폼을 설치해 보도록하자. 아래의 명령어를 따라서 진행하면된다.

* 진행이 안될 시 sudo rm /var/lib/apt/lists/* -vf 로 그냥 밀어버리고 다시 update를 진행하면 된다.

sudo apt-get update && sudo apt-get install -y gnupg software-properties-common curl
/ 페키지 업데이트 및 기본적인 의존성설치
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
/ 우분투 페키지 저장소의 신뢰도 확보를 위한 서명키 다운로드
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
/ 헤쉬코프의 우분투 저장소를 apt-add를 이용해 추가한다.
sudo apt-get update && sudo apt-get install terraform
/ 페키지 갱신 후 테라폼 설치

쭉쭉 진행되는것을 확인할 수 있을 것 이다.

이제 패커를 설치해 보도록 하자.

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
/ gpg키를 신뢰할 수 있도록 등록한다.
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
/ 페키지 저장소를 등록한다.

==> 이 2가지는 이전에 실행했으면 다시 안해도 된다.

sudo apt-get update && sudo apt-get install packer
/ 페키지를 설치한다.

마지막으로 앤서블을 설치해 보자. 엔서블의 경우 python(pip)과 우분투의 페키지 메니저를 이용한 apt를 사용하는 방법이 있다. 하지만 pip가 가장 무난하니 이것을 사용해 보도록 하자.

sudo apt install python3-pip
/pip 페키지를 설치하는 명령어이다.
pip install ansible
/ pip를 통해 엔서블을 설치한다.

'DevOps > Terraform' 카테고리의 다른 글

IaC와 CM(기본개념)  (0) 2022.01.29