Ansible과 비교하여 Puppet의 한계는 무엇입니까?


17

Puppet과 Ansible의 차이점, 특히 Ansible과 비교하여 Puppet 제한의 종류를 이해하고 싶습니다.

꼭두각시에서는 할 수 없지만 Ansible에서는 할 수있는 일이 있습니까? 다시 말해, 왜 어떤 사람들은 꼭두각시에서 Ansible로 이사합니까?


나는 내 대답을 이것과 잘 분리시켜 두었습니다. 이유 중 하나는 redhat이 그것에 투자하는 모든 돈 일 수 있습니다.
ᴳᵁᴵᴰᴼ

답변:


20

물론 Puppet, Ansible, Chef 각각에 대해 몇 가지 장단점이 있으며 여기에 좋아하는 도구를 추가하십시오 . 그래서 저는 의견을 멀리하고 Ansible의 장점을 사실로 공유하려고 노력할 것입니다.

Ansible을 다른 것보다 우선하는 주요 기능은 대상 노드에서 실행되는 일부 사용자 정의 / 추가 에이전트에 의존하지 않고 ssh 연결에서만 발견되는 것입니다. 예, 여전히 노드에 ssh 서버, Python 및 많은 Python 라이브러리가 필요하며 선택한 배포판 (또는 행운이 있거나 일부 Windows 노드가 있음)이 제공되지 않으면 조금 있습니다. 부트 스트랩에 고통. 그러나 그것은 가능하지 않으며, 심지어 당신의 배포판에 대해 다시 생각하게 할 수도 있습니다.

이렇게하면 모니터링을 단순화하고 추가 리소스를 소비하지 않으며 시스템이 항상 데몬을 루트로 강제 실행하지 않으며 일반적으로 UNIX 철학에서 더 나은 느낌을받습니다. Chef는 chef-soloPuppet을 마스터없이 실행할 수 있지만 각각 복제 및 후크를 통해 "다른 방향"으로 작동합니다. Ansible을 사용하는 동안 소스 리포지토리를 병합하면 Jenkins, git master 또는 Rundeck과 ​​같은 다른 도구와 같이 우리 모두가 편한 방식으로 배포를 시작할 수 있습니다.


ssh 구성을 엉망으로 엉망으로 만들면 컴퓨터가 잠겨있어 푸시 모델의 단점입니다. 꼭두각시 또는 요리사는 crontab 작업을 수행 할 수 있으므로 끔찍한 파이썬 코드보다 시스템에 전혀 영향을 미치지 않습니다.
Tensibai

1
에이전트에 대한 참고 사항 : 나는 마스터리스 구성에서도 Chef와 Puppet을 거부 한 보안 팀에 의해 HSE (높은 보안 환경)에서 Ansible에 온보드로 승인되었습니다. 에이전트리스는 경우에 따라 승리하는 요소입니다.
Woodland Hunter

2
SSH 설정을 중단하면 어쨌든 Ansible 이외의 문제가 발생합니다. 프로덕션 환경에 들어가기 전에 다양한 환경에서 SSH 변경과 같은 사항을 테스트하는 것이 DevOps의 모범 사례이며 SSH 구성이 올바른지 확인하는 것도 가능합니다. Ansible template모듈은이를 매우 쉽게 만듭니다.
RichVel

사람들이 Ansible의 에이전트없는 아키텍처가 Puppet 에이전트를 설치할 수없는 라우터와 같은 라우터 관리에 더 적합하다고 주장하는 것을 들었습니다. 그러나 그러한 장치에는 Python 인터프리터가 제공됩니까? 아마도 아닐 수도 있습니다. 파이썬은 Ansible이 관리하는 모든 구성 요소에 대한 강력한 요구 사항입니까?
Drux

10

아니요, Puppet에서 Ansible (또는 그 반대로)로 이동하는 사람들은 두 도구를 사용하여 수행 할 수 있거나 수행 할 수없는 것과 관련이 없습니다. 꼭두각시 / 요리사 / 맛보기-그것은 주로 맛의 문제입니다.

예를 들어 Ansible은 Python을 기반으로하며, Python 개발자는 일반적으로 DSL을 배울 필요가없는 Ruby 또는 Chef (요리사)를 선호합니다. Python 개발자가 Ansible을 쉽게 확장 할 수 있습니다.

그러나 본질적으로 그들은 당신이 달성 할 수있는 점에서 모두 매우 유사합니다. 일부는 일부 영역에서는 상대적 강점과 다른 영역에서는 약점이 있지만 일반적으로 팀의 스타일 / 문화 / 선호도에 따라 선택됩니다.


8

Puppet 4.0까지는 여러 서버 나 서비스에서 응용 프로그램 분산 을 조정하는 쉬운 방법이 없었 습니다 . 이는 Puppet에서 작업을 구체적으로 주문하기가 어려웠 기 때문에 설계 선택이었습니다 . Ansible은 특히 여러 서버에서 단계를 조정하고 주문하는 데 더 나았습니다. 이는 잘못된 순서의 단계로 인해 최종 일관성에 도달 할 때까지 해당 단계를 반복하여 오류를 복구 할 수없는 응용 프로그램에서 특히 중요했습니다.

그것은 더 이상 문제가 아니기 때문에 구별은 주로 선호를 기반으로합니다.


2
꼭두각시의 디자인 선택은 Chef가 시작한 이유 중 하나였으며, 몇 년 전에 인프라와 CD 시스템을 위해 Chef로 옮긴 주요 요점입니다.
Tensibai

2
Puppet 오케스트레이션은 Puppet Enterprise (상업용) 기능인 반면 Ansible의 오케스트레이션은 오픈 소스 버전입니다. 일반적으로 Ansible은 Puppet보다 설치 및 학습이 훨씬 쉽습니다. 두 가지를 모두 평가 한 후 Ansible을 사용합니다. 다른 차이점도 있으므로 개인적인 취향의 문제가 아닙니다.
RichVel

1
전 직장과 현재 직장에서 Ansible을 사용하고 있지만 자체 문제가 있습니다. Ansible을 많이 사용할수록 다른 대안을 배우는 데 더 관심이 있습니다. 모듈 개발을 위해 Python을 사용하지 않고 활발한 필수 오픈 소스 커뮤니티를 보유하기 위해이 대안을 선호합니다. Ansible에 대한 인출 요청을 검토하는 데 거의 1 년이 걸립니다. 이 속도에서는 독점적 일 수 있습니다.
Jiri Klouda

1
많은 사람들이 꼭두각시 에이전트에 대해 불평하지만 클라우드에 있고 자동 크기 조정 그룹에 있고 VM의 이미지를 다시 작성하지 않으려는 경우 VM이 꼭두각시 마스터에 연결하는 것이 좋습니다. 작은 요원이 있습니다.
c4f4t0r
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.