puppet 配置 1. 服务器, 客户端配置说明

简介: puppet 作用1. 适合于在主机完成初始化安装后 (可通过 cobbler + kickstart 进行自动化安装部署) , 进行统一的管理2. 常见管理包括, 用户, 系统基础配置, 服务, 进程, 软件等等3. 适合于大规模对大量主机执行重复的相同的配置, 简化了管理员分别对主机执行重复的枯燥的配置, 避免了因为手误, 因为其他原因对主机执行错误

puppet 作用

1.  适合于在主机完成初始化安装后 (可通过 cobbler + kickstart 进行自动化安装部署) , 进行统一的管理
2.  常见管理包括,  用户, 系统基础配置,  服务,  进程,  软件等等
3.  适合于大规模对大量主机执行重复的相同的配置, 简化了管理员分别对主机执行重复的枯燥的配置, 避免了因为手误, 因为其他原因对主机执行错误配置
4.  puppet 还可以定期重启执行, 确保服务, 配置文件一致性,  也可以执行集中化升级降级处理等功能
5.  类似的几种管理软件有多种, 如 cfengine,puppet,chef, ansible 等等, 本文只针对 puppet 进行讨论,  不对其他软件评价与比较

基础环境介绍

server: 
   hostname:        terry-test-uq2pu.vclound.com
   ip address:      10.199.198.218
   os version:      2.6.32-504.23.4.el6.x86_64
   puppet version:  puppet-server-3.6.2-1

client: 
   hostname:        terry-rhel7.vclound.com
   ip address:      10.199.198.86
   os version:      3.10.0-229.el7.x86_64
   puppet version:  puppet-3.6.2-3.el7.noarch

软件包安装方法 (略)

服务端配置文件说明

/etc/puppet/puppet.conf

作用: 主配置文件, 用于控制服务端

[main]
    logdir = /var/log/puppet
    rundir = /var/run/puppet
    ssldir = $vardir/ssl
    fileserverconf = /etc/puppet/fileserver.conf           # 用于共享文件, 并传送至客户端, 格式: puppet:///
    manifest = /etc/puppet/manifests/main-site.pp          # 用于指定使用哪一个模板
    modulepath = /etc/puppet/modules                       # 定义存放模板的位置
[agent]
    classfile = $vardir/classes.txt
    localconfig = $vardir/localconfig
    autosign = /etc/puppet/autosign.conf                   # 自动为客户端进行密钥认证, 避免手动为每个客户密钥签名

/etc/puppet/fileserver.conf

作用: 用于共享文件, 并传送至客户端, 格式: puppet:///

[files]
  path /etc/puppet/files
  allow *

/etc/puppet/autosign.conf

作用: 自动为客户端进行密钥认证, 避免手动为每个客户密钥签名

*.vclound.com              # 所有主机后缀为  *.vclound.com 则执行自动密钥签名

/etc/puppet/manifests/main-site.pp

作用: 定义模板位置

if versioncmp($::puppetversion,'3.6.1') >= 0 {
  $allow_virtual_packages = hiera('allow_virtual_packages',false)

  Package {
    allow_virtual  => $allow_virtual_packages,
  }
}

import 'terry/terry-test.pp'                             #  使用这个文件作为当前的 puppet 模板

/etc/puppet/manifests/terry/terry-test.pp

作用: 定义了客户端主机, 配置等功能, 所有 puppet 操作都在该文件中进行定义

客户端主机定义方法

1. puppet 客户端连接服务端需要经过验证 (主机名验证)
2. 服务端 客户端主机名更改后, 需要重新进行验证
3. 服务端, 客户端主机名都必须复合 fqdn 规则
4. 只有被定义的主机可以可以使用到该 puppet 模板 (参考下面定义方法)

定义方法:

只匹配 terry.vclound.com 主机

node /terry.vclound.com/ {
   各种 puppet 定义;
}

只匹配 terry1.vclound.com, terry2.vclound.com, terry3.vclound.com 主机

node 'terry1.vclound.com', 'terry2.vclound.com', 'terry3.vclound.com' {
    各种 puppet 定义;
}

匹配所有以 vclound.com 后缀的主机名

node /\\*.vclound.com/ {
    各种 puppet 定义;
}

客户端配置文件说明

/etc/puppet/puppet.conf

作用: 定义 puppet 主服务器位置则可

[main]
    logdir = /var/log/puppet
    rundir = /var/run/puppet
    ssldir = $vardir/ssl
    server = terry-test-uq2pu.vclound.com        # 定义 puppet 服务器, 需要 dns 或 /etc/hosts 解释
[agent]
    classfile = $vardir/classes.txt
    localconfig = $vardir/localconfig

注: 假如不进行上述的 server = xxx 定义, 那么在运行 puppet 时候, 需要手动添加 –server 参数也是可以的

puppet 的启动方法

服务端启动方法

rhel6  /etc/init.d/puppetmaster start
rhel7  systemctl start puppetmaster

当服务器启动后, 默认会在下面生成三个密钥, 不建议对服务端执行主机名修改方法, 因为会导致验证失败, 需要手动维护才可以令 puppet master 重新生效, 是一个比较麻烦的操作

/var/lib/puppet/ssl/certs/terry-test-uq2pu.vclound.com.pem
/var/lib/puppet/ssl/private_keys/terry-test-uq2pu.vclound.com.pem
/var/lib/puppet/ssl/public_keys/terry-test-uq2pu.vclound.com.pem

客户端启动方法

暂时只需要按需连接或者利用 cron job 执行客户端与服务器连接则可
当然, 也可以使用 /etc/init.d/puppet start 方法令 puppet 长期处于后台进程

客户端连接方法:

puppet agent -t --debug

注意

假如客户端主机名改变或者在之前已经曾经连接过其他的 puppet server
则启动或连接当前的 puppet server 会出现报错
解决方法删除密钥后 rm -rf /var/lib/puppet/ssl/*  在尝试重新连接 puppet server
目录
相关文章
|
5天前
|
网络协议 JavaScript 前端开发
WebSocket:实现客户端与服务器实时通信的技术
WebSocket:实现客户端与服务器实时通信的技术
|
6天前
|
消息中间件 安全 Linux
服务器(Linux)在线下载activeMQ以及配置打开
服务器(Linux)在线下载activeMQ以及配置打开
19 3
|
1天前
|
存储 弹性计算 监控
【阿里云弹性计算】深入阿里云ECS配置选择:CPU、内存与存储的最优搭配策略
【5月更文挑战第20天】阿里云ECS提供多种实例类型满足不同需求,如通用型、计算型、内存型等。选择CPU时,通用应用可选1-2核,计算密集型应用推荐4核以上。内存选择要考虑应用类型,内存密集型至少4GB起。存储方面,系统盘和数据盘容量依据应用和数据量决定,高性能应用可选SSD或高效云盘。结合业务特点和预算制定配置方案,并通过监控应用性能适时调整,确保资源最优利用。示例代码展示了使用阿里云CLI创建ECS实例的过程。
32 5
|
6天前
|
网络协议
Socket实现服务器和客户端(手把手教会)
Socket实现服务器和客户端(手把手教会)
|
6天前
|
XML 网络安全 开发工具
如何下载并安装 SAP ABAPGit,并完成 ABAP 服务器上 SSL 证书的配置试读版
如何下载并安装 SAP ABAPGit,并完成 ABAP 服务器上 SSL 证书的配置试读版
11 0
|
6天前
|
网络协议 Dubbo Java
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
【网络编程】理解客户端和服务器并使用Java提供的api实现回显服务器
11 0
|
6天前
|
JavaScript 前端开发 搜索推荐
Vue 的服务器端渲染(SSR)和客户端渲染(CSR)在渲染过程、性能、用户体验等方面都存在显著的区别
【5月更文挑战第8天】Vue 的 SSR 和 CSR 在渲染上有明显差异。SSR 服务器端生成 HTML 返回给浏览器,提供更快首屏加载和更好的 SEO,但增加服务器负担。CSR 客户端渲染,首次加载可能较慢,但交互更流畅,开发更简单。两者各有优劣,需根据项目需求权衡选择。
15 2
|
6天前
|
Web App开发 安全 Unix
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
|
6天前
|
存储 弹性计算 固态存储
阿里云服务器租用价格参考,2核16G、4核32G、8核64G配置收费标准
阿里云服务器2核16G、4核32G、8核64G配置最新租用价格更新,2024年阿里云产品再一次降价,降价之后2核16G配置按量收费最低收费标准为0.596元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.085元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。云服务器实例规格的地域和实例规格不同,收费标准不一样,下面是2024年阿里云服务器2核16G、4核32G、8核64G配置的最新租用收费标准。
阿里云服务器租用价格参考,2核16G、4核32G、8核64G配置收费标准
|
6天前
|
PyTorch TensorFlow 算法框架/工具
【科研入门】搭建与配置云服务器的论文环境
本文介绍了如何搭建云服务器并配置论文代码环境,以AutoDL平台为例。首先,租用服务器并选择符合代码需求的镜像版本,如Python 3.7、TensorFlow 1.15和PyTorch。接着,启动服务器进入终端,克隆项目代码并使用Conda创建隔离的环境安装所需包。如果需在Pycharm中工作,还需在Pycharm内创建相同环境。最后,根据项目配置安装Tensorflow和PyTorch,遇到缺失包时通过`pip install`补充。完成配置后,可克隆服务器以备后续使用。遇到版本不兼容问题,可调整Conda环境的Python版本。
51 1
【科研入门】搭建与配置云服务器的论文环境

热门文章

最新文章

推荐镜像

更多