https://js990317.tistory.com/34
[Vagrant] 기존 파일로 가상 머신 만들어보기
Vagrant? 베이그런트는 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요할 때 시스템을 사용할 수 있는 상태로 만들어주는 오픈소스 소프트웨어 제품 중 하나입니다. 언어
js990317.tistory.com
저번 실습에서는 베이그런트와 버추얼박스를 설치하여 기존 이미지 파일로 가상 머신을 만들어보는 실습을 하였습니다.
이번에는 원하는 구성을 자동으로 생성할 수 있도록 Vagrantfile을 작성하여 가상머신을 생성해보는 실습을 해보려고합니다.
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.define "m-k8s" do |cfg|
cfg.vm.box = "sysnet4admin/CentOS-k8s" #config.vm.box를 do cfg에 적용한 내용을 받아 cfg.vm.box로 변경합니다
cfg.vm.provider "virtualbox" do |vb| # 베이그런트의 프로바이더가 virtualbox라는 것을 정의합니다. 또한, 버추얼박스에서 필요한 설정을 정의하는 시작을 do |vb|로 선언합니다.
vb.name = "m-k8s(github_SysNet4Admin)"
vb.cpus = 2
vb.memory = 2048
vb.customize ["modifyvm", :id, "--groups", "/k8s-SM(github_SysNet4Admin)"]
end
cfg.vm.host_name = "m-k8s"
cfg.vm.network "private_network", ip: "192.168.1.10"
cfg.vm.network "forwarded_port", guest: 22, host:60010, auto_correct: true, id: "ssh"
cfg.vm.synced_folder "../data", "/vagrant", disabled: true
end
end
맨 윗단의 두줄은 해당 파일이 루비임을 인식하게 하는 호환 코드로, 내용은 실행에 아무런 영향을 미치지 않습니다.
configure("2")는 베이그런트에서 루비로 코드를 읽어 들여 실행할때 작동하는 API버전이며,
해당 가상머신을 m-k8s로 정의하고 do cfg를 추가해 원하는 설정을 변경해주는 코드입니다.
해당 가상머신의 cpu, memory, network 등 사용자가 원하는 설정으로 만들 수 있음을 알 수 있습니다.
해당 코드를 작성한 뒤, vagrant up 명령을 통해 가상머신을 생성해주고, ssh로 연결해주면
앞서 작성했던 코드대로 IP가 잘 설정됐음을 알 수 있습니다.
'Devops' 카테고리의 다른 글
[k8s] 쿠버네티스 정의와 구성 요소 간 통신 방법 (0) | 2023.08.23 |
---|---|
[Vagrant] 기존 파일로 가상 머신 만들어보기 (0) | 2023.08.13 |
[Terraform] 단일 웹 서버 배포하기 (0) | 2023.08.06 |