본문 바로가기

네트워크/네트워크 자동화

[심화][1]Ansible 심화를 위한 환경 설명 with 베이그런트

베이그런트란?

쉬운 프로비져닝, 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해두는 것

미리 정의해놓은 정보대로 필요할 때 올려서 사용할 수 있음.

ex. CentOS를 설치할 때, 설치가 완료된 후에 ip 등 설정을 하게 되는데,,  베이그런트를 사용하면 설치할 때 자동으로 정보 다 가져가서 한번에 세팅까지 해줌. 즉, 쉽게 프로비져닝이 됨.

설치 환경

가상 머신 하나

ansible server : CentOS

 

진행방법

1. bash등 명령어 편집을 위해 텍스트 편집기 설치

2. 베이그런트 설치 및 초기화

3. 베이그런트 하일 수정 하여 centos 설치, 

버츄어 박스를 통해 각각의 가상머신에서 다양한 기능을 사용하기 위해서 플러그인 설치

이 플러그인도 베이그런트로 설치할 것임. 

4. centos 이미지 설치하여 ssh 로 접근해보기


베이그런트 기초 명령어
*베이그런트 강의는 아니지만 이번 실습을 하며 많이 사용할 명령어만 간단히 표기*
vagrant init = 프로비저닝을 해주는 예제 스크립트 생성
vagrant up = vagrantfile을 읽어 들여 프로비저닝 진행
vagrant halt = 베이그런트에서 다루는 호스트들을 종료
vagrant destroy = 베이그런드 호스트 삭제
vagrant ssh = 베이그런트 호스트에 ssh 로 접속
vagrant provision = 베이그런트의 호스트의 설정 변경 적용

베이그런트 download

www.vagrantup.com/

 

Vagrant by HashiCorp

Vagrant enables users to create and configure lightweight, reproducible, and portable development environments.

www.vagrantup.com

운영체제에 맞는 것 설치

터미널 창에 vagrant 쳐보면 명령어 인식하는 것 알 수 있음.

원하는 파일 위치에서 vagrant init을 하면 Vagrantfile이라는 샘플 파일이 생성됨

vagrant init

 

vi Vagrantfile

위에 "base"부분에 어떤 os를 설치할지 적어주면 됨.

- 아래 링크는 베이그란트클라우드인데 여기에 다양한 종류 os가 존재함. 여기서 다운받아서 사용하면 됨

 

Vagrant Cloud by HashiCorp

Vagrant Cloud by HashiCorp

app.vagrantup.com

아래처럼 바꿔주기만 하면 됨..!!

  # Every Vagrant development environment requires a box. You can search for
 # boxes at https://vagrantcloud.com/search.
  config.vm.box = "centos/7"

 

 

 

추가로 나는 mac위에서 virtualbox를 로딩하여 centos를 사용할 것이기 때문에 변경해줘야 함.

vagrant는 mac과 centos가 공유할 수 있는 디렉토리를 제공함. 하지만 설정하는 것이 불편하기 때문에 이 부분을 주석 처리 할 것임(아래 참조)

config.vm.synced_folder ".", "/vagrant", disabled:true

 

 

각각의 가상머신들이 모든 역할을 다하기 위해서는 플러그인(확장팩) 설치 필요. 플러그인 설치 후에 "vagrant up"을 함.

베이그런트는 현재 설치되는 가상 머신을 인식하고 필요한 확장팩(플러그인)을 자동으로 설치해줌.

vagrant plugin install vagrant-vbguest

vagrant up

 

근데 위와 같은 에러가 발생함 ㅠㅠㅠㅠ

The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

umount /mnt

Stdout from the command:



Stderr from the command:

umount: /mnt: not mounted



virtual box를 보면 설치되고 있는 것을 볼 수는 있는데 에러가 있으니 해당 vm은 전원을 끄고 삭제..ㅠㅠ

 

vagrant plugin uninstall vagrant-vbguest

vagrant plugin install vagrant-vbguest --plugin-version 0.21

vagrant up

이렇게 하니까 됨!! 이것때문에 몇 시간 낑낑 거렸으뮤ㅠㅠ

설치 완료 인증

이렇게 잘 실행중인 것을 볼 수 있음

 

➜ Desktop vagrant ssh
[vagrant@localhost ~]$

그냥 터미널 창에 베이그런트 ssh로 접속하면 방금 베이그런트로 설치한 centos에 접근할 수 있음.