초보자를 위한 Ansible – Ansible 기본 사항 및 작동 방식

Ansible에 대해 들었지만 그것이 무엇인지 잘 모르십니까? 걱정하지 마세요. 앞으로 5분 안에 Ansible에 대해 알게 될 것입니다.

앤서블이란?

Ansible은 구성 관리, 배포, 프로비저닝 등에서 비즈니스를 도울 수 있는 오픈 소스 DevOps 도구입니다. 배포가 간단합니다. SSH를 활용하여 서버 간에 통신합니다. 플레이북을 사용하여 자동화 작업을 설명하고 플레이북은 매우 간단한 언어 YAML을 사용합니다.

Ansible은 IT 인프라에 안정성, 일관성 및 확장성을 제공합니다. Ansible을 사용하여 데이터베이스, 스토리지, 네트워크, 방화벽 구성을 자동화할 수 있습니다. 필요한 모든 패키지와 기타 모든 소프트웨어가 서버에서 애플리케이션을 실행하는 데 일관성이 있는지 확인합니다.

예를 들어 보겠습니다. Visual C++에 빌드된 애플리케이션의 디버그 버전이 있습니다. 이제 컴퓨터에서 해당 응용 프로그램을 실행하려면 Microsoft Visual C++ 라이브러리 DLL과 같은 몇 가지 전제 조건을 충족해야 하며 컴퓨터에 Visual C++가 설치되어 있어야 합니다. 따라서 이것은 Ansible이 이러한 모든 기본 패키지와 모든 소프트웨어가 컴퓨터에 설치되어 있는지 확인하여 애플리케이션이 테스트 또는 프로덕션 환경인 모든 환경에서 원활하게 실행될 수 있도록 하는 부분입니다.

또한 애플리케이션의 모든 기록 데이터를 보유하므로 언제든지 이전 버전으로 롤백하거나 업그레이드하려는 경우 쉽게 수행할 수 있습니다.

다음 기능 중 일부를 살펴보겠습니다.

에이전트리스 – 이는 꼭두각시 및 요리사와 같은 다른 솔루션과 같이 노드를 관리하는 소프트웨어나 에이전트가 없음을 의미합니다.

Python – 오늘날 세계에서 가장 빠르고 강력한 프로그래밍 언어 중 하나인 python을 기반으로 구축되었습니다.

SSH – 안전한 매우 간단한 암호 없는 네트워크 인증 프로토콜입니다. 따라서 귀하의 책임은 이 키를 클라이언트에 복사하는 것입니다.

푸시 아키텍처 – 필요한 구성을 클라이언트에 푸시합니다. 이러한 구성(플레이북)을 기록하고 노드에 한 번에 푸시하기만 하면 됩니다. 변경 사항을 몇 분 만에 수천 대의 서버에 푸시하는 것이 얼마나 강력한지 알 수 있습니다.

  보낸 사람별로 받은 편지함의 모든 메시지 그룹화 및 이메일 추적기 차단

설정 – 작동하는 데 필요한 최소 요구 사항 및 구성입니다.

앤서블 아키텍처

Linux 서버인 Public/Private Cloud부터 시작하겠습니다. 또한 모든 IT 설치 및 구성을 위한 저장소 역할도 할 수 있습니다.

위의 아키텍처에는 가능한 서버가 SSH를 통해 연결하고 플레이북을 푸시하는 여러 호스트 머신이 있습니다.

사용자가 호스트에 배포되는 플레이북을 직접 실행할 수 있는 자동화 엔진이 있습니다. 가능한 자동화 엔진에는 여러 구성 요소가 있습니다. 첫 번째는 호스트 인벤토리입니다. 모든 호스트의 모든 IP 주소 목록입니다.

다음으로 모듈이 있습니다. Ansible은 수백 개의 내장 모듈과 함께 제공되며 모듈은 플레이북을 실행할 때 실행되는 코드 조각입니다. 플레이북에는 연극이 포함되어 있고, 연극에는 다양한 작업이 포함되어 있으며, 작업에는 모듈이 포함되어 있습니다.

플레이북을 실행할 때 호스트에서 실행되는 것은 모듈이며 이러한 모듈에는 작업이 포함되어 있습니다. 따라서 플레이북을 실행하면 해당 작업이 호스트 컴퓨터에서 발생합니다. 사용자 정의 모듈도 만들 수 있습니다. 몇 줄의 코드를 작성하여 모듈로 만들기만 하면 언제든지 실행할 수 있습니다.

그런 다음 아키텍처에는 플레이북이 있습니다. 여기서 플레이북은 실제로 워크플로를 정의합니다. 플레이북에 작성하는 작업이 무엇이든 작성한 것과 동일한 순서로 실행되기 때문입니다. 예를 들어 패키지를 먼저 설치한 다음 시작하도록 작성했다면 동일한 작업을 수행합니다. 플레이북은 YAML 코드를 작성하는 것이 매우 간단합니다. YAML 코드는 매우 간단한 데이터 직렬화 언어입니다. 영어와 거의 비슷합니다.

다음으로 아키텍처에는 플러그인이 있습니다. 플러그인은 특별한 종류의 모듈입니다. 이 플러그인은 모듈이 노드에서 실행되기 전에 실행됩니다. 플러그인은 로깅 목적으로 주 제어 시스템에서 실행됩니다. 콜백 플러그인을 사용하면 표시 및 로깅 목적으로 다른 가능한 이벤트에 연결할 수 있기 때문입니다. 캐시 플러그인은 비용이 많이 드는 사실 수집 작업을 피하기 위해 사실 캐시를 유지하는 데 사용됩니다. Ansible에는 프론트 엔드 모듈인 액션 플러그인도 있으며 모듈 자체를 호출하기 전에 컨트롤러 시스템에서 작업을 실행할 수 있습니다.

  이 과정과 리소스로 소프트웨어 테스팅 경력을 시작하십시오

아키텍처에는 연결 플러그인이 있습니다. 호스트 시스템과 연결하기 위해 항상 SSH를 사용할 필요는 없습니다. 연결 플러그인을 사용할 수도 있습니다. 예를 들어, ansible은 도커 컨테이너 연결 플러그인을 제공하고 해당 연결 플러그인을 사용하면 모든 도커 컨테이너에 쉽게 연결하고 즉시 구성을 시작할 수 있습니다.

그것이 건축에 관한 모든 것이었습니다. 다음으로 정확히 어떻게 작동하는지 알려드리겠습니다.

앤서블은 어떻게 작동합니까?

Ansible은 노드에 연결하고 가능한 모듈이라고 하는 작은 프로그램을 푸시하여 작동합니다. 그런 다음 Ansible은 기본적으로 SSH를 통해 이러한 모듈을 실행한 다음 완료되면 제거합니다.

Ansible 관리 노드는 플레이북의 전체 실행을 제어하는 ​​제어 노드입니다. 설치를 실행 중인 노드이며 인벤토리 파일은 모듈을 실행해야 하는 호스트 목록을 제공합니다. 관리 노드는 ssh 접속을 하고 호스트 머신에서 모듈을 실행하고 제품을 설치한다. 모듈이 설치되면 제거합니다. 이것이 가능한 방법입니다.

다음으로 Ansible을 설치하고 구성하는 방법을 배우는 데 관심이 있을 수 있습니다.

결론

이제 Ansible을 시작하는 데 도움이 되는 아이디어가 있기를 바랍니다. Ansible은 인프라 관리 방식의 판도를 바꿀 수 있는 도구입니다. 시스템 관리자 또는 개발자라면 다음을 확인하세요. 실습 교육 기술을 발전시키기 위해.