Puppet's architecture 3.7

Source: Internet
Author: User
Tags ssl certificate least privilege

Puppet configures systems in two main stages:

  1. Compile a catalog
  2. Apply the catalog
The agent/Master Architecture

Puppet usually runs in an agent/Master architecture, where a puppet master server controls important configuration info and managed agent nodes request only their own configuration catalogs.

Basics

In this architecture, managed nodes runPuppet agentApplication, usually as a background service. One or more servers runPuppet MasterApplication, usually as a rack application managed by a Web server (Like Apache with passenger ).

Periodically, puppet agent will send facts to the puppet master and request a catalog. The Master will compile and return that node's catalog, using several sources of information it has access.

Once it takes es a catalog, puppet agent will apply it by checking each resource the catalog describes. if it finds any resources that are not in their desired state, it will make any changes necessary to correct them. (or, in no-op mode, it will report on what changes wowould have been needed .)

After applying the catalog, the agent will submit a report to the puppet master.

The stand-alone Architecture

Puppet can run in a stand-alone architecture, where each managed server has its own complete copy of your configuration info and compiles its own catalog.

Basics

In this architecture, managed nodes runPuppet applyApplication, usually as a scheduled task or cron job. (You can also run it on demand for initial configuration of a server or for smaller configuration tasks .)

Like the Puppet Master application, puppet apply needs access to several sources of configuration data, which it uses to compile a catalog for the node it is managing.

After puppet apply compiles the catalog, it immediately applies it by checking each resource the catalog describes. if it finds any resources that are not in their desired state, it will make any changes necessary to correct them. (or, in no-op mode, it will report on what changes wowould have been needed .)

After applying the catalog, puppet apply will store a report on disk. It can also be configured to send reports to a central service.

Differences between agent/master and puppet apply

In general, puppet apply can do the same things as the combination of puppet agent and puppet master, but there are several trade-offs around security and the amount of certain tasks.

If you don't have a preference, you shoshould default to an agent/Master architecture. If you have questions, considering these trade-offs will help you make your demo.

  • Principle of least privilege.In agent/Master puppet, each agent only gets its own configuration, and is unable to see how other nodes are configured. with puppet apply, It's impractical to do this, so every node has access to complete knowledge about how your site is configured. depending on how you're using your systems, this can potentially raise the risks of horizontal privilege escalation.
  • Percent of centralized reporting and inventory.Agents send reports to the puppet master by default, and the master can be configured with any number of report handlers to pass these on to other services. you can also connect the master to puppetdb, a powerful tool for querying inventory and activity data. puppet apply nodes handle their own information, so if you're using puppetdb or sending reports to another service,EachNode needs to be configured and authorized to connect to it.
  • Types of updating configurations.Only the puppet master server (s) have the puppet modules, main manifests, and other data necessary for compiling catalogs. this means that when you need to update your systems 'deployments, you only need to update content on one (or a few) servers. in a decentralized puppet apply deployment, you'll need to sync new configuration code and data to every node.
  • CPU and memory usage on managed machines.Since puppet agent doesn't compile its own catalogs, it uses fewer resources on the machines it manages, leaving them with more capacity for their designated tasks.
  • Need for a dedicated master server.The puppet master takes on the performance load of compiling all catalogs, And it shoshould usually be a dedicated machine with a fast processor, lots of ram, and a fast disk. not everybody wants to (or is able to) allocate that, and puppet apply can get around the need for it.
  • Need for good network connectivity.Agents need to be able to reach the Puppet Master at a reliable hostname in order to configure themselves. if a system lives in a degraded or isolated network environment, you may want it to be more self-sufficient.
  • Security overhead.Agents and masters Use https to secure their communications and authenticate each other, And every system involved needs an SSL certificate. puppet includes des a built-in CA to easily manage certificates, but it's even easier to not manage them at all. (Of course, you'll still need to manage security somehow, since you're probably using rsync or something to update puppet content on every node .)

Puppet's architecture 3.7

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.