Foreman ACD를 사용하여 애플리케이션 배포
이 데모에서는 Foreman ACD를 사용하여 Prometheus 및 Grafana 스택을 배포하는 방법을 설명합니다.
Foreman과 Katello를 사용하여 IT 인프라를 관리할 때 운영할 가장 작은 단위는 일반적으로 호스트입니다. 호스트를 프로비저닝하고, 버전이 지정된 콘텐츠를 제공하고, 구성을 설정할 수 있습니다. Foreman ACD를 사용하면 Foreman 인스턴스를 사용하여 여러 호스트에 걸쳐 있는 여러 서비스로 구성된 애플리케이션을 배포할 수 있습니다. 이 블로그 게시물에서는 Foreman ACD 플러그인을 간략하게 소개하고 이 플러그인이 Prometheus 및 Grafana 스택을 배포하는 데 어떻게 도움이 되는지 설명합니다. Elasticsearch 클러스터와 Kibana로 구성된 ELK 스택 배포에 대해 자세히 알고 싶다면 애플리케이션 중심 배포로 ELK 클러스터 배포를 참조하세요.
포먼과 카텔로 소개
Foreman과 Katello를 사용하여 IT 인프라를 관리할 수 있습니다. Foreman 사용은 일반적으로 콘텐츠 관리부터 시작됩니다. 업스트림 리포지토리, 버전 및 필터 패키지에서 콘텐츠를 가져오고, 리포지토리를 혼합하고, 호스트에서 사용할 수 있도록 만들 수 있습니다. 다음으로 동기화된 콘텐츠를 기반으로 호스트를 프로비저닝할 수 있습니다. 플러그인을 사용하면 클라우드 및 온프레미스 솔루션에 배포할 수 있습니다. 세 번째 단계는 Ansible과 같은 구성 관리 도구를 사용하여 호스트를 구성하는 것입니다. 구성에는 패키지 설치, 사용자 생성, 네트워크 설정 지정 등이 포함됩니다.
전체적으로 전통적인 방식은 단일 호스트 또는 유사한 호스트 그룹에 중점을 둡니다. 대부분의 경우 호스트 세부 정보는 Foreman의 호스트 그룹을 통해 공유됩니다. 여기에는 컴퓨팅 리소스, Ansible 역할, 운영 체제, 프로비저닝 템플릿, 매개변수 등과 같은 프로비저닝 및 구성 정보가 포함됩니다. 이를 새 호스트의 "청사진"으로 생각할 수 있습니다. 호스트 그룹을 사용하여 이미 배포한 호스트를 기반으로 추가 호스트를 배포하는 것은 유효한 호스트 이름을 입력하는 것만큼 쉽습니다.
하지만 보다 사용자 친화적인 애플리케이션 배포 방법을 제공하고 싶다면 어떻게 해야 할까요? 애플리케이션이 하나 이상의 호스트가 필요한 여러 서비스에 의존한다면 어떻게 될까요? 포먼 ACD를 입력하세요.
구조를 위한 포먼 ACD
기존 배포에서는 호스트 그룹을 기반으로 프로비저닝 및 구성되는 개별 호스트에 중점을 둡니다. Application Centric 배포의 약자인 Foreman ACD는 애플리케이션을 배포하기 위한 Foreman 플러그인입니다. ATIX AG에서 개발하고 유지 관리하며 완전히 오픈 소스입니다.
(막시밀리안 콜브, CC BY-SA 4.0)
위 스크린샷은 Ansible 플레이북과 이전에 생성된 애플리케이션 정의를 기반으로 Prometheus 및 Grafana 클러스터를 배포하는 방법을 보여줍니다. 최종 사용자의 경우 애플리케이션 배포는 호스트 이름을 입력하고 애플리케이션의 일부로 서비스 수를 선택하는 것만큼 쉽습니다. Prometheus 및 Grafana 예제에 대한 자세한 내용은 orcharhino 블로그에서 애플리케이션 중심 배포를 사용하여 Prometheus 및 Grafana 클러스터 배포를 참조하세요.
호스트 중심 접근 방식과 애플리케이션 중심 접근 방식의 차이점은 무엇입니까?
전통적인 호스트 중심 방식과 애플리케이션 중심 방식은 모두 일부 절차를 공유합니다. 둘 다 인프라를 갖춘 Foreman을 준비하고, 콘텐츠를 가져오고, 운영 체제와 같은 필수 엔터티를 생성하는 것부터 시작합니다. 모든 것이 준비되면 배포 및 구성 정보가 호스트 그룹에 번들로 제공됩니다.
여기에는 두 가지 접근 방식이 있습니다.
호스트 중심 접근 방식
- Foreman을 인프라에 통합
- 콘텐츠 가져오기
- 호스트 그룹 설정
- 호스트 그룹을 기반으로 호스트 생성
- 선택한 자동화 소프트웨어(예: Ansible)를 사용하여 호스트 구성
- 구성 관리를 사용하여 소프트웨어 패키지를 설치하고 방화벽과 같은 서비스를 구성합니다.
애플리케이션 중심 접근 방식
- Foreman을 인프라에 통합
- 콘텐츠 가져오기
- 호스트 그룹 설정
- Ansible 플레이북과 애플리케이션 정의로 구성된 ACD 템플릿 가져오기
- 애플리케이션 인스턴스를 생성하고 배포합니다.
Foreman ACD는 Ansible 플레이북과 서비스를 호스트 그룹에 연결하고 선택적으로 호스트 매개변수를 정의하는 애플리케이션 정의를 사용하여 여러 서비스로 구성된 애플리케이션 배포를 자동화합니다. 오픈 소스 소프트웨어인 foreman_acd 및 smart_proxy_acd 플러그인이 필요합니다. 패키지는 yum.theforeman.org에서 이용 가능합니다.
Foreman ACD 사용의 장점
Foreman ACD는 버튼 클릭만으로 완전한 애플리케이션을 배포할 수 있도록 도와줍니다. Foreman은 호스트를 프로비저닝하고 배포 후 자동으로 구성합니다. 각 서비스는 정의된 호스트 그룹에서 시작됩니다.
셀프 서비스 측면에서 ACD는 사용자의 책임을 분할하는 데 도움이 됩니다. Ansible 플레이북을 가져오고 애플리케이션 정의를 정의하는 사용자에게 Application Centric 배포 관리자 역할을 할당할 수 있습니다. 애플리케이션 중심 배포 사용자 역할이 있는 최종 사용자는 사전 정의된 애플리케이션 정의를 배포할 수 있는 권한만 갖습니다. 허용되는 경우 최종 사용자는 사전 정의된 범위 내에서 사용자 계정, 포트 또는 서비스당 호스트 수와 같은 변수를 설정할 수 있습니다.
Foreman ACD는 호스트 간 연결을 처리하여 원활한 배포 환경을 보장합니다. 셀프 서비스 가능 인터페이스 내에서 여러 호스트를 동시에 배포할 수 있습니다. 이 기능을 사용하면 기술적 지식이나 액세스 권한이 부족한 사용자가 애플리케이션을 수직 및/또는 수평으로 확장할 수 있습니다.
마무리
호스트를 프로비저닝하도록 Foreman 및 Katello를 이미 구성했고 이미 호스트 그룹 번들 배포 및 구성 정보가 있는 경우 Foreman ACD 플러그인을 사용하는 것이 기존 설정을 활용하는 다음 단계입니다. 호스트를 수동으로 연결하지 않고도 전체 애플리케이션을 편리하게 배포할 수 있습니다.
Foreman ACD 및 Smart Proxy ACD는 ATIX AG에서 개발하고 유지 관리하는 Foreman용 오픈 소스 플러그인입니다. docs.theforeman.org > Application Centric 배포에서 문서를 찾을 수 있습니다. Elasticsearch 클러스터용 ACD 플레이북, Prometheus 및 Grafana용 Kibana 및 ACD 플레이북과 같은 여러 오픈 소스 ACD 플레이북도 있습니다. 질문, 피드백, 제안 사항이 있는 경우 Community.theforeman.org에서 스레드를 열어주세요.
다음 ACD 플레이북은 Kubernetes 배포에 도움이 됩니다. 블로그를 팔로우하여 orcharhino.com/news에서 향후 발표 내용을 읽어보세요.
