快速部署虚拟机集群(vagrant)
快速部署虚拟机集群是开发与测试团队面临的重要任务,常见的工具是 vagrant 与 docker machine。使用 vagrant 下载网上做好的虚拟机,速度“感人”!本文介绍 vagrant 在 VirtualBox 环境下创建 CentOS 虚拟机基础 Box 的方法,以及部署 docker 集群环境的应用。
highlights:
- 创建 CentOS Vagrant 基础 Box (CentOS 7 + docker engine + docker compose)
- Vagrant 配置文件
- Vagrant 管理虚拟机命令
- 创建管理 docker 虚拟机集群
环境准备
windows 10 一台
- 安装 Git Bash 2.11
-
- 全局配 Host Only 虚拟网卡一块 (IP addr : 192.168.56.1)
事先下载 CentOS-7-x86_64-Minimal-????.iso
目标:建立一个 CentOS 7 + docker engine + docker compose 虚拟机,配置成 manager1,worker1,worker2 的虚拟机集群,一键启动。
1、Vagrant 简介
Vagrant(VM a Grant Up)一键启动虚拟机。
Vagrant 的原始动机:将 VirtualBox (包括 VMWare,AWS)等建的虚拟机打一个包(box),配合Vagrantfile 配置文件,定义项目中虚拟机的 box 、主机名、网络、挂载、虚拟机启动脚本等,用一个 vagrant up 命令自动完成虚拟机软件运行环境(应用上云)。
Vagrant 原理
- 定义项目配置文件,Vagrantfile;
- vagrant up 按配置获取 box,导入虚拟机。如果本地仓库没有,到市场下载;
- 设置虚拟机主机名,网络,外部文件系统挂载,执行启动脚本;
- 通过 vagrant 管理虚拟机的启动、挂起、ssh 进入虚拟机等。
按环境准备安装,比较简单。
2、准备创建 CentOS Vagrant Base Box
虚拟机镜像大小众人皆知阿,如果没有镜像站点,下载慢不说,你需要的系统有没有合适镜像也是问题。第一步就是自己动手,建立虚拟机的 box。好在网上也有不少资料!
原版:How to Create a CentOS Vagrant Base Box
中文整理后:Vagrant之创建一个基于CentOS的Vagrant Base Box
适应范围 CentOS,Ubuntu,这里以 CentOS7 Minimal 为例。
第一步:使用 ISO 镜像安装虚拟机
使用 CentOS-7-x86_64-Minimal-????.iso 在 VirtualBox 创建虚拟机
- 虚拟机名称:centos7-docker-vagrant
- 禁用声音与USB设备
- 网络:默认 NAT,设置 ssh 转发路由 guestssh,协议 tcp,端口 2222 映射到端口 22
- 创建 20G 左右虚拟盘
基础安装过程注意事项
- 开启网络
- 记住 root 的密码
第二步:升级 CentOS
ssh 连接虚拟机
打开 Git Bush,ssh 到虚拟机,方便 copy-paste 命令。(CentOS7 内置 ssh 并启动 sshd 了!)