Vagrant相关知识脑图

简介: Vagrant主要点和例子、分类的脑图

Vagrant主要点和例子.jpg

Vagrant主要点和例子

安装

vagrant运行文件

  • yum install -y vagrant.x86_64
  • 安装和运行的信息保存地址
    ~/.vagrant.d

provider

  • virtualbox

    • yum install -y VirtualBox-6.1-6.1.12_139181_el7-1.x86_64

VBoxManage extpack install --accept-license=56be48f923303c8cababb0bb4c478284b688ed23f16d775d729b89a2e8e5f9eb --replace /opt/dev/tools/virtualbox/Oracle_VM_VirtualBox_Extension_Pack-6.1.12-139181.vbox-extpack

  • kvm

    • yum install -y libvirt
  1. install -y qemu* kvm

yum install -y virt-manager

vagrant kvm时需要

yum install -y rsync

  • 还有vmware之类的,不列出了

plugin

  • virtualbox

    • yum install -y vagrant.x86_64

--plugin-clean-sources --plugin-source 设置后在 ~/.vagrant.d/plugins.json 这里就会保存了安装源地址

https://github.com/devopsgroup-io/vagrant-hostmanager

vagrant plugin install --plugin-clean-sources --plugin-source ${REPO_GEMS} --debug vagrant-hostmanager

config.vbguest.iso_path = "https://mirrors.tuna.tsinghua.edu.cn/virtualbox/%{version}/VBoxGuestAdditions_%{version}.iso"

vagrant plugin install --plugin-clean-sources --plugin-source ${REPO_GEMS} --debug vagrant-vbguest

https://github.com/sprotheroe/vagrant-disksize config.disksize.size = '50GB'

vagrant plugin install --plugin-clean-sources --plugin-source ${REPO_GEMS} --debug vagrant-disksize

/opt/vagrant/embedded/lib/ruby/2.6.0/x86_64-linux/rbconfig.rb 中需要修改 -Wl,--compress-debug-sections=zlib

vagrant plugin install --plugin-clean-sources --plugin-source ${REPO_GEMS} --debug vagrant-libvirt || true

centos7上编译出错,因此替换后再次安装,由于使用了缓存就可正常安装

sed -i "s/-Wl,--compress-debug-sections=zlib/ /" /opt/vagrant/embedded/lib/ruby/2.6.0/x86_64-linux/rbconfig.rb
vagrant plugin install --plugin-clean-sources --plugin-source ${REPO_GEMS} --debug vagrant-libvirt

box

已经预制好的镜像文件

和provider对应

https://app.vagrantup.com/boxes/search
官方的box检索入口,注册后,自己的box公开的也可以放在这

如centos7的可以下载的box有

https://mirrors.ustc.edu.cn/centos-cloud/centos/7/vagrant/x86_64/images/

导入box

  • 例子
  1. box add --name centos7.4 ftp://xxx.xxx.xxx.xxx/vagrant/CentOS-7-x86_64-Vagrant-1708_01.Libvirt.box

Vagrantfile

代码化配置

约定式命名

所有配置都体现在这个文件中

这是RUBY实现的DSL,因此编写时注意RUBY的语法

登录证书

  • config.ssh
    这个的配置可以设置自己的免密证书等
  • vagrant ssh的排错

    • vagrant up --provider=virtualbox --debug
    • vagrant ssh-config
    • 直接进入虚拟机命令行

虚拟机设置

  • CPU 内存 网卡地址 硬盘设置
    https://www.vagrantup.com/docs/providers/virtualbox/configuration
  • config.vm.define "centos7.4-vb" do |node|
        node.vm.hostname = "vb1"
    
        #box需要按照格式备好
        node.vm.box = "cs-centos-cert-user-7.4"
        node.vm.box_check_update = false
    
        #node.vm.synced_folder '.', '/vagrant', :disabled => true
        node.vm.network "private_network", ip: "192.168.99.200"
    
        #https://www.vagrantup.com/docs/providers/virtualbox/configuration 具体的配置项
        node.vm.provider :virtualbox do |vb|
            #   vb.gui = true
            vb.memory = 1024
            vb.cpus = 1
            vb.name = "vb1"
        end
    end

provision

  • 脚本

    • config.vm.provision :shell, inline: "chmod +x /home/vagrant/post.sh; sudo /home/vagrant/post.sh"
  • 拷贝文件

    • config.vm.provision "file", source: "env.sh", destination: "/home/vagrant/env.sh"

主要命令

vagrant CMD ARGS

启动 up

关机 halt

初始化 provision

登录进某个主机 ssh

销毁虚机 destroy

导出自己的box

如将当前定制的虚拟机mycentos7.4导出为box共享使用

vagrant package --base mycentos7.4 --output ./mycentos-cert-user-7.4.box

参考

https://gitee.com/wushifeng/centosKit/tree/master/sys/virtual/kvm

https://gitee.com/wushifeng/centosKit/tree/master/sys/virtual/virtualbox

官方网站

https://www.vagrantup.com/docs

基本概念名词[一句话]

box

类似livecd的启动文件

provider

虚拟环境运行的地方,如kvm virtualbox vmware

plugin

辅助不同的provider下的虚机的配置

provision

在默认的初始镜像启动后,需要定制的软件安装和各种操作

概要: 更多明细网络检索即可

用途

基础设施IAAS代码化

快速多机器环境的应用开发和测试

[统一的配置和快速安装]

...

XMind: ZEN - Trial Version

相关文章
|
8月前
|
人工智能 安全 Unix
Linux常用命令笔记大全(建议收藏!!)
Linux常用命令笔记大全(建议收藏!!)
199 0
|
缓存 JavaScript 前端开发
hexo 命令速查小册
hexo 命令速查小册
|
8月前
X-mind思维导图安装步骤
X-mind思维导图安装步骤
|
应用服务中间件 Linux 数据安全/隐私保护
liunx常用命令整理
liunx常用命令整理
286 0
|
开发工具 git Docker
一张脑图整理Docker常用命令
一张脑图整理Docker常用命令
642 0
一张脑图整理Docker常用命令
|
Linux
Vagrant 使用笔记
Vagrant 是什么?
157 0
Vagrant 使用笔记
|
数据可视化 NoSQL Unix
Linux系统开发: 基础命令学习
Linux系统开发: 基础命令学习
188 0
Linux系统开发: 基础命令学习
|
Oracle 关系型数据库 MySQL
linux常用命令 满足99%的开发需要
本篇内容记录了关于linux常用命令的一些基本知识。
150 0
|
运维 Cloud Native Linux
免费下载!运维工程师的Ansible速查手册
Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
免费下载!运维工程师的Ansible速查手册
|
Linux 网络安全 数据安全/隐私保护
Vagrant 搭建开发环境实践
vagrant是一个命令行的虚拟机管理程序。用于简化搭建开发环境。 vagrant使用ruby语言基于Chef 开发。需要配合其他虚拟机程序进行工作,如vmare、virualbox、hyper-v等。并通过 CLI和VagrantFile(配置文件)管理虚拟机的所有功能。vagrant 使用自己的镜像格式进行环境部署,即box。类似于虚机的iso或者docker中的镜像。
429 0