본문 바로가기
Development(Web, Server, Cloud)/Cloud : 정리

IaC : Terraform

by tonyhan18 2022. 6. 7.
728x90

CentOS8 로 설치를 진행해준다.

 

설치가 완료되면 위와같이 br0 에 eth0와 가상머신들이 물린형태를 만들어 주어야 한다.

 

# 네트워크
vi /etc/default/grub
cd /etc/sysconfig/network-scripts/

vi ifcfg-ens160
mv ifcfg-ens160 ifcfg-br0
cp ifcfg-br0 ifcfg-eth0

vi ifcfg-eth0
vi ifcfg-br0

#####

# firewall 종료
systemctl stop firewalld
systemctl disable firewalld

# selinux 종료
setenforce 0
vi /etc/selinux/config

# 이 파일 안에 net.ipv4.ip_forward = 1 입력하기
vi /etc/sysctl.conf

br0 는 위와같이 만들어주자

 

eth0는 위와같이 만들어주자

 

# 업데이트 진행 + 필요 소프트웨어 설치
dnf -y update
dnf -y install libvirt qemu-kvm virt-install virt-manager libvirt-devel virt-top libguestfs-tools
dnf -y install curl git wget vim

# 이 파일 안에 net.ipv4.ip_forward = 1 입력하기
vi /etc/libvirt/qemu.conf
reboot

# 테라폼 설치
yum install -y yum-utils
yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
yum install -y terraform

# kvm과 테라폼을 연결하기 
mkdir -p ~/.terraform.d/plugins
wget https://github.com/dmacvicar/terraform-provider-libvirt/releases/download/v0.6.2/terraform-provider-libvirt-0.6.2+git.1585292411.8cbe9ad0.Fedora_28.x86_64.tar.gz
tar xvzf terraform-provider-libvirt-0.6.2+git.1585292411.8cbe9ad0.Fedora_28.x86_64.tar.gz -C ~/.terraform.d/plugins/

 

dnf란

- DNF는 Yum의 낮은 성능, 많은 메모리 사용량, 비효율적인 중복 의존성 해결 메커니즘 등의 문제를 해결하기 위해 개발되었고, Yum과 달리, 외부 라이브러리인 libsolv를 통해 의존성 문제를 처리한다.

처음에는 Yum 3.4를 기반으로 파이썬으로 개발되었지만, 지금은 대부분의 기능을 C 포팅하여 libdnf 라이브러리로 옮기는 작업이 진행 중이다.

 

dnf 라이브러리

libdnf

  • DNF와 기반 라이브러리들의 고수준 API를 제공
  • C, C++, LGPLv2+

libsolv

librepo

  • 리눅스 저장소에서 메타 데이터와 패키지를 내려받을 때 사용하는 API를 제공 (libcURL과 유사한 C와 파이썬용 API)
  • C, LGPLv2+

libcomps

  • 파이썬으로 작성된 yum.comps 라이브러리를 대체하기 위해 C로 작성된 라이브러리. 파이썬용 바인딩도 제공.
  • C, GPLv2+
728x90