官术网_书友最值得收藏!

The Puppet server

Many Puppet-based workflows are centered on the server, which is the central source of configuration data and authority. The server hands instructions to all the computer systems in the infrastructure (where agents are installed). It serves multiple purposes in the distributed system of Puppet components.

The server will perform the following tasks:

  • Storing manifests and compiling catalogs
  • Serving as the SSL certification authority
  • Processing reports from the agent machines
  • Gathering and storing information about the agents

As such, the security of your server machine is paramount. The requirements for hardening are comparable to those of a Kerberos key distribution center.

During its first initialization, the Puppet server generates the CA certificate. This self-signed certificate will be distributed among and trusted by all the components of your infrastructure. This is why its private key must be protected very carefully. New agent machines request individual certificates, which are signed with the CA certificate.

It's a good idea to include a copy of the CA certificate in your OS-provisioning process so that the agent can establish the authenticity of the master before requesting its individual certificate.

The terminology around the master software might be a little confusing. That's because both the terms Puppet master and Puppet server are floating around, and they are closely related too. Let's consider some technological background in order to give you a better understanding of what is what.

Puppet's master service mainly comprises a RESTful HTTP API. Agents initiate the HTTPS transactions, with both sides identifying each other using trusted SSL certificates. During the time when Puppet 3 and older versions were the most advanced versions available, the HTTPS layer was typically handled by Apache. Puppet's Ruby core was invoked through the Passenger module. This approach offered good stability and scalability.

Puppet Inc. has improved upon this standard solution with specialized software called puppetserver. The Ruby-based core of the master remains basically unchanged, although it now runs on JRuby instead of Ruby's own MRI. The HTTPS layer is run by Jetty, sharing the same Java virtual machine with the master.

By cutting out some middlemen, puppetserver is faster and more scalable than a Passenger solution. It is also significantly easier to set up.

主站蜘蛛池模板: 汕尾市| 都兰县| 清苑县| 墨脱县| 平安县| 原平市| 巴彦淖尔市| 宁都县| 崇礼县| 徐闻县| 蒙阴县| 左权县| 华池县| 胶南市| 桃江县| 双鸭山市| 辽阳县| 城口县| 东至县| 都昌县| 临沧市| 哈尔滨市| 晴隆县| 共和县| 清徐县| 屏南县| 噶尔县| 长白| 图们市| 高雄县| 元江| 密云县| 黎川县| 兴国县| 莒南县| 偃师市| 湖州市| 湖北省| 丹棱县| 彭州市| 上思县|