천리길도 한걸음부터
테스트 환경 구성하기 - 버추얼박스 설치 본문
2장. 테스트 환경 구성하기
▶ 2.1 테스트 환경을 자동으로 구성하는 도구
▶ 2.2 베이그런트로 랩 환경 구축하기
▶ 2.3 터미널 프로그램으로 가상 머신 접속하기
코드형 인프라(IaC, Infrastructure as Code)란 쉽게말해 코드로 하드웨어를 설정하고, 운영 체제를 설치하고,
네트워크를 구성하고, 개발 환경을 구축하는 것입니다. 즉, 코드로 인프라를 소프트웨어처럼 다룰 수 있습니다.
2.1.1. 버추얼박스 설치하기
버추얼박스는 이노테크(InnoTek)에서 개발한 가상화 소프트웨어로 오라클에서 배포합니다.
버추얼박스는 현존하는 대부분의 운영 체제를 게스트 운영 체제로 사용할 수 있으며,
확장팩을 제외하면 아무런 제한 없이 소프트웨어의 모든 기능을 무료로 이용할 수 있습니다.
또한 다른 가상화 소프트웨어보다 기능이 강력하고 안정적입니다.
버추얼박스를 설치해 봅시다.
*오! 2018년도에 국비교육 들을때 CentOS! 버추얼박스 써봤는데! 싱기방기

2.1.2. 베이그런트 설치하기
베이그런트는 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요할 때 시스템을 사용할 수 있는 상태로 만들어 줍니다. 이를 프로비저닝(provisioning)이라고 하는데, 프로비저닝을 하면 필요할 때 환경을 매우 쉽고 간단하게 구현할 수 있습니다.


설치된 CentOS에 접속
vagrant ssh
- CentOS가 베이그런트로 버추얼박스에 아주 간단하게 설치됨.
설치된 가상 머신 삭제
vagrant destroy -f

✅ 가상 머신에 추가 패키지 설치하기
✔Vagrantfile에 셸 프로비전을 추가
cfg.vm.provision "shell", path: "install_pkg.sh" #add provisioning script
✔ install_pkg.sh 작성
#!/usr/bin/env bash
# install packages
yum install epel-release -y
yum install vim-enhanced -y
cmd에서 vigrant provision 명령으로 추가한 프로비전 구문을 실행했더니, 에러 발생.

[원인]
이 오류는 CentOS 7의 yum이 mirrorlist.centos.org에 접근하지 못해서 패키지를 설치하지 못하는 상황입니다.
- CentOS 7이 2024년 6월부로 EOL(End of Life) 되어 공식 mirrorlist.centos.org가 종료됨.
- 네트워크 문제(X), 레포지토리 주소가 더 이상 유효하지 않음(O)
- yum이 더 이상 기본 리포지토리를 찾을 수 없어 provision이 실패
[해결]
✔ install_pkg.sh 수정
#!/usr/bin/env bash
# CentOS 7 repo fix (EOL 대응)
sed -i 's|mirrorlist=|#mirrorlist=|g' /etc/yum.repos.d/CentOS-Base.repo
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Base.repo
yum clean all
yum makecache
# install packages
yum install epel-release -y
yum install vim-enhanced -y
[이유]
- CentOS 7은 2024년 6월에 공식 지원 종료(EOL) 되었음.
- 그래서 기본 yum 미러 서버(mirrorlist.centos.org)가 닫혔고,
- vault.centos.org로 레포를 바꿔야만 CentOS 7의 패키지를 계속 설치할 수 있음.

2.2.3 가상 머신 추가로 구성하기
베이그런트로 운영 체제를 자동으로 설치하고 구성하면 편리합니다. 하지만 단순히 운영 체제 1개를 구성하려고 베이그런트를 사용하지는 않습니다. 그래서 이번에는 기존에 설치한 가상 머신 외에 가상 머신 3대를 추가로 설치합니다. 그리고 기존의 가상 머신과 추가한 가상 머신 간에 네크워크 통신이 원할하게 작동하는지 확인해 보겠습니다.

로그가 넘 길어서..
vagrant status 명령하면 가상머신이 잘 올라갔는지 확인가능.

책에서, ./ping_2_nds.sh 명령해서 ping테스트하라고 했는데, 파일이 없다고 떠서..
Vagrantfile 확인해보니..
cfg.vm.synced_folder "../data", "/vagrant", disabled: true 로 되어있어서,
공유가 꺼져있어서, false로 바꿔서 다시 진행..
'컨테이너 인프라 환경 구축을 위한 쿠버네티스,도커' 카테고리의 다른 글
컨테이너 인프라 환경이란 (0) | 2025.03.14 |
---|