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 中。

  • 相关阅读:
    Swift--集合类型 数组 字典 集合
    Swift--基础(一)基本类型 符号 字符串(不熟的地方)
    myFocus焦点图插件
    createjs基础
    111
    Foundation class diagram
    UIKit class diagram
    iOS Development
    What Is Cocoa?
    Cocoa 基本原理
  • 原文地址:https://www.cnblogs.com/kika/p/10851686.html
Copyright © 2011-2022 走看看