$ cd ~/docs/propuppetex/chapter3

$ cat Vagrantfile

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

config.vm.box = "centos64"

config.vm.define "ppt" do |ppt|

ppt.vm.hostname = "puppet.boco.com.cn"

ppt.vm.network "private_network", ip: "192.168.50.3",

    virtualbox__intnet: "gcptest-network"

ppt.vm.provider :virtualbox do |vbox|

  vbox.customize ["modifyvm", :id, "--natnet1", "10.3/16"]

end

ppt.vm.provision :shell, path: "master.sh"

end

config.vm.define "web" do |web|

web.vm.hostname = "web.boco.com.cn"

web.vm.network "private_network", ip: "192.168.50.4",

    virtualbox__intnet: "gcptest-network"

web.vm.provider :virtualbox do |vbox|

  vbox.customize ["modifyvm", :id, "--natnet1", "10.3/16"]

end

web.vm.provision :shell, path: "web.sh"

end

end

$ cat master.sh

echo '*' > /etc/puppet/autosign.conf

sed -i '/[.*]/ a \ autosign = true' /etc/puppet/puppet.conf # add "autosign = true" in [main] and [agent]

echo "192.168.50.3 puppet.boco.com.cn puppet" >> /etc/hosts

echo "192.168.50.4 web.boco.com.cn web" >> /etc/hosts

mkdir /etc/puppet/manifests

cat > /etc/puppet/manifests/site.pp <<-EOF

node 'web' {

file { '/home/vagrant/aaa.conf':

content => 'this is made by puppet master!',

}

}

EOF

service iptables stop

$ cat web.sh

sed -i '1 a \ master = puppet' /etc/puppet/puppet.conf # add "master = puppet" after the line [main]

echo "192.168.50.3 puppet.boco.com.cn puppet" >> /etc/hosts

echo "192.168.50.4 web.boco.com.cn web" >> /etc/hosts

echo "proxy=http://10.21.3.31:8888" >> /etc/yum.conf

service iptables stop

Now run "puppet master --no-daemonize --verbose" on ppt, run "puppet agent --test" on web, you can file the file "aaa.conf" at /home/vagrant.

Build Puppet Clusters with Vagrant的更多相关文章

  1. 让 VAGRANT 启动并运行起来

    这是一个帮助你快速入门Vagrant的初级教程.官方文档也可以很好的帮助你入门,但是本文更针对完全零基础的初学者并且会对某些问题直接切入正题. 本文在任何方面都不会取代官方文档,而且我建议读完本文的人 ...

  2. Create Virtual Machines with Vagrant and Puppet

    Create the following puppet manifest and start VM with vagrant, you get a base production environmen ...

  3. vagrant

    puppet chef ansible salt docker https://github.com/ansible/ansiblehttps://github.com/saltstack/salth ...

  4. Vagrant 快速入门

    1. Vagrant功能: Vagrant uses Oracle’s VirtualBox to build configurable, lightweight, and portable virt ...

  5. Vagrant入门[转]

    Vagrant是一个简单易用的部署工具,用英文说应该是orchestration tool.它能帮助开发人员迅速的构建一个开发环境,帮助测试人员构建测试环境. Vagrant的基本工作原理大致如下: ...

  6. vagrant打造自己的开发环境

    vagrant打造自己的开发环境 缘由: 在网上看到斌哥,爽神都写了关于vagrant的博客,都在说很强大,所以很好奇这玩意怎么个强大,然后也就自己来一发玩玩看看. 真实缘由: 说实话是电脑配置太低, ...

  7. 使用 Vagrant 构建开发环境

    使用 Vagrant 构建开发环境 摘要:本文描述了如使用 Vagrant 构建统一的开发环境. 问题 作为开发人员,我们通常面临的问题有: 开发环境需要手工安装配置,这包括操作系统(CentOS.U ...

  8. 使用 Vagrant + VirtualBox 快速构建 CentOS 下的 Docker 环境

    Vagrant - 基础概念: Vagrant 是什么? Vagrant是一款用于在单个工作流程中构建和管理虚拟机环境的工具.凭借易于使用的工作流程和专注于自动化,Vagrant降低了开发环境设置时间 ...

  9. 超详细的 Vagrant 上手指南

    搭建 Linux 虚拟机,别再用 VirtualBox 从 .iso 文件安装了. 概述 2020 年了,也许你已经习惯了 docker,习惯了在 XX 云上快速创建云主机,但是如果你想在个人电脑上安 ...

随机推荐

  1. vue cli3 使用elemet-plus

    原文章: https://blog.csdn.net/qq_44827865/article/details/115457445 element-plus官方网站:https://element-pl ...

  2. sonarqube 8.9版本配置项目访问权限

    soanrqube设置项目权限 admin->项目->要设置的项目 进行项目权限配置 选择权限 权限配置(公开,私有)如果是公司项目建议选择私有 根据项目团队成员的角色需求,进行勾选配置 ...

  3. 海量数据Excel报表利器——EasyExcel(一 利用反射机制导出Excel)

    EasyExcel 写入(导出) 互联网的精髓就是共享,可以共享技术.共享经验.共享情感.共享快乐~ 很多年前就有这个想法了,从事IT行业时间也不短了,应该把自己工作和业余所学习的东西记录并分享出来, ...

  4. iOS导入其他APP下载的文件(用其他应用打开)

    今天给自己的APP新增了一个小功能 可以打开iOS其他APPTXT 文件,一个很小的功能,做阅读APP的小伙伴不要错过. 附上APP地址: 一阅阅读 有想看小说的小伙伴可以试下 支持换源 支持自定义书 ...

  5. Java实验项目二——打印某年某月日历

    Program:打印万年历(输入年份,月份,输出该月的日历,已知1900年1月1日是星期一), 要 求: (1)编写一个方法判断闰年: (2)编写一个方法判断某年某月有多少天: (3)编写一个方法计算 ...

  6. leetcode第157场周赛5213

    当时居然没想到,我真菜,就当记录一下了. 思路分析: 分为两种: 第一种:走两步的,无论是奇或偶的位置,只要走两步,代价为0: 第二种:走一步的,就是偶数到奇数,或者奇数到偶数,代价为1: 那么实际上 ...

  7. 「HEOI2016/TJOI2016」排序

    「HEOI2016/TJOI2016」排序 题目大意 给定一个 \(1\) 到 \(n\) 的排列,每次可以对这个序列的一个区间进行升序/降序排序,求所有操作后第 \(q\) 个位置上的数字. 题解 ...

  8. CTF-OldDriver-writeup

    题目信息: 有个年轻人得到了一份密文,身为老司机的你能帮他看看么? 附件:enc.txt [{"c": 73660675747411714617220651332429160804 ...

  9. python3.6 找不到Tkinter

    PYTHON3.6安装时提示是否安装(TK) 引入模块import tkinter(都小写)

  10. Qt5MV自定义模型与实例浅析

    1. Model/View结构 这种结构,其实就是将界面组件与所编辑的数据分离开来,又通过数据源的方式连接起来,相当于解耦,视图层只关心显示和与用户交互,而数据层负责与实际的数据进行通信,并为视图组件 ...