由于电信需要远程部署软件,拟使用puppet进行远程服务管理

前提

  1. windows系统已经安装
  2. windows已经安装virtio driver
  3. 远程桌面开启,最好关闭防火墙

设置MTU

在没有安装cloudinit情况下需要手动配置mtu大小为1454,否则无法上网。

设置hosts文件

把一些常用的host放到C:/windows/system32/driver/etc/host,尤其是master的,务必设置!!

设置时间同步

agent需要和master保持时间同步,因此需要设置windows更新时间服务器为master

安装win32-dir

需要安装win32-dir 版本大于0.43, 安装方法为管理员start command prompt with puppet, run:

gem install win32-dir

修改puppet facter下的timezone

timezone默认输出中文,会出现编码错误,设置setcode 为英文字符,最好是世界时区标准格式

安装clouinit

下载地址:官网

关机

在这前清空puppet ssl目录,位于C:/programdata,并根据实际情况可以设置puppet.conf 。为了减少磁盘文件大小,最好运行下磁盘

清理,并删除掉一些无用文件。

格式转化

把格式转化,一方面为了合并base image,另一方面也可以起到重新整理磁盘文件,减少文件大小,run:

qemu-img convert -O qcow2 origin.qcow2 new.qcow2

上传镜像

把镜像上传到glance下,记得设置os_type = windows,否则会出现RTC时间问题

启动主机

启动云主机,记得设置os_type = windows, 原因同上!

总结问题

windows puppet只能安装agent,安装过程,在这里.

安装过程比较简单,但在运行agent时会遇到几个问题。

1. Error: Could not run: ”\xB2" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to UTF-16LE

这是win32-dir库bug,需要升级,使用管理员身份运行start command prompt with puppet,然后运行:

gem install win32-dir
gem list

确保运行gem list后win32-dir版本大于0.4.3。

2. could not intern from pson XXXX

这是由于编码问题造成的,master在获取facter变量时不能有中文(或者保证传输的编码和master一致),运行facter后发现timezone

输出中文。简单的解决办法是,修改facter的timezone,位于

安装路径:C:\Program Files\Puppet Labs\Puppet\facter\lib\facter.

根据实际情况修改setcode值,我是直接硬编码为"UTC+8",或者可以参照世界时区标准记法。

certificate verify failed: [CRL is not yet valid for /CN controller

这是由于agent和master clock不同步造成的,openstack中创建windows云主机时需要指os_type为windows,才能社会之RTC为localtime,否则时间会不准。

制作windows puppet openstack镜像的更多相关文章

  1. 制作Windows U盘镜像

    目的:制作windows server 2008 U盘镜像 需要的共具: 1.一个格式为FAT并且至少4G的U盘, 2.UltraISO软件, 3.一个windows server 2008 ISO文 ...

  2. OpenStack制作Windows 2008 KVM镜像

    1.下载驱动程序 [root@linux-node1 ~]# cd /usr/local/src [root@linux-node1 src]# wget https://launchpad.net/ ...

  3. OpenStack Nova 制作 Windows 镜像

    OpenStack Nova 制作 Windows 镜像   windows虚拟机ubuntuimage防火墙云计算 本贴转自http://www.vpsee.com 上次 VPSee 给 OpenS ...

  4. OpenStack 镜像制作

    Contents [hide] 1 Centos6.5 img制作 1.1 基础环境安装 1.2 下载或从本地上传系统镜像 1.3 启动服务 1.4 建立镜像文件 1.5 通过virt-install ...

  5. OpenStack镜像制作-CentOS

    云平台中镜像还是很重要的,提供各种定制化的镜像使得用户体验更好. 最开始玩OpenStack的时候用的是安装文档中提到的cirros,其密码cubswin:) 刚开始感觉很怪,现在已经可以随手打出.p ...

  6. openstack镜像制作思路、指导及问题总结

    一.思路就4步:1.创建镜像文件2.用nova-compute自带的kvm,启动.iso文件,用vncviewer完成OS的安装过程3.OS安装完毕,停止虚拟机,kvm重启镜像,安装必要的软件4.后续 ...

  7. 7.8、如何制作openstack镜像

    1.创建openstack-linux镜像: 下载已经做好的的镜像:https://docs.openstack.org/image-guide/obtain-images.html#centos ( ...

  8. OpenStack镜像制作笔记 --以windows8.1-amd64为例

    by hyc 目录 1.下载win8_64位的iso文件 2.下载对应电脑的vnc 3.下载Xshell软件 4.连接成功后,在Xshell下安装软件包 5.下载FileZilla Client软件 ...

  9. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(4)--用OZ工具制作openstack镜像

    在部署openstack云平台环境的时候,需要上传镜像到glance. 首先下载iso镜像,这里下载了centos6.5镜像,放到/usr/local/src目录下然后用OZ工具制作openstack ...

随机推荐

  1. Vue 事件相关实例方法---on/emit/off/once

    一.初始位置 平常项目中写逻辑,避免不了注册/触发各种事件 今天来研究下 Vue 中,我们平常用到的关于 on/emit/off/once 的实现原理 关于事件的方法,是在 Vue 项目下面文件中的 ...

  2. 莫队算法 sqrt(n)分块思想

    在此说一下本渣对莫队算法思想的一些浅薄理解 莫队算法的思想就是对真个区间的分块,然后按照每块来分别进行计算,这样最终的复杂度可以达到n*sqrt(n) 小Z的袜子是一道非常经典的题目.:题目链接htt ...

  3. centos7 安装telent和telnet-server

    安装centos7 无telnet命令 先检查CentOS7.0是否已经安装以下两个安装包:telnet-server.xinetd.命令如下: rpm -q telnet-server rpm -q ...

  4. (转)Ubuntu下用eclipse cdt编写多线程程序的简单设置

    在Ubuntu下用eclipse cdt编写了一个多线程程序,但是总是出现pthread_create函数未定义! 查找了下原因,原来是要对eclipse进行一些简单的设置: 右键单击项目->P ...

  5. Qt 线程基础(QThread、QtConcurrent、QThreadPool等)

      使用线程 基本上有种使用线程的场合: 通过利用处理器的多个核使处理速度更快. 为保持GUI线程或其他高实时性线程的响应,将耗时的操作或阻塞的调用移到其他线程. 何时使用其他技术替代线程 开发人员使 ...

  6. DNS排查技术图谱

    # DNS排查技术图谱 ## 应用程序视角- 应用程序 - 浏览器 - hostname cache - ping- 操作系统 - hostname cache - 域名解析器 - dig domai ...

  7. O(n)时间复杂度查找数组第二大元素

    分析:要求O(n)时间复杂度,不能用排序.可以设置两个临时变量分别保存当前最大值以及当前第二大的值,然后遍历数组,不断更新最大值和第二大的数值. 代码: bool findSec(vector< ...

  8. STL unique

    1: template <class ForwardIterator> 2: ForwardIterator unique (ForwardIterator first, ForwardI ...

  9. Java高级进阶:自定义ClassLoader

    假如我们的类不在classpath下,而我们又想读取一个自定义的目录下的class,如果做呢? 读取自定义目录的类 示例读取c:/test/com/test.jdk/Key.class这个类. pac ...

  10. python不同包之间调用时提示文件模块不存在的问题

    python对于跨包调用函数时,经常会提示模块不存在的问题,主要是python程序执行时,搜索路径导致的,python程序执行的路径依次是: (1)程序根目录(2)环境变量(3)标准库目标(D:\Py ...