Vagrant定製個性化CentOS7虛擬機模板

關於虛擬機模板

想用vagrant搭建hadoop集羣,要完成如下準備工做:shell

  1. 三個虛擬機實例操做系統都是CentOS7的server版;
  2. 每一個實例都要安裝一樣的應用、關閉防火牆、關閉swap等;
    今天就來作個模板,用此模板建立好的虛擬機都已經完成了上述操做;

關於vagrant的安裝和基本操做,請參考《Mac下vagrant從安裝到體驗》centos

環境信息

  1. 操做系統:macOS Mojave 10.14.6
  2. Vagrant:2.2.5
  3. VirtualBox:6.0.10網絡

    建立實例並完成個性化設置

  4. 建立一個centos7的實例,以此實例來作模板,新建個目錄,在裏面執行命令vagrant init centos/7
  5. 再執行命令vagrant up啓動實例;
  6. 執行命令vagrant ssh進入虛擬機,默認密碼是vagrant,另外root帳號的密碼也是vagrant
  7. 登陸以後,而後按照本身的須要去操做吧,例如關閉防火牆、安裝JDK、關閉swap等;
  8. 爲了能用ssh工具來遠程鏈接虛擬機,須要修改/etc/ssh/sshd_config文件,將和的值設置以下:
PermitRootLogin yes
PasswordAuthentication yes

以上的設置已經知足我我的的須要了,您能夠按照本身的要求來作;ssh

把實例作成模板

  1. 退出虛擬機;
  2. Vagrantfile文件所在目錄執行vagrant halt命令將當前虛擬機中止;
  3. 執行vagrant package命令將當前虛擬機做爲文件導出,名爲package.box
zhaoqin@CN0014005932:~/vm/template$ vagrant package
==> default: Attempting graceful shutdown of VM...
==> default: Clearing any previously set forwarded ports...
==> default: Exporting VM...
==> default: Compressing package to: /Users/zhaoqin/vm/template/package.box
zhaoqin@CN0014005932:~/vm/template$ ls
Vagrantfile package.box
  1. 接下來將這個導出的package.box文件加入本地box倉庫:
vagrant box add --name my-c7-template ./package.box

上述命令執行成功後,能夠在本地box列表中見到名爲my-c7-template的box:ide

zhaoqin@CN0014005932:~/vm/template$ vagrant box add --name my-c7-template ./package.box
==> box: Box file was not detected as metadata. Adding it directly...
==> box: Adding box 'my-c7-template' (v0) for provider:
    box: Unpacking necessary files from: file:///Users/zhaoqin/vm/template/package.box
==> box: Successfully added box 'my-c7-template' (v0) for 'virtualbox'!
zhaoqin@CN0014005932:~/vm/template$ vagrant box list
centos/7       (virtualbox, 1905.1)
customize-c7   (virtualbox, 0)
my-c7-template (virtualbox, 0)

注意:執行vagrant box add命令的時候,最後一個參數指明瞭box文件的位置,我這裏加了"./"指明是當前目錄,這個"./"必定不能省掉,不然頗有可能去找到了其餘目錄下的package.box文件
模板製做已經完成,接下來驗證這個實例;工具

驗證

  1. 新建個目錄,在裏面執行命令vagrant init my-c7-template
  2. 打開新生成的Vagrantfile文件,增長如下配置,做用是將虛擬機網絡類型改爲私有網絡並固定IP地址:
config.vm.network "private_network", ip: "192.168.33.10"
  1. 再執行命令vagrant up啓動實例;
  2. 因爲模板裏已經設置了ssh,容許以root帳號遠程ssh登陸,因此此次ssh客戶端登陸試試,以下圖,能夠順利登陸成功:
    在這裏插入圖片描述
  3. 您也能夠檢查其餘的設置是否已經生效;

以上就是個性化虛擬機模板的製做過程,藉助此功能能夠高效的建立虛擬機實例,但願本文可以給您一些參考。oop

相關文章
相關標籤/搜索