Bootstrap Iac 툴
❏ Bootstrap IaC 툴을 이용하여 코드를 이용해서 어플리케이션 배포를 위한 머신을 생성하고 관리.
❏ 대표적인 툴들의 종류로는 Vagrant, Docker, Cloud CLI가 존재.
Docker
❏ 독립적인 어떤 하나의 컨테이너 기반으로 하나의 어플리케이션이나 서비스 관리
❏ 도커 컨테이너는 일종의 소프트웨어, 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다.
여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 아우른다.
이는 실행 중인 환경에 관계 없이 언제나 동일하게 실행될 것을 보증한다.
Vagrant
❏ 하시코프사에서 개발한 툴로서 코드를 이용해 다양한 가상환경을 생성하고 관리 가능.
❏ 포터블 가상화 소프트웨어 개발 환경(예: 개발 생산성 증가를 위해 가상화의 소프트웨어 구성 관리의 단순화를 시도하는 버추얼박스, 하이퍼-V, 도커 컨테이너, VM웨어, AWS)의 생성 및 유지보수를 위한 오픈 소스 소프트웨어 제품의 하나.
❏ 베이그런트는 루비 언어로 작성되어 있지만 생태계는 몇 가지 언어로 개발을 지원.
Vagrant vs 수동 VM 생성
❏ 수동으로 VirtualBox에 Ubuntu VM을 생성하는 과정
1) ubuntu iso 파일 다운로드
2) ubuntu iso 파일을 이용한 VM설정 및 생성
❏ Vagrant를 이용하는 경우는 아래와 같이 2줄의 코드를 입력하는 과정으로 간단하게 VirtualBox에 Ubuntu VM을 생성
1) vagrant init ubuntu/bionic64
2) vagrant up
Vagrant 실습 1 – Vagrant를 이용한 Ubuntu VM 생성
1) VirtualBox 설치가 되어있다는 가정 하에 https://developer.hashicorp.com/vagrant/install 에서 다운로드 받아서 Vagrant 설치 먼저 해주기
Vagrant는 구동가능한 다양한 머신 환경을 Box 형태로 지원.
https://app.vagrantup.com/boxes/search 에서 Vagrant를 이용해서 생성할 수 있는 Box 목록을 확인.
2) Vagrant를 이용해서 Ubuntu VM(Ubuntu/bionic64)을 생성하기 위한 초기화를 진행.
“vagrant init ubuntu/bionic64” 명령어 입력하면,
Vagrantfile 파일이 생성되고 해당 파일안에 Vagrant로 생성할 VM에 대한 정보들이 들어있음.
※ mac OS라 나는 desktop에 새 폴더 하나 만들어주고 터미널로 이 경로 찾아간 다음에 명령어 입력해주었다.
3) Vagrant를 이용해서 “vagrant up” 명령어로 Ubuntu VM(Ubuntu/bionic64)을 생성
4) VirtualBox에 들어가보면 ubuntu가 생성되고, 실행되어 있는 모습을 확인할 수 있음.
Virtualbox에서 ubuntu를 실행하고 로그인하고자 할때는 id 랑 pw 모두 vagrant 입력해서 확인해보기.
Vagrant 실습 2 – Vagrant 설정파일에 Java8 설치 쉘스크립트 추가
1) Ubuntu 18.04를 설치한 뒤 Java8을 설치하는 shell script를 config.vm.provision으로 추가
config.vm.provision "shell", inline: "sudo add-apt-repository ppa:webupd8team/java"
config.vm.provision "shell", inline: "sudo apt-get update"
config.vm.provision "shell", inline: "sudo apt-get -y install openjdk-8-jdk"
2) vagrant destroy, vagrant up 명령어로 Ubuntu 머신을 삭제하고 다시시작
3) vagrant ssh로 접속 후 java -version으로 잘 설치되어있는지 체크하기
참고사항
❏ CLI(Command Line Interface)
: 터미널 환경을 통해서 키보드를 통해 컴퓨터와 상호작용하는 환경
❏ Vagrant 명령어 정리
1) vagrant init: 현재 디렉토리에 Vagrantfile을 생성
2) vagrant up: Vagrantfile을 기반으로 VM을 생성하고 실행
3) vagrant ssh: 생성한 VM에 ssh를 이용해서 접속
4) vagrant status: 현재 실행중인 VM의 상태를 확인
5) vagrant halt: 실행중인 VM을 종료
6) vagrant destroy: 생성한 VM을 삭제
'DevOps&Infra > Cloud Infra' 카테고리의 다른 글
클라우드 컴퓨팅과 클라우드 네이티브 (0) | 2023.11.11 |
---|---|
IaC(Infrastructure as Code) 개요 (0) | 2023.11.04 |