허용 가능(소프트웨어)

Ansible (software)
불가항력
Ansible logo.svg
원본 작성자마이클 디한
개발자Anable Community / Anable Inc. / Red Hat Inc.
초기 릴리즈2012년 2월 20일; 10년(2012-02-20)
안정적 해제
5.0.1[1] / 2021년 12월 2일; 3개월 전(2021년 12월 2일)
리포지토리
기록 위치Python, PowerShell, Shell, Ruby
운영 체제Linux, Unix 유사, MacOS, Windows
다음에서 사용 가능영어
유형구성 관리, 코드로서의 인프라(IiaC), 오케스트레이션 엔진
면허증독점 / GNU 일반 공중 라이센스
웹사이트www.ansible.com Edit this on Wikidata

Anable코드로서 인프라를 지원하는 오픈 소스 소프트웨어 프로비저닝, 구성 관리애플리케이션 배포 툴이다.[2]그것은 많은 유닉스 유사 시스템에서 실행되며, 유닉스 유사 시스템과 마이크로소프트 윈도 모두를 구성할 수 있다.그것은 시스템 구성을 설명하는 그것의 선언적 언어를 포함한다.어니블은 2015년 마이클 드한이 쓰고 레드햇이 인수한 작품이다.Anable은 에이전트 없이, SSH 또는 윈도우즈 원격 관리를 통해 일시적으로 원격으로 연결(원격 PowerShell 실행 허용)하여 해당 태스크를 수행할 수 있음.

역사

어슐라 K가 '불가능'이라는 말을 만들었다. 귄은 1966년 소설 로카논의 세계에서 가상의 순간적 통신 시스템을 가리킨다.[3][4][5]

Annible 도구는 프로비저닝 서버 애플리케이션 Cobler의 저자이자 원격 관리를 위한 Fedora Unified Network Controller(Func) 프레임워크의 공동저자인 Michael DeHaan에 의해 개발되었다.[6]

어니블, 주식회사(원래 어니블워크스(Works, Inc.)는 2013년 마이클 디한, 티모시 게를라, 사르트 지우아니가 앤리블을 상업적으로 지원하고 후원하기 위해 설립한 회사다.[7][8][9]레드햇은 2015년 10월 어니블을 인수했다.[10][11]

Ansible is included as part of the Fedora distribution of Linux, owned by Red Hat, and is also available for Red Hat Enterprise Linux, CentOS, openSUSE, SUSE Linux Enterprise, Debian, Ubuntu, Scientific Linux, and Oracle Linux via Extra Packages for Enterprise Linux (EPEL), as well as for other operating systems.[12]

건축

개요

Anable은 간단한 ASCII 텍스트 파일에 저장된 Anable의 인벤토리의 일부를 선택하여 여러 시스템을 관리하는 데 도움이 된다.인벤토리는 구성할 수 있으며 대상 시스템 인벤토리는 동적으로 또는 다른 형식의 클라우드 기반 소스(YAML, INI)에서 소싱할 수 있다.[13]

민감한 데이터는 2014년부터 Anable Vault를[14] 사용해 암호화된 파일에 저장할 수 있다.[15]Chef, Puppet, CFEngine과 같은 다른 인기 있는 구성 관리 소프트웨어와 대조적으로 Anible은 에이전트 없는 아키텍처를 사용하며,[16] Anible 소프트웨어는 정상적으로 실행되거나 제어된 노드에 설치되지 않는다.[16]대신 Anable은 SSH를 통해 노드에 모듈을 일시적으로 설치하고 실행하여 노드를 조정한다. 오케스트레이션 작업 기간 동안 모듈을 실행하는 프로세스는 표준 입력과 출력을 통해 JSON 기반 프로토콜로 제어 기계와 통신한다.[17]Anible은 노드를 관리하지 않을 때 데몬이 실행되지 않거나 소프트웨어가 설치되지 않기 때문에 노드의 리소스를 소비하지 않는다.[16]

종속성

Anable은 Pip 패키지 매니저와 구성 관리 소프트웨어 및 종속 패키지를 포함한 모든 관리 시스템에 Python을 설치해야 한다.관리되는 네트워크 장치에는 추가 종속성이 필요하지 않으며 에이전트가 없다.[18]

제어 노드

제어 노드(마스터 호스트)는 대상 시스템을 관리(또는 관리)하기 위한 것이다(node는 "인벤토리"로 불리며, 아래 참조).[19]제어 노드는 리눅스 등에만 사용할 수 있으며 윈도우즈 OS는 지원되지 않는다.여러 개의 제어 노드가 허용된다.[19]허용은 재해 복구가 단순하도록 조정하기[20] 위해 단일 제어 시스템을 필요로 하지 않는다.[20] 노드는 SSH를 통한 제어 노드에 의해 관리된다.

설계목표

Anable의 설계 목표는 다음을 포함한다.[17]

  • 천성적으로 미미하다.관리 시스템은 환경에 추가적인 의존성을 강요해서는 안 된다.[16]
  • 일관된Anable을 사용하면 일관된 환경을 만들 수 있어야 한다.
  • 보안. 허용 안 함으로 인해 노드에 에이전트가 배포되지 않음.열림만SSHPython은 관리 노드에 필요하다.[16][20]
  • 믿을 수 있다.주의 깊게 쓰여질 때, 관리된 시스템에서 예기치 않은 부작용을 방지하기 위해 허용 가능한 플레이북은 무효가 될 수 있다.[21]전제가 아닌 플레이북도 쓸 수 있다.
  • 최소한의 학습 필요.플레이북은 YAML과 진자 템플릿을 기반으로 쉽고 설명적인 언어를 사용한다.

모듈

모듈은[22] 대부분 독립형으로 표준 스크립팅 언어(예: Python, Perl, Ruby, Bash 등)로 작성할 수 있다.모듈의 지침 속성 중 하나는 유휴 가능성인데, 이는 작업을 여러 번 반복해도(예: 정전 복구 시) 항상 시스템을 동일한 상태로 배치한다는 것을 의미한다.[17][non-primary source needed]

인벤토리 구성

대상 노드의 위치는 다음 위치에 있는 인벤토리 구성 목록(INI 또는 YAML 형식)을 통해 지정됨/etc/ansible/hosts(Linux에서).[13][23]구성 파일은 Anable에서 액세스할 수 있는 각 노드의 IP 주소 또는 호스트 이름을 나열한다.또한 노드는 그룹에 할당할 수 있다.[13]

예제 인벤토리(INI 형식):

192.168.6.1  [웹서버] foo.example.com bar.example.com 

이 구성 파일은 세 개의 노드를 지정하는데, 첫 번째 노드는 IP 주소로 지정되고, 후자의 두 노드는 호스트 이름으로 지정된다.또한, 후자의 두 노드는 다음과 같이 그룹화된다.webservers무리를 짓다

Anable은 또한 다른 시스템에서 동적으로 데이터를 추출할 [24]수 있는 사용자 정의 Dynamic Inventory 스크립트를 사용할 수 있으며 그룹 그룹을 지원할 수 있다.[25]

플레이북

재생북은 관리 노드에 반복[26][19] 실행 작업 목록을 저장하는 YAML 파일이다.[19][27]각 Playbook은 호스트 그룹을 역할 집합에 매핑(연결)한다.각각의 역할은 Anable 태스크에 대한 호출로 표현된다.[28]

언더블 타워

Anableable Tower는 Anable을 다양한 IT 기술을 보유한 사람들이 보다 쉽게 접근할 수 있도록 설계된 REST API, 웹 서비스, 웹 기반 인터페이스(응용프로그램)이다.자동화 작업의 허브다.타워는 레드햇이 지원하지만 2017년 9월부터 오픈소스인 AWX 업스트림 프로젝트에서 파생된 상용 제품이다.[29][30][31][32]

고([33][34])로 쓰여진 타워 세마포레(世馬ore)의 또 다른 오픈소스 대안도 있었다.

플랫폼 지원

제어 기계는 리눅스/유닉스 호스트(예: BSD, CentOS, Debian, MacOS, Red Hat Enterprise Linux, SUSE Linux Enterprise, Ubuntu[12]), Python 2.7 또는 3.5가 필요하다.[18]

관리 노드는 Unix와 유사할 경우 Python 2.4 이상을 가져야 한다.Python 2.5 이하를 사용하는 관리 노드의 경우python-simplejson패키지 또한 필요하다.[35]버전 1.7부터 Anable은 윈도[36] 노드도 관리할 수 있다.[35]이 경우 SSH 대신 WS-Management 프로토콜에서 지원하는 네이티브 PowerShell 원격 기능이 사용된다.

클라우드 통합

Ansible can deploy to bare metal hosts, virtual machines, and cloud environments, including Amazon Web Services, Atomic, Lumen, Cloudscale, CloudStack, DigitalOcean, Dimension Data, Docker, Google Cloud Platform, KVM, Linode, LXC, LXD, Microsoft Azure, OpenStack, Oracle Cloud, OVH, oVirt, Packet, Profitbricks, PubNub, Rackspace, Scaleway, SmartOS,SoftLayer, Univention, VMware, Webfaction 및 XenServer.[17][37]

어니블페스트

AnibleFest는 사용자, 기여자 등으로 구성된 Anible 커뮤니티의 연례 회의다.[38]

연도 위치
2014 샌프란시스코
2015 런던
2016 런던
2016 샌프란시스코
2016 브루클린
2017 런던
2017 샌프란시스코
2018 텍사스 주 오스틴
2019 애틀랜타
2020 COVID-19 전염병으로 인한 가상화만 가능
2021 COVID-19 전염병으로 인한 가상화만 가능

참고 항목

참조

  1. ^ https://pypi.org/project/ansible/5.0.1/#history; 출판일: 2021년 12월 2일; 회수: 2021년 12월 6일.
  2. ^ Staff writer. "Overview – How Ansible Works". ansible.com. Red Hat, Inc. p. 1. Retrieved December 7, 2016.
  3. ^ Bernardo, Susan; Murphy, Graham J (2006). Ursula K. Le Guin : a critical companion. Westport, Conn: Greenwood Press. p. 18. ISBN 978-0-313-02730-7. OCLC 230345464.
  4. ^ Ansible Community. "Frequently Asked Questions". docs.ansible.com. Ansible Documentation. Red Hat, Inc. p. 1. Retrieved April 30, 2013. {{cite web}}:외부 링크 위치 author=(도움말)
  5. ^ DeHaan, Michael (January 29, 2014). "Google Groups Post – Ansible Project". groups.google.com. p. 1. Retrieved April 26, 2017.
  6. ^ Maughan, Mike (April 17, 2012). "An Interview with Ansible Author Michael DeHaan". coloandcloud.com. Maughansem LLC. p. 1. Archived from the original on November 14, 2012. Retrieved November 5, 2012.
  7. ^ "About Ansible". Ansible, Inc. p. 1. Archived from the original on September 5, 2015. Retrieved July 8, 2016.
  8. ^ Bloomberg Research. "Ansible, Inc.: Private Company Information". Internet Software and Services. Bloomberg L.P. p. 1. Retrieved July 8, 2016.
  9. ^ "About Team". 2015-09-05. Archived from the original on 2015-09-05. Retrieved 2021-04-07.
  10. ^ Novet, Jordan (October 15, 2015). "Source: Red Hat is buying Ansible for more than $100M". venturebeat.com. VentureBeat, Inc. p. 1. Retrieved October 16, 2015.
  11. ^ Staff writer (October 16, 2015). "Red Hat to Acquire IT Automation and DevOps Leader Ansible". redhat.com. Red Hat, Inc. Retrieved October 16, 2015.
  12. ^ a b Ulianytskyi, Mykola. "ansible Download (DEB, RPM, TGZ, TXZ, XZ)". pkgs.org. Linux Packages Search. p. 1. Retrieved November 5, 2012.
  13. ^ a b c Ansible Community. "Inventory". docs.ansible.com. Ansible Documentation. Red Hat, Inc. p. 1. Archived from the original on July 6, 2015. Retrieved April 26, 2014. {{cite web}}:외부 링크 위치 author=(도움말)
  14. ^ "Ansible Vault — Ansible Documentation". docs.ansible.com.
  15. ^ "Ansible vault: a framework for encrypting any playbook or var file. · ansible/ansible@427b8dc". GitHub.
  16. ^ a b c d e "The Benefits of Agentless Architecture" (PDF). Red Hat, Inc. p. 5.
  17. ^ a b c d "Ansible in Depth" (PDF). Red Hat, Inc. p. 5.
  18. ^ a b Ansible Community. "Python 3 Support". docs.ansible.com. Ansible Documentation. Red Hat, Inc. p. 1. Retrieved July 6, 2017. {{cite web}}:외부 링크 위치 author=(도움말)
  19. ^ a b c d "Ansible concepts — Ansible Documentation". docs.ansible.com. Retrieved 2021-11-19.
  20. ^ a b c "Installation Guide — Ansible Documentation". docs.ansible.com. Retrieved 2018-11-30.
  21. ^ "Achieving Rolling Updates and Continuous Deployment with Zero Downtime" (PDF). Red Hat, Inc. p. 7.
  22. ^ "Module Index — Ansible Documentation". docs.ansible.com.
  23. ^ "Working with Inventory — Ansible Documentation". docs.ansible.com. Retrieved 2018-11-30.
  24. ^ Ansible Community. "Dynamic Inventory". docs.ansible.com. Ansible Documentation. Red Hat, Inc. p. 1. Retrieved November 25, 2016. {{cite web}}:외부 링크 위치 author=(도움말)
  25. ^ "How to build your inventory — Ansible Documentation". docs.ansible.com.
  26. ^ Ansible Community. "Playbooks". docs.ansible.com. Ansible Documentation. Red Hat, Inc. p. 1. Archived from the original on July 6, 2015. Retrieved April 26, 2014. {{cite web}}:외부 링크 위치 author=(도움말)
  27. ^ "Intro to playbooks — Ansible Documentation". docs.ansible.com. Retrieved 2021-11-19.
  28. ^ Ansible Community. "Task And Handler Organization For A Role". docs.ansible.com. Ansible Documentation. Red Hat, Inc. p. 1. Retrieved November 25, 2016. {{cite web}}:외부 링크 위치 author=(도움말)
  29. ^ Redditors (February 19, 2016). "Ansible announces Tower to be Open Source in the near future on AnsibleFest!". reddit.com. Reddit. p. 1. Retrieved July 20, 2017.
  30. ^ Staff writer. "The Open Tower Project". ansible.com/open-tower. Red Hat, Inc. p. 1. Retrieved January 21, 2017.
  31. ^ Hat, Ansible, Red. "AWX Project FAQ Ansible.com". www.ansible.com.
  32. ^ "ansible/awx". March 25, 2020 – via GitHub.
  33. ^ Semaphore community. "Semaphore API". ansible-semaphore.github.io. p. 1. Retrieved Feb 5, 2021.
  34. ^ Semaphore community. "ansible-semaphore". github.com/ansible-semaphore. Castaway Consulting LLC. Retrieved Feb 5, 2021.
  35. ^ a b Ansible Community. "Getting started". docs.ansible.com. Ansible Documentation. Red Hat, Inc. p. 1. Archived from the original on July 6, 2015. Retrieved February 6, 2014. {{cite web}}:외부 링크 위치 author=(도움말)
  36. ^ DeHaan, Michael (August 6, 2014). "Ansible 1.7 is released – Windows beta and more!". ansible.com/blog. The Inside Playbook. Ansible, Inc. p. 1. Retrieved August 7, 2014.
  37. ^ Ansible Community. "List of cloud modules". docs.ansible.com. Ansible Documentation. Red Hat, Inc. p. 1. Retrieved April 28, 2017. {{cite web}}:외부 링크 위치 author=(도움말)
  38. ^ "AnsibleFest". Ansible. Red Hat, Inc. Retrieved October 4, 2018.

외부 링크