Puppet(소프트웨어)

Puppet (software)
인형
Puppet transparent logo.svg
개발자인형
초기 릴리즈2005; 17년 전(2005)
안정적 해제
7.14.0 / 2022년 1월 18일; 52일(2022년 1월 18일)
리포지토리
기록 위치4.0의 C++&Clojure,[1] Ruby
운영 체제리눅스, 유닉스 유사, 마이크로소프트 윈도우즈
유형
면허증오픈 소스 Puppet:2.7.0 이상의 Apache, 이전 버전의 GPL.
Puppet Enterprise: 독점[2]
웹사이트puppet.com

컴퓨팅에서 Puppet시스템 구성을 설명하는 자체 선언 언어를 포함하는 소프트웨어 구성 관리 툴이다.제한된 프로그래밍 지식이 필요한 모델 중심 솔루션이다.[3]

Puppet은 2005년 Luke Kanies에 의해 설립된 Puppet, Inc.에서 제작되었다.그것의 주요 제품인 Puppet Enterprise는 그것의 오픈 소스 Puppet 소프트웨어의 독점적이고 폐쇄적인 소스 버전이다.[4]이들은 Puppet의 선언적 언어를 사용하여 데이터 센터클라우드 인프라운영 체제애플리케이션 구성 요소의 프로비저닝, 패치, 구성 및 관리를 비롯한 IT 인프라 라이프사이클의 단계를 관리한다.[5]

Puppet은 오픈 코어 모델을 사용한다. Puppet의 무료 소프트웨어 버전은 GNU General Public License(GPL) 버전 2에서 버전 2.7.0까지 출시되었고 이후 [6]출시되는 제품은 Apache License를 사용하며 Puppet Enterprise는 독점 라이선스를 사용한다.

Puppet 및 Puppet Enterprise는 여러 Unix 유사 시스템(Linux, Solaris, BSD, Mac OS X, AIX, HP-UX 포함)에서 작동하며 마이크로소프트 윈도우즈를 지원한다.[7][8]Puppet 자체는 Ruby로, Facter는 C++로, Puppet Server와 Puppet DB는 Clojure로 쓰여 있다.[9]

디자인

Puppet은 Unix 유사 및 Microsoft Windows 시스템의 구성을 선언적으로 관리하도록 설계되었다.사용자는 Puppet의 선언적 언어 또는 Ruby DSL(도메인별 언어)을 사용하여 시스템 리소스와 그 상태를 설명한다.이 정보는 "Puppet 매니페스트"라는 파일에 저장된다.Puppet은 Facter라는 유틸리티를 통해 시스템 정보를 검색하고 Puppet 매니페스트를 대상 시스템에 대해 적용되는 리소스 및 리소스 종속성을 포함하는 시스템별 카탈로그로 컴파일한다.그리고 나서 Puppet이 취한 어떤 행동도 보고된다.

Puppet은 시스템에 직접 적용하거나 카탈로그로 컴파일하여 클라이언트-서버 패러다임(REST API 사용)을 통해 대상 시스템에 배포할 수 있는 시스템 구성을 기술하는 사용자 지정 선언 언어로 구성되며, 에이전트는 시스템별 제공자를 사용하여 매니페스트에 지정된 자원을 집행한다.자원 추상화 계층은 관리자가 OS별 명령어(rpm, yum, apt 등)를 지정할 필요 없이 사용자, 서비스, 패키지 등 고급 용어로 구성을 설명할 수 있게 해준다.

Puppet은 모델 중심적인 것으로, 사용하기 위해 제한된 프로그래밍 지식이 필요하다.[10]

Puppet Enterprise와 Open Source Puppet의 두 가지 버전으로 제공된다.Puppet Enterprise는 Open Source Puppet의 기능을 제공하는 것 외에도 노드 관리를 위한 GUI, API 및 명령줄 도구를 제공한다.

건축

클라이언트에서 수동으로 호출되는 Puppet

Puppet은 대개 클라이언트-서버 아키텍처를 따른다.클라이언트는 에이전트, 서버는 마스터로 알려져 있다.테스트 및 간단한 구성을 위해 명령줄에서 실행되는 독립 실행형 애플리케이션으로도 사용할 수 있다.

Puppet Server는 하나 이상의 서버에 설치되며 Puppet Agent는 관리될 모든 시스템에 설치된다.Puppet 에이전트는 서버와 통신하고 구성 지침을 가져온다.그런 다음 에이전트는 시스템에 구성을 적용하고 상태 보고서를 서버로 전송한다.[11]장치는 주기적으로 크론 작업으로 트리거하거나 필요할 때마다 수동으로 실행할 수 있는 Puppet 에이전트를 데몬으로 실행할 수 있다.

Puppet 프로그래밍 언어는 컴퓨터 시스템의 상태를 "리소스"의 관점에서 기술하는 선언적 언어로, 기본적인 네트워크와 운영 체제 구조를 나타낸다.사용자는 원하는 시스템 상태를 설명하는 매니페스트에 자원을 조립한다.이러한 매니페스트는 서버에 저장되고 요청 시 에이전트의 구성 지침으로 컴파일된다.[12]

Puppet 리소스 구문:

타자를 치다 { 'title':   기여하다 => 가치를 매기다 } 

Unix 사용자를 나타내는 리소스 예:

사용자 { '해리':   보증하다 => 현재의,   uid    => '1000',   껍질을 벗기다  => '/bin/bin',   본국의   => '/var/tmp' } 

Puppet은 사용자가 운영 체제 개념을 구조화된 데이터로 표현함으로써 플랫폼에 구애받지 않고 시스템을 구성할 수 있도록 한다.시스템 작업을 수행하기 위한 정확한 명령을 지정하기보다는 사용자가 리소스를 생성하면 Puppet은 구성 중인 기계로 전송되는 시스템별 명령으로 변환된다.예를 들어 사용자가 각각 다른 운영 체제를 실행하는 세 개의 노드에 패키지를 설치하고자 하는 경우, 하나의 리소스를 선언할 수 있으며, Puppet은 운영 체제를 포함하여 실행 중인 시스템에 대한 데이터를 수집하는 프로그램인 Facter로부터 얻은 데이터를 기반으로 실행해야 할 명령어를 결정한다.P 주소 및 일부 하드웨어 정보.[13]노드의 제공자는 팩터 팩터와 기타 시스템 세부 정보를 사용하여 카탈로그의 리소스 유형을 노드를 실제로 구성할 기계 지침으로 변환한다.

일반적인 Puppet 실행 단계는 다음과 같다.

  1. 에이전트는 팩터로부터 마스터에게 사실을 보낸다.
  2. Puppet은 모든 클라이언트에 대해 자원 목록과 그 상호의존성을 나타내는 그래프를 구성한다.마스터는 각 에이전트 노드로 적절한 카탈로그를 전송한다.
  3. 그런 다음 시스템의 실제 상태는 매니페스트 파일에 설명된 원하는 상태에 따라 구성된다.시스템이 이미 원하는 상태에 있다면 Puppet은 어떠한 변경도 하지 않고 트랜잭션을 유휴 상태로 만든다.
  4. 마지막으로, 에이전트는 마스터에게 어떤 변경이 이루어졌는지, 그리고 어떤 오류가 발생했는지 상세히 기록한 보고서를 보낸다.

노점상

퍼핏, 주식회사
유형사설[14]
산업컴퓨터 소프트웨어[14]
설립됨2005; 17년 전(2005)[citation needed]
본부미국 오리건 포틀랜드
주요인
루크 카니스(창업자), 이본 바세나르(최고경영자), 앤드루 샤퍼
상품들Puppet, Puppet Enterprise 및 Puppet Forge[15]
웹사이트puppet.com
인형 창시자 루크 카니스

Puppet의 벤더 Puppet, Inc.는 미국 오레곤 포틀랜드에 본사를 둔 개인 소유의 정보기술(IT) 자동화 소프트웨어 회사다.

2005년, Puppet은 전 CEO Luke Kanies에 의해 설립되었다.[citation needed]2019년 1월 29일 이본 바세나르가 산제이 미르찬다니 CEO를 대신했다.Wassenaar는 이전에 Airware, New District, VMware에서 일했다.

2011년 2월 Puppet은 자사의 번째 상용 제품인 Puppet Enterprise를 출시했는데, 일부 상용 부품은 추가로 제공되었다.[16]2011년 9월에는 2010년 Puppet이 인수한 MCollective와의 통합은 [17]물론 Amazon EC2VMware가상 머신 프로비저닝을 도입한 Puppet Enterprise 2.0을 출시했다.[18]2013년 6월, Puppet은 다시 작성된 오케스트레이션 엔진을 특징으로 하는 Puppet Enterprise 3.0을 출시했다.[19]

Puppet은 2017년 9월 인프라 자동화 회사인 Distelli를 인수했다.[20]Puppet은 Distelli의 VM 대시보드(지속적인 통합/지속적인 제공 제품)를 Puppet Pipeline for Applications로,[21] K8S Dashboard를 Puppet Pipeline for Containers로 브랜드 변경했다.[22]그 제품들은 2017년 10월에 일반적으로 이용 가능하게 되었다.[23]

Puppet은 2018년 5월 하이브리드 네트워크에서 자원을 발견하고 조작하는 도구인 Puppet Discovery를 출시했다.[24]Puppet의 세 번째 독립형 엔터프라이즈 제품이다.

2018년 6월, Puppet은 총 1억 5천만 달러의 기금을 위해 4천 2백만 달러를 모금했다.이번 라운드에는 시스코가 주도했으며 Kleiner Perkins, True Ventures, EDBI, VMware 등이 참여했다.[25]

Puppet은 VMware, Amazon Web Services, Cisco, OpenStack, Microsoft Azure, Eucalyptus, Rightscale 및 Zenoss와 기술 통합을 맺고 있다.[26]

참고 항목

참조

  1. ^ "Evolving Puppet for the Next 10 Years". Luke Kanies. 2014-09-23. Retrieved 2017-05-26.
  2. ^ Puppet Master 라이센스 계약
  3. ^ Dehaan, MP. "Deploying Apache Tomcat Applications With Puppet". tomcatexpert.
  4. ^ Rao, Leena. "Cisco, Google Ventures, VMware Put $8.5M In Data Center Automation Startup Puppet Labs". TechCrunch.
  5. ^ Graner, Amber. "Puppet Labs Announces Puppet Enterprise".
  6. ^ "Puppet Frequently Asked Questions". Puppet Labs. Archived from the original on 20 March 2016. Retrieved 10 March 2010.
  7. ^ "Docs: PE 2.0 - Installing - System Requirements". Puppet.
  8. ^ "Puppet system requirements". Puppet.
  9. ^ "Evolving Puppet for the Next 10 Years". Luke Kanies. 2014-09-23. Retrieved 2017-05-26.
  10. ^ "Deploying Apache Tomcat Applications With Puppet". tomcatexpert.com. Retrieved 23 January 2015.
  11. ^ "Overview of Puppet's architecture — Documentation — Puppet". docs.puppet.com. Archived from the original on 2016-10-01. Retrieved 2016-09-14.
  12. ^ Krum, Hevelingen, Kero, Turnbull, McCune (9 December 2013). Pro Puppet. Apress. ISBN 978-1430260400.{{cite book}}: CS1 maint : 복수이름 : 작성자 목록(링크)
  13. ^ https://puppet.com/docs/facter
  14. ^ a b "Company Overview of Puppet Labs, Inc". Bloomberg Businessweek.
  15. ^ "Puppet Enterprise". Puppet.
  16. ^ Kerner, Sean Michael. "Puppet Goes After Enterprise System Management". Enterprise Networking Planet.
  17. ^ Rao, Leena. "Data Center Automation Startup Puppet Labs Acquires OPen Source Project The Marionette Collective". TechCrunch.
  18. ^ Finley, Klint. "Puppet 2.0 Will Support Amazon EC2 and VMware Provisioning". Silicon Angle.
  19. ^ 새로운 Puppet 툴은 엔터프라이즈용으로 조정 자동화 기능 강화 - Tech News and Analysis.Gigaom.com(2013-06-25).2013-12-09년에 검색됨
  20. ^ https://puppet.com/blog/welcome-distelli-to-puppet-family
  21. ^ "Archived copy". Archived from the original on 2018-07-07. Retrieved 2018-07-07.{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크)
  22. ^ "Archived copy". Archived from the original on 2018-07-07. Retrieved 2018-07-07.{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크)
  23. ^ https://puppet.com/blog/introducing-puppet-pipelines-and-puppet-container-registry
  24. ^ https://puppet.com/blog/announcing-puppet-discovery-general-availability
  25. ^ "Puppet raises $42M led by Cisco as its DevOps automation platform passes 40,000 businesses". TechCrunch. Retrieved 2019-03-22.
  26. ^ Rao, Leena. "Cisco, Google Ventures, VMware Put $8.5M in Data Center Automation Startup Puppet Labs". TechCrunch.

외부 링크