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

相关文章
|
10月前
|
关系型数据库 MySQL 数据库
【Docker】手把手教你搭建好玩的docker项目合集
【Docker】手把手教你搭建好玩的docker项目合集
|
9月前
|
应用服务中间件 Linux Docker
[笔记]docker入门《一》环境安装
[笔记]docker入门《一》环境安装
|
前端开发 JavaScript Java
Docker 极简入门教程,傻瓜都能看懂!
Docker 极简入门教程,傻瓜都能看懂!
476 0
Docker 极简入门教程,傻瓜都能看懂!
|
Java Linux Docker
Linux安装Docker(图文解说详细版)
Linux安装Docker(图文解说详细版)
Linux安装Docker(图文解说详细版)
|
Kubernetes 网络协议 关系型数据库
Docker入门小册
本文主要讲述了docker入门的相关内容
|
jenkins Java Linux
阿粉手把手教你在 CentOS7 下搭建 Jenkins
阿粉的公司是用 Jenkins 去做的 DevOps 实践,那么想要快速熟悉 Jenkins ,第一步就是去把它搭建一下,这周末闲着没事就玩了一把,将整个过程和大家分享下
阿粉手把手教你在 CentOS7 下搭建 Jenkins
|
存储 Linux 开发工具
Docker 常用命令速查手册
记录一下docker的日常使用命令,本文主要针对linux + mac操作系统而言,window是否适用不太确定,谨慎使用
155 0
|
开发工具 git Docker
一张脑图整理Docker常用命令
一张脑图整理Docker常用命令
476 0
一张脑图整理Docker常用命令
|
Linux
Vagrant 使用笔记
Vagrant 是什么?
132 0
Vagrant 使用笔记
|
NoSQL Ubuntu 网络协议
《第一本Docker书》 读书笔记
在我看来,春天里一棵小草生长,它没有什么目的。风起时一匹公马发情,它也没有什么目的。草长马发情,绝非表演给什么人看的,这就是存在本身。我要抱着草长马发情的伟大真诚去做一切事,而不是在人前差羞答答的表演。在我看来,人都是为了要表演,失去了自己的存在。——王小波《三十而立》
413 0
《第一本Docker书》 读书笔记