베이그런트란?
쉬운 프로비져닝, 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해두는 것
미리 정의해놓은 정보대로 필요할 때 올려서 사용할 수 있음.
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
운영체제에 맞는 것 설치
터미널 창에 vagrant 쳐보면 명령어 인식하는 것 알 수 있음.
원하는 파일 위치에서 vagrant init을 하면 Vagrantfile이라는 샘플 파일이 생성됨
vagrant init
vi Vagrantfile
위에 "base"부분에 어떤 os를 설치할지 적어주면 됨.
- 아래 링크는 베이그란트클라우드인데 여기에 다양한 종류 os가 존재함. 여기서 다운받아서 사용하면 됨
아래처럼 바꿔주기만 하면 됨..!!
# 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에 접근할 수 있음.
'네트워크 > 네트워크 자동화' 카테고리의 다른 글
[심화][2] "[1]"에서 설치한 환경에 ansible 구성하기 (0) | 2021.03.02 |
---|---|
[000] ansible playbook editor - ansible vim 설치하기 (0) | 2021.02.03 |
[6] 3대의 노드에 웹서버를 설치하고 기동해보자!(centos, ansible) (0) | 2021.02.03 |
[5] Ansible 활용하기 - 작업을 단계별로 검증하여 실행하기(playbook 활용) (0) | 2021.02.03 |
[00]YAML(Playbook) 입력시 주의점!! 탭이 인식 안된다고? (0) | 2021.02.03 |