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

相关文章
|
3月前
|
Ubuntu 数据可视化 Docker
第4讲笔记:SecretFlow & SecretNote安装部署
安装SecretFlow需在Ubuntu虚拟机上用Anaconda创建Python 3.8环境,名称为secretflow,然后在环境中运行`conda create -n secretflow python=3.8`,`source activate secretflow`和`pip install -U secretflow`。SecretFlow部署可选仿真或生产模式。仿真模式包括单机(模拟Alice、Bob)和集群仿真,生产模式涉及多节点部署,注意各节点间的通信配置。SecretNote适合多节点代码的可视化执行,但不适用于生产环境。
|
4月前
|
机器学习/深度学习 数据挖掘 Docker
《Docker 简易速速上手小册》第1章 Docker 基础入门(2024 最新版)
《Docker 简易速速上手小册》第1章 Docker 基础入门(2024 最新版)
70 2
|
4月前
|
Ubuntu Linux 定位技术
手把手教你优雅的安装虚拟机 Ubuntu —— 图文并茂
手把手教你优雅的安装虚拟机 Ubuntu —— 图文并茂
461 1
|
4月前
|
jenkins Java 应用服务中间件
Jenkins 安装全攻略:从入门到精通
Jenkins 安装全攻略:从入门到精通
141 0
|
11月前
|
应用服务中间件 Linux Docker
[笔记]docker入门《一》环境安装
[笔记]docker入门《一》环境安装
|
关系型数据库 Linux 虚拟化
最棒Docker从入门到精通适合新手
Docker从入门到精通适合新手
128 0
最棒Docker从入门到精通适合新手
|
jenkins Java 应用服务中间件
jenkins手把手教你从入门到放弃02-jenkins在Windows系统安装与配置(详解)
上一篇对jenkins有了大致了解之后,那么我们就开始来安装一下jenkins。
263 0
jenkins手把手教你从入门到放弃02-jenkins在Windows系统安装与配置(详解)
|
缓存 Ubuntu Unix
Linux环境搭建 | 手把手教你配置Linux虚拟机
Linux环境搭建 | 手把手教你配置Linux虚拟机
363 0
Linux环境搭建 | 手把手教你配置Linux虚拟机
|
jenkins Java Linux
阿粉手把手教你在 CentOS7 下搭建 Jenkins
阿粉的公司是用 Jenkins 去做的 DevOps 实践,那么想要快速熟悉 Jenkins ,第一步就是去把它搭建一下,这周末闲着没事就玩了一把,将整个过程和大家分享下
阿粉手把手教你在 CentOS7 下搭建 Jenkins
|
开发工具 git Docker
一张脑图整理Docker常用命令
一张脑图整理Docker常用命令
532 0
一张脑图整理Docker常用命令