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
目录
相关文章
|
25天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
151 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
2月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
153 61
|
16天前
|
存储 弹性计算 安全
阿里云服务器配置选择策略参考及后期使用注意事项
对于初次购买阿里云服务器的一些新手用户来说,在云服务器配置选择和后期使用过程中有一些不清楚的地方,小编分享几点阿里云服务器配置选择策略,以及后期使用注意事项,购买过程中注意好下面这些事项,能让我们选对选好阿里云服务器,购买之后,在使用过程中,注意下面这些事项,能够让我们更好、更安全的使用阿里云服务器。下面是小编分享的一份详尽的阿里云服务器配置与使用指南,以供参考和借鉴。
|
2月前
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
49 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
2月前
|
安全 Linux 应用服务中间件
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
本文详细介绍了如何准备原料、搭建基础环境、进行安全防护、建设网站、管理证书以及开启BBR优化网络性能。主要内容包括获取健康云服务器、配置SSH登录、创建非root用户、启用密钥认证、安装Nginx、申请TLS证书、配置HTTPS自动跳转及优化网络性能等步骤。通过本文,读者可以掌握从零开始搭建个人网站的全过程。
51 1
从零开始启动、配置、保护你的云服务器并搭建一个简单的网站
|
1月前
|
开发框架 .NET PHP
网站应用项目如何选择阿里云服务器实例规格+内存+CPU+带宽+操作系统等配置
对于使用阿里云服务器的搭建网站的用户来说,面对众多可选的实例规格和配置选项,我们应该如何做出最佳选择,以最大化业务效益并控制成本,成为大家比较关注的问题,如果实例、内存、CPU、带宽等配置选择不合适,可能会影响到自己业务在云服务器上的计算性能及后期运营状况,本文将详细解析企业在搭建网站应用项目时选购阿里云服务器应考虑的一些因素,以供参考。
|
2月前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
65 6
|
2月前
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
90 3
|
8天前
|
机器学习/深度学习 人工智能 PyTorch
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
阿里云GPU云服务器怎么样?阿里云GPU结合了GPU计算力与CPU计算力,主要应用于于深度学习、科学计算、图形可视化、视频处理多种应用场景,本文为您详细介绍阿里云GPU云服务器产品优势、应用场景以及最新活动价格。
阿里云GPU云服务器怎么样?产品优势、应用场景介绍与最新活动价格参考
|
7天前
|
存储 运维 安全
阿里云弹性裸金属服务器是什么?产品规格及适用场景介绍
阿里云服务器ECS包括众多产品,其中弹性裸金属服务器(ECS Bare Metal Server)是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点。分钟级的交付周期将提供给您实时的业务响应能力,助力您的核心业务飞速成长。本文为大家详细介绍弹性裸金属服务器的特点、优势以及与云服务器的对比等内容。