SlideShare a Scribd company logo
1 of 16
Download to read offline
Vagrant 의 활용
전인환 (treetory@gmail.com)
Vagrant 란?
● What is vagrant?
Usefulness of Vagrant
➔ For Developers
Say goodbye to "works on my machine"
bugs.
➔ For Operators
stop juggling SSH prompts to various
machines, and start using Vagrant to
bring sanity to your life.
➔ For Designers
No more bothering other developers to
help you fix your environment so you can
test designs.
Vagrant 도 일종의
협업도구라고 보면 됩니다.
Vagrant 설치
● Hypervisor (provider) 를 선택
● Vagrant downloads page 에서 Vagrant 다운
● 그리고 설치
Hypervisor 간의 충돌
➔ VirtualBox VS. KVM
echo ‘blacklist kvm-intel’ >>
/etc/modprobe.d/blacklist.conf
➔ VirtualBox VS. Hyper-V
Disable-WindowsOptionalFeature
-Online -FeatureName
Microsoft-Hyper-V-All
➔ Create the VM using 64-bit OS
enable the VT-D option in BIOS
Single Workflow - VagrantFile
● vagrant init
config.vm #1 : box
● What is Box?
● HashiCorp’s Vagrant Cloud box
catalog
● config.vm.box (string)
● config.vm.box_check_update (boolean)
● config.vm.box_download_checksum (string)
● config.vm.box_download_checksum_type (string)
● config.vm.box_download_client_cert (string)
config.vm.box_download_ca_cert (string)
config.vm.box_download_ca_path (string)
● config.vm.box_download_insecure (boolean)
● config.vm.box_url (string, array of strings)
● config.vm.box_version (string)
config.vm #2 : provider
● What is Provider?
● supported : VirtualBox, Hyper-V,
VMware, Docker and Custom
Provider
config.vm.provider "virtualbox" do |v|
v.gui = true
v.name = "my_vm"
v.default_nic_type = "82543GC"
v.linked_clone = true if
Gem::Version.new(Vagrant::VERSION) >=
Gem::Version.new('1.8.0')
v.customize ["modifyvm", :id,
"--cpuexecutioncap", "50"]
v.memory = 1024
v.cpus = 2
end
config.vm #3 : network
● Private or Public
● NAT or Bridge or Host-only
Vagrant.configure("2") do |config|
config.vm.network "private_network", type: "”, ip: "”,
netmask: "”, auto_config: "”, virtualbox__intnet: "”,
nic_type: "”
end
Vagrant.configure("2") do |config|
config.vm.network "public_network", ip: "”,
netmask: "”, auto_config: "”,
use_dhcp_assigned_default_route: "”, bridge: "”,
nic_type: "”
end
config.vm #4 :
synced_folder
● Very convenient function
● Share between Host Machine and
Guest Machine
Vagrant.configure("2") do |config|
config.vm.synced_folder “/home”, “/dev”
end
→ Guest Machine
/vagrant
config.vm #5 :
provision
● When is occured the
provisioning?
● execute shell script, ansible, chef,
puppet, salt and docker
● Once or Always or Never
Vagrant.configure("2") do |config|
config.vm.provision "shell", inline: "echo hello”, run:
"always”
end
Vagrant.configure("2") do |config|
config.vm.provision "bootstrap", type: "shell”, run:
"never” do |s|
s.inline = “echo hello”
end
config.ssh
● ssh configuration
● enough to use as default
● config.ssh.compression (boolean)
● config.ssh.config (string)
● config.ssh.dsa_authentication (boolean)
● config.ssh.export_command_template (string)
● config.ssh.extra_args (array of strings)
● config.ssh.forward_agent (boolean)
● config.ssh.forward_env (array of strings)
● config.ssh.forward_x11 (boolean)
● config.ssh.guest_port (integer)
● config.ssh.host (string)
● config.ssh.insert_key (boolean)
● config.ssh.keep_alive (boolean)
● config.ssh.keys_only (boolean)
config.ssh
● ssh configuration
● enough to use as default
● config.ssh.paranoid (boolean)
● config.ssh.password (string)
● config.ssh.port (integer)
● config.ssh.private_key_path (string, array of strings)
● config.ssh.proxy_command (string)
● config.ssh.pty (boolean)
● config.ssh.remote_user (string)
● config.ssh.shell (string)
● config.ssh.sudo_command (string)
● config.ssh.username (string)
● config.ssh.verify_host_key (string, symbol)
이렇게 씁니다.
➔ vagrant init
먼저 VagrantFile 을 생성합니다.
➔ vi VagrantFile
템플릿을 내 상황에 맞게 수정합니다.
➔ vagrant up
그리고 프로비저닝 합니다.
➔ vagrant halt
사용후엔 종료합니다.
감사합니다.
부족한 발표 들어주셔서
정말 감사합니다.

More Related Content

What's hot

Vagrant are you still develop in a non-virtual environment-
Vagrant  are you still develop in a non-virtual environment-Vagrant  are you still develop in a non-virtual environment-
Vagrant are you still develop in a non-virtual environment-Anatoly Bubenkov
 
Vagrant Workshop
Vagrant WorkshopVagrant Workshop
Vagrant Workshopsys army
 
Nodejs web service for starters
Nodejs web service for startersNodejs web service for starters
Nodejs web service for startersBruce Li
 
Vagrant for Virtualized Development
Vagrant for Virtualized DevelopmentVagrant for Virtualized Development
Vagrant for Virtualized DevelopmentAdam Culp
 
Continuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptLars Thorup
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environmentbocribbz
 
Vagrant plugin development intro
Vagrant plugin development introVagrant plugin development intro
Vagrant plugin development introBudh Ram Gurung
 
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechNode.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechChristopher Bumgardner
 
Nodejs Intro - Part2 Introduction to Web Applications
Nodejs Intro - Part2 Introduction to Web ApplicationsNodejs Intro - Part2 Introduction to Web Applications
Nodejs Intro - Part2 Introduction to Web ApplicationsBudh Ram Gurung
 
Introduction to Express and Grunt
Introduction to Express and GruntIntroduction to Express and Grunt
Introduction to Express and GruntPeter deHaan
 
Docker session I: Continuous integration, delivery and deployment
Docker session I: Continuous integration, delivery and deploymentDocker session I: Continuous integration, delivery and deployment
Docker session I: Continuous integration, delivery and deploymentDegendra Sivakoti
 
Development with Vagrant
Development with VagrantDevelopment with Vagrant
Development with VagrantJohn Coggeshall
 
Gestión de la configuración - Jenkins ci
Gestión de la configuración - Jenkins ciGestión de la configuración - Jenkins ci
Gestión de la configuración - Jenkins ciCarles San Agustin
 
Node4J: Running Node.js in a JavaWorld
Node4J: Running Node.js in a JavaWorldNode4J: Running Node.js in a JavaWorld
Node4J: Running Node.js in a JavaWorldIan Bull
 
Running JavaScript Efficiently in a Java World
Running JavaScript Efficiently in a Java WorldRunning JavaScript Efficiently in a Java World
Running JavaScript Efficiently in a Java Worldirbull
 

What's hot (20)

Vagrant are you still develop in a non-virtual environment-
Vagrant  are you still develop in a non-virtual environment-Vagrant  are you still develop in a non-virtual environment-
Vagrant are you still develop in a non-virtual environment-
 
Vagrant Workshop
Vagrant WorkshopVagrant Workshop
Vagrant Workshop
 
Nodejs web service for starters
Nodejs web service for startersNodejs web service for starters
Nodejs web service for starters
 
Vagrant for Virtualized Development
Vagrant for Virtualized DevelopmentVagrant for Virtualized Development
Vagrant for Virtualized Development
 
Continuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScriptContinuous Integration for front-end JavaScript
Continuous Integration for front-end JavaScript
 
CasperJS
CasperJSCasperJS
CasperJS
 
Vagrant - Version control your dev environment
Vagrant - Version control your dev environmentVagrant - Version control your dev environment
Vagrant - Version control your dev environment
 
Vagrant for real
Vagrant for realVagrant for real
Vagrant for real
 
Vagrant plugin development intro
Vagrant plugin development introVagrant plugin development intro
Vagrant plugin development intro
 
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechNode.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ Benetech
 
Nodejs Intro - Part2 Introduction to Web Applications
Nodejs Intro - Part2 Introduction to Web ApplicationsNodejs Intro - Part2 Introduction to Web Applications
Nodejs Intro - Part2 Introduction to Web Applications
 
Nodejs Intro Part One
Nodejs Intro Part OneNodejs Intro Part One
Nodejs Intro Part One
 
Introduction to Express and Grunt
Introduction to Express and GruntIntroduction to Express and Grunt
Introduction to Express and Grunt
 
Docker session I: Continuous integration, delivery and deployment
Docker session I: Continuous integration, delivery and deploymentDocker session I: Continuous integration, delivery and deployment
Docker session I: Continuous integration, delivery and deployment
 
Development with Vagrant
Development with VagrantDevelopment with Vagrant
Development with Vagrant
 
Gestión de la configuración - Jenkins ci
Gestión de la configuración - Jenkins ciGestión de la configuración - Jenkins ci
Gestión de la configuración - Jenkins ci
 
Grunt
GruntGrunt
Grunt
 
Node4J: Running Node.js in a JavaWorld
Node4J: Running Node.js in a JavaWorldNode4J: Running Node.js in a JavaWorld
Node4J: Running Node.js in a JavaWorld
 
Running JavaScript Efficiently in a Java World
Running JavaScript Efficiently in a Java WorldRunning JavaScript Efficiently in a Java World
Running JavaScript Efficiently in a Java World
 
DevStack
DevStackDevStack
DevStack
 

Similar to Vagrant 의 활용

Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment ColdFusionConference
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Gavin Pickin
 
Using Vagrant
Using VagrantUsing Vagrant
Using Vagrantandygale
 
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
Devoxx UK 2013: Sandboxing with the Vagrant-Binding APIDevoxx UK 2013: Sandboxing with the Vagrant-Binding API
Devoxx UK 2013: Sandboxing with the Vagrant-Binding APIHendrik Ebbers
 
Vagrant-Overview
Vagrant-OverviewVagrant-Overview
Vagrant-OverviewCrifkin
 
Lightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and PuppetLightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and PuppetHendrik Ebbers
 
Quick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with VagrantQuick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with VagrantJoe Ferguson
 
Puppet Provisioning Vagrant Virtual Machine
Puppet Provisioning Vagrant Virtual MachinePuppet Provisioning Vagrant Virtual Machine
Puppet Provisioning Vagrant Virtual MachineArpit Aggarwal
 
Vagrant step-by-step guide for Beginners
Vagrant step-by-step guide for BeginnersVagrant step-by-step guide for Beginners
Vagrant step-by-step guide for BeginnersSagar Acharya
 
Vagrant 101 Workshop
Vagrant 101 WorkshopVagrant 101 Workshop
Vagrant 101 WorkshopLiora Milbaum
 
Local development environment through virtualisation
Local development environment through virtualisationLocal development environment through virtualisation
Local development environment through virtualisationRadu Barbu
 
Minicurso de Vagrant
Minicurso de VagrantMinicurso de Vagrant
Minicurso de VagrantLeandro Nunes
 
Powering Development and Testing Environments with Vagrant
Powering Development and Testing Environments with VagrantPowering Development and Testing Environments with Vagrant
Powering Development and Testing Environments with VagrantCoen Jacobs
 
Create Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantCreate Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantBrian Hogan
 
Automating with ansible (Part B)
Automating with ansible (Part B)Automating with ansible (Part B)
Automating with ansible (Part B)iman darabi
 

Similar to Vagrant 의 활용 (20)

Intro to vagrant
Intro to vagrantIntro to vagrant
Intro to vagrant
 
Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment Take Home Your Very Own Free Vagrant CFML Dev Environment
Take Home Your Very Own Free Vagrant CFML Dev Environment
 
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
 
Using Vagrant
Using VagrantUsing Vagrant
Using Vagrant
 
Vagrantfordevops
VagrantfordevopsVagrantfordevops
Vagrantfordevops
 
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
Devoxx UK 2013: Sandboxing with the Vagrant-Binding APIDevoxx UK 2013: Sandboxing with the Vagrant-Binding API
Devoxx UK 2013: Sandboxing with the Vagrant-Binding API
 
Vagrant-Overview
Vagrant-OverviewVagrant-Overview
Vagrant-Overview
 
Lightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and PuppetLightweight and reproducible environments with vagrant and Puppet
Lightweight and reproducible environments with vagrant and Puppet
 
Vagrant For DevOps
Vagrant For DevOpsVagrant For DevOps
Vagrant For DevOps
 
Quick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with VagrantQuick & Easy Dev Environments with Vagrant
Quick & Easy Dev Environments with Vagrant
 
Puppet Provisioning Vagrant Virtual Machine
Puppet Provisioning Vagrant Virtual MachinePuppet Provisioning Vagrant Virtual Machine
Puppet Provisioning Vagrant Virtual Machine
 
Vagrant step-by-step guide for Beginners
Vagrant step-by-step guide for BeginnersVagrant step-by-step guide for Beginners
Vagrant step-by-step guide for Beginners
 
Vagrant 101 Workshop
Vagrant 101 WorkshopVagrant 101 Workshop
Vagrant 101 Workshop
 
Local development environment through virtualisation
Local development environment through virtualisationLocal development environment through virtualisation
Local development environment through virtualisation
 
Minicurso de Vagrant
Minicurso de VagrantMinicurso de Vagrant
Minicurso de Vagrant
 
Ansible & Vagrant
Ansible & VagrantAnsible & Vagrant
Ansible & Vagrant
 
Powering Development and Testing Environments with Vagrant
Powering Development and Testing Environments with VagrantPowering Development and Testing Environments with Vagrant
Powering Development and Testing Environments with Vagrant
 
FreeBSD: Dev to Prod
FreeBSD: Dev to ProdFreeBSD: Dev to Prod
FreeBSD: Dev to Prod
 
Create Development and Production Environments with Vagrant
Create Development and Production Environments with VagrantCreate Development and Production Environments with Vagrant
Create Development and Production Environments with Vagrant
 
Automating with ansible (Part B)
Automating with ansible (Part B)Automating with ansible (Part B)
Automating with ansible (Part B)
 

Recently uploaded

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 

Recently uploaded (20)

Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 

Vagrant 의 활용

  • 1. Vagrant 의 활용 전인환 (treetory@gmail.com)
  • 2. Vagrant 란? ● What is vagrant?
  • 3. Usefulness of Vagrant ➔ For Developers Say goodbye to "works on my machine" bugs. ➔ For Operators stop juggling SSH prompts to various machines, and start using Vagrant to bring sanity to your life. ➔ For Designers No more bothering other developers to help you fix your environment so you can test designs.
  • 5. Vagrant 설치 ● Hypervisor (provider) 를 선택 ● Vagrant downloads page 에서 Vagrant 다운 ● 그리고 설치
  • 6. Hypervisor 간의 충돌 ➔ VirtualBox VS. KVM echo ‘blacklist kvm-intel’ >> /etc/modprobe.d/blacklist.conf ➔ VirtualBox VS. Hyper-V Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All ➔ Create the VM using 64-bit OS enable the VT-D option in BIOS
  • 7. Single Workflow - VagrantFile ● vagrant init
  • 8. config.vm #1 : box ● What is Box? ● HashiCorp’s Vagrant Cloud box catalog ● config.vm.box (string) ● config.vm.box_check_update (boolean) ● config.vm.box_download_checksum (string) ● config.vm.box_download_checksum_type (string) ● config.vm.box_download_client_cert (string) config.vm.box_download_ca_cert (string) config.vm.box_download_ca_path (string) ● config.vm.box_download_insecure (boolean) ● config.vm.box_url (string, array of strings) ● config.vm.box_version (string)
  • 9. config.vm #2 : provider ● What is Provider? ● supported : VirtualBox, Hyper-V, VMware, Docker and Custom Provider config.vm.provider "virtualbox" do |v| v.gui = true v.name = "my_vm" v.default_nic_type = "82543GC" v.linked_clone = true if Gem::Version.new(Vagrant::VERSION) >= Gem::Version.new('1.8.0') v.customize ["modifyvm", :id, "--cpuexecutioncap", "50"] v.memory = 1024 v.cpus = 2 end
  • 10. config.vm #3 : network ● Private or Public ● NAT or Bridge or Host-only Vagrant.configure("2") do |config| config.vm.network "private_network", type: "”, ip: "”, netmask: "”, auto_config: "”, virtualbox__intnet: "”, nic_type: "” end Vagrant.configure("2") do |config| config.vm.network "public_network", ip: "”, netmask: "”, auto_config: "”, use_dhcp_assigned_default_route: "”, bridge: "”, nic_type: "” end
  • 11. config.vm #4 : synced_folder ● Very convenient function ● Share between Host Machine and Guest Machine Vagrant.configure("2") do |config| config.vm.synced_folder “/home”, “/dev” end → Guest Machine /vagrant
  • 12. config.vm #5 : provision ● When is occured the provisioning? ● execute shell script, ansible, chef, puppet, salt and docker ● Once or Always or Never Vagrant.configure("2") do |config| config.vm.provision "shell", inline: "echo hello”, run: "always” end Vagrant.configure("2") do |config| config.vm.provision "bootstrap", type: "shell”, run: "never” do |s| s.inline = “echo hello” end
  • 13. config.ssh ● ssh configuration ● enough to use as default ● config.ssh.compression (boolean) ● config.ssh.config (string) ● config.ssh.dsa_authentication (boolean) ● config.ssh.export_command_template (string) ● config.ssh.extra_args (array of strings) ● config.ssh.forward_agent (boolean) ● config.ssh.forward_env (array of strings) ● config.ssh.forward_x11 (boolean) ● config.ssh.guest_port (integer) ● config.ssh.host (string) ● config.ssh.insert_key (boolean) ● config.ssh.keep_alive (boolean) ● config.ssh.keys_only (boolean)
  • 14. config.ssh ● ssh configuration ● enough to use as default ● config.ssh.paranoid (boolean) ● config.ssh.password (string) ● config.ssh.port (integer) ● config.ssh.private_key_path (string, array of strings) ● config.ssh.proxy_command (string) ● config.ssh.pty (boolean) ● config.ssh.remote_user (string) ● config.ssh.shell (string) ● config.ssh.sudo_command (string) ● config.ssh.username (string) ● config.ssh.verify_host_key (string, symbol)
  • 15. 이렇게 씁니다. ➔ vagrant init 먼저 VagrantFile 을 생성합니다. ➔ vi VagrantFile 템플릿을 내 상황에 맞게 수정합니다. ➔ vagrant up 그리고 프로비저닝 합니다. ➔ vagrant halt 사용후엔 종료합니다.