Ansible을 Web UI로 관리하기 (Ansible Automation controller, Ansible AWX, Ansible Semaphore)
안녕하세요. 달소입니다.
앞서 소개해드린 Ansible의 경우 강력한 기능을 가지고있지만 단점으로 소개해드렸듯 CLI만 지원하기때문에 가시성이 여러모로 떨어집니다.
예를들어 Playbook을 실행시켰을때 이전에 실행시킨 값들을 확인한다던지, 관리하고있는 Device를 본다든지 모든것들을 CLI로 확인해야하는데 이는 쉽지않을뿐더러 대단히 비효율적이지요.
이때문에 Ansible을 GUI로 관리하는 프로젝트들이 꽤 많이있습니다.
여기서는 대표적으로 알려져있는 Ansible Automation controller(Tower), AWX, Semaphore에 대해서 간략히 소개하겠습니다.
Ansible Automation controller
이전에 Ansible Tower 로 불리었던 프로젝트입니다.
레드햇에서 공식적으로 지원해주고있기때문에 앤서블에서 사용할수있는 모든 기능들을 GUI로 구현했다고 보면 될것같습니다.
다만, 상용 솔루션이기때문에 완전 무료가 아닌 라이선스당 비용이있는데 이게 꽤 비싸서 기업에서 사용하려면 비용이 꽤 들겁니다 ㅠ
공식홈페이지
Red Hat Ansible Automation Platform automation controllerwww.redhat.comAutomation controller allows Ansible Automation Platform users to define, operate, scale, and delegate automation with centralized webUI and API.
Ansible AWX
두번째로 소개해드릴 프로젝트는 바로 Ansible AWX입니다.
검색하면 아마 가장 많이 나올 프로젝트 인데 위 Ansible Automation controller(Tower)의 오픈소스 버전입니다.
AWX는 Ansible 을 기반으로 구축된 웹 기반 사용자 인터페이스, REST API 및 작업 엔진을 제공합니다 . Red Hat Ansible Automation Platform 의 업스트림 프로젝트 중 하나입니다 .
당연히 기능들의경우 Automation Platform과 비슷하나 오픈소스이기때문에 비용없이 구축이 가능합니다.
요것도,, 구축은 따로하지않을건데 설치난이도가 꽤 있고 기본적으로 쿠버네티스에 맞춰져있습니다.
GitHub - ansible/awx: AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is one of the upstream projects for Red Hat Ansible Automation Platform.github.comAWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is one of the upstream projects for Red Hat Ansible Automation Platform. - GitHub - ansible/awx: AWX p...
가이드의 경우 위 Tower의 업스트림이기때문에 동일한것을 참고하면됩니다 ㅎ
Ansible Documentationdocs.ansible.comAnsible Documentation
Ansible Semaphore
마지막으로 소개해드릴건 바로 제가 사용해볼 세마포어 입니다.
기본적으로 대표적인 기능들은 똑같이 사용가능하나 단일 도커환경에 적합한 프로젝트라고 보여집니다.
깔끔한 UI를 가지고있고 오픈소스 프로젝트로 여러가지 SSO(LDAP,OpenID)등과도 연동하여 사용할 수 있다는점이 매력적입니다.
홈페이지 / 깃허브
Semaphore is a modern open-source UI for Ansiblewww.ansible-semaphore.comIf your project has expanded beyond the scope of manual terminal deployment, Ansible Semaphore is the ideal solution for you. GitHub - ansible-semaphore/semaphore: Modern UI for Ansiblegithub.comModern UI for Ansible. Contribute to ansible-semaphore/semaphore development by creating an account on GitHub.
문서
Introduction - Semaphore Docsdocs.ansible-semaphore.comShort intro about Ansible Semaphore
여기서는 간단히 소개가 목적이였고 다음편에는 Ansible Semaphore를 구축해서 간단하게 앤서블 서버를 구축해보겠습니다.