zoukankan      html  css  js  c++  java
  • Vagrant

    官网
    参考资料

    借助 Vagrant ,可以使用 Vagrantfile 文件自动化虚拟机的安装和配置流程,方便快速的打造跨平台的统一开发环境。

    1. Vagrant 是啥

    Vagrant 用于构建及配置虚拟开发环境,基于 Ruby 开发,主要以命令行方式运行。

    Vagrant 主要使用 VirtualBox 虚拟机,与 Chef,Salt,Puppet 等环境配置管理软件搭配使用, 可以实行快速构建虚拟开发环境,包括:

    • 控制虚拟机的启动
    • 配置虚拟机的网络环境
    • 配置虚拟机与主机间的文件共享
    • 设置启动后自动执行的脚本,比如自动通过脚本安装 MySQL

    需要在多台机器间同步开发环境时,只需要同步同一个 Vagrantfile 文件就可以保证所有机器拥有一致的开发环境,运行 vagrant up 命令即可。

    2. Vagrant 的概念及安装

    2.1 概念

    • Provider:供 Vagrant 调用的虚拟化工具,可以是 VirtualBox、VMWare、Xen、Docker、AWS。这些虚拟化工具需要提前安装在你的电脑上。vagrant 会自动在底层通过统一的命令调用这些虚拟化工具。
    • Box:Vagrant 可直接使用的虚拟机镜像文件,不同的 Provider 对应的 Box 文件的格式不一样。具体可以查看 官方仓库,仓库中可以按照 Provider 类型过滤 Box,也可以查看每个 Box 支持的 Provider 类型。
      这里写图片描述
    • Vagrantfile:配置文件,Vagrant 会根据这个配置文件创建虚拟机。在 Vagrantfile 文件中需要指明使用哪个 Box(可以是本地或官方仓库中的),虚拟机如何配置等信息。
    • Provisioner:Vagrant 的一种插件。大部分现成的 box 不能满足需求,可以使用你熟悉的 Provisioner,比如 Puppet,在通过 vagrant up 命令启动虚拟机时自动安装软件、修改配置等初始化操作。也可以使用 shell provisioner 通过执行 shell 命令完成。
    • Guest Additions:这个是常在下载 base box 介绍里有的,一般用来实现 host 到 vm 的端口转发、目录共享,在开发环境上都建议装上以便测试。

    2.2 安装

    前提条件:首先安装 VirtualBox。

    直接在官网的 下载页面 下载对应操作系统版本的软件安装即可。

    对于 CentOS,直接下载对应的 rpm 文件,然后通过命令 rpm -ivh XX.rpm 安装即可。

    2.3 常用命令

    # Box 相关命令
    vagrant box list  # 列出 Box
    vagrant box add USERNAME/BOX_NAME  # 添加别人做好的 Box,在线下载
    vagrant box add PATH/TO/BOX  # 添加本地离线下载好的 Box
    vagrant box remove  # 移除 Box
    
    # 虚拟机相关命令
    vagrant init  BOX  # 初始化一个 Vagrantfile 文件
    vagrant status  [VM_NAME]  # 虚拟机状态,默认查看所有的,可以指定只查看一个
    vagrant destroy [VM_NAME]  # 删除虚拟机,默认删除所有的,可以指定名字(VM_NAME)删除指定的虚拟机
    vagrant up [VM_NAME]  # 启动虚拟机,默认启动所有的,指定虚机名字(VM_NAME)启动指定的
    vagrant down [VM_NAME]  # 关闭虚机。默认关闭所有,指定虚机名字(VM_NAME)关闭指定的
    vagrant suspend [VM_NAME]  # 挂起虚机。默认关闭所有,指定虚拟机名字(VM_NAME)挂起指定的
    vagrant resume [VM_NAME]  # 从挂起状态恢复运行。默认恢复所有,指定虚拟机名字(VM_NAME)恢复指定的
    vagrant reload [VM_NAME]  # 从挂起状态恢复运行。默认恢复所有,指定虚拟机名字(VM_NAME)恢复指定的

    示例:

    vagrant box add centos/7 # 从官网下载指定的 Box,命令执行后会提示你选择虚拟机型号
    vagrant box add CentOS-6-x86_64-Vagrant-1708_01.VirtualBox.box --name centos/6 # 添加离线 vbox

    添加离线 vbox 时的可用选项有:
    --checksum:校验和的值
    --checksum-type:校验和的类型,可以是 md5、sha1 或 sha256
    –-name:离线添加的 box 在 Vagrant 中的名字,用于 Vagrantfile 配置文件

    3. 示例

    1. 打造跨平台的 K8S 学习环境

    项目地址

    使用 VagrantVirtualBox 在本地创建一个开箱即用又可方便定制的分布式开发环境,对 Kubernetes 本身和应用进行更好的测试。

    项目的具体描述,可以参考其 中文 ReadMe

    需要准备以下软件和环境:

    • 8G以上内存
    • Vagrant 2.0+
    • Virtualbox 5.0 +
    • 提前下载kubernetes1.9.1以上版本的release压缩包

    安装方式:

    1. 克隆 Git 仓库

    git clone https://github.com/rootsongjc/kubernetes-vagrant-centos-cluster.git

    2. 下载 Kubernetes(墙)

    下面两个压缩包的版本是 1.8,如果需要其他版本可以复制链接后更改链接中的版本部分:
    kubernetes-client-linux-amd64.tar.gz
    kubernetes-server-linux-amd64.tar.gz
    下载完成后,放到仓库对应的 kubenetes-vagrant-centos-cluster 目录下。

    3. 安装(墙)

    cd kubernetes-vagrant-centos-cluster
    vagrant up

    如果运行 vagrant up 时发现无法下载 centos/7 的 box,可以手动下载后将其添加到 vagrant 中。

  • 相关阅读:
    hdu 4002 Find the maximum
    hdu 2837 坑题。
    hdu 3123
    zoj Treasure Hunt IV
    hdu 2053 Switch Game 水题一枚,鉴定完毕
    poj 1430 Binary Stirling Numbers
    hdu 3037 Saving Beans
    hdu 3944 dp?
    南阳oj 求N!的二进制表示最低位的1的位置(从右向左数)。
    fzu 2171 防守阵地 II
  • 原文地址:https://www.cnblogs.com/kika/p/10851686.html
Copyright © 2011-2022 走看看