Ansible- 기본 개요
예를 들어 10 대의 시스템에 Nginx 를 배포했습니다. 배포 단계는 다음과 같습니다.
1, ssh 를 통해 컴퓨터에 로그인;
2.yum install -y nginx 또는 설치 패키지를 받아서 직접 컴파일합니다.
3. Nginx 구성
4. Nginx 를 시작하고 필요한 경우 시작 및 자체 시작을 추가합니다.
5, 로그아웃
위 단계 10 을 반복하여 배포 요구 사항을 완료합니다.
불만 사항:
1, 반복 작업이 빈번하여 인건비 및 후속 유지 관리 비용 증가
2. 기계가 너무 많아서, 일부 기계를 쉽게 떨어뜨리고 조작하지 않으면, 후속 영향이 있을 수 있다.
3. 잦은 수동 작업으로 인해 작업 단계가 완료되지 않아 로컬이 다른 시스템 상태와 일치하지 않을 수 있습니다.
예를 들어 10 대의 시스템에 Nginx 를 배포했습니다. 배포 단계는 다음과 같습니다.
1. 제어 시스템 또는 관리 시스템이라는 시스템에 관련 스크립트를 작성합니다. "물론 설치, 구성, 시작 등을 포함한 스크립트 테스트를 통과했습니다."
작성된 스크립트를 제어기에서 통제기로 푸시합니다.
3. 관리 대상 시스템에서 관련 스크립트를 실행하여 스크립트에 따라 필요한 Nginx 를 배포합니다.
이익
1, 반복 작업 감소 및 생산성 향상
2, 오류 확률을 줄이고 정확성을 향상시킵니다.
3. 모든 기계의 상태가 일관되어 후속 유지 보수 비용이 절감됩니다.
소프트웨어 설치 및 배포
동기화를 구성합니다
코드 변경
명령 실행
임무 수행
Ansible 은 puppet, cfengine, chef, func, fabric 등 다양한 운영 유지 관리 도구의 장점을 통합하여 대량 시스템 구성, 배치 프로그램 배포, 배치 실행 명령 등의 기능을 제공하는 PPET, CFENGINE, CHEF, FUNC, Fabric 등의 기능을 제공하는 PPET 기반 자동화 관리 도구입니다.
Ansible 은 모듈 기반이며 대규모 구축 기능이 없습니다. 실제 배치 배치는 Ansible 이 실행 중인 모듈이며, Ansible 은 하나의 프레임워크만 제공합니다. 이를 통해 반복 작업을 줄이고 생산성을 높일 수 있습니다.
Ansible 은 SSH 를 기반으로 원격 호스트와 통신하므로 원격 호스트에 클라이언트/에이전트를 설치할 필요가 없습니다.
Ansible 은 이미 레드모자에 공식 인수되어 현재 가장 인정받는 자동화 운영 유지 관리 도구로 입문 학습이 간단하다. 모든 운영 및 유지 보수 엔지니어가 습득해야하는 기술 중 하나입니다.
1. 원격 명령 배치 실행: n 개 호스트에서 동시에 명령을 실행할 수 있습니다.
2. 소프트웨어 서비스의 대량 구성: 구성 및 서비스를 자동으로 관리할 수 있습니다.
3. 소프트웨어 개발 기능 구현: 예를 들어, jumpserver 밑바닥은 Ansible 을 사용하여 관리를 자동화합니다.
4. 고급 IT 작업 예약: Ansible 의 스크립트는 IT 아키텍처를 설명하는 데 사용할 수 있는 프로그래밍 언어입니다.
1, 배포가 간단합니다. 주 터미널에 Ansible 환경만 배포하면 됩니다. 관리 터미널은 아무 작업도 필요하지 않습니다.
2. 안전하고 신뢰할 수 있으며 기본적으로 SSH 프로토콜을 사용하여 관리 대상 측을 관리합니다.
3. 일상적인 운영 및 유지 보수 모듈이 많이 있어 대부분의 일상적인 작업을 수행할 수 있습니다.
간단한 구성, 강력한 기능 및 확장 성;
5. 파이썬을 통해 쉽게 확장할 수 있는 API 및 사용자 정의 모듈을 지원합니다.
6. playbook 을 통해 강력한 구성 및 상태 관리를 사용자 정의합니다.
7, 경량, 클라이언트에 에이전트를 설치할 필요가 없습니다. 업데이트 시 운영 체제에서 한 번만 업데이트하면 됩니다.
모듈 설명은 다음과 같습니다.
Ansible:Ansible 코어 프로그램입니다.
호스트 인벤토리: Ansible 이 관리하는 포트, 암호, IP 등을 포함한 호스트 정보 목록을 기록합니다.
실행 설명서: YAML 형식의 스크립트 파일입니다. 하나의 파일에 여러 작업이 정의되어 있으며 호스트가 기능을 수행하기 위해 호출해야 하는 모듈을 정의합니다.
핵심 모듈: 핵심 모듈을 호출하여 관리 작업을 수행하는 핵심 모듈입니다.
사용자 지정 모듈: 핵심 모듈에서 수행할 수 없는 기능을 완성하고 여러 언어를 지원하는 사용자 지정 모듈입니다.
연결 플러그인: 연결 플러그인, Ansible 및 호스트 통신에 사용됩니다.
실행 가능한 제어 호스트는 두 가지 방법, 즉 임시 및 스크립트 방식으로 관리 노드를 조작할 수 있습니다.
지점 간 모드 (지점 간 모드)
단일 모듈을 사용하여 단일 명령의 배치 실행을 지원합니다. 임시 명령은 빠르게 입력할 수 있는 명령이므로 저장할 필요가 없습니다. Bash 의 셸에 해당합니다.
스크립트 모드 (스크립트 모드)
이는 Ansible 의 주요 관리 모델이자 강력한 기능의 핵심입니다. 스크립트는 멀티 태스킹 컬렉션을 통해 웹 서비스 설치 및 배포, 데이터베이스 서버 배치 백업 등과 같은 기능을 수행합니다. 극본은 여러 가지 특수 작업을 결합한 프로필로 간단히 이해할 수 있다.
간단한 이해는 Ansible 이 런타임 시 먼저 ansible.cfg 의 구성을 읽고, 규칙에 따라 인벤토리의 관리 호스트 목록을 가져오고, 해당 호스트의 구성 작업을 병렬로 수행하고, 반환된 결과를 기다리는 것입니다.
1. 자체 구성 파일을 로드합니다. 기본값은/etc/etc/ansible/ansible.cfg 입니다 을 눌러 섹션을 인쇄할 수도 있습니다
2. 해당 호스트 구성 파일을 찾아 실행할 호스트 또는 그룹을 찾습니다.
3. command; 와 같은 해당 모듈 파일을 로드합니다.
4. Ansible 을 통해 모듈 또는 명령을 적절한 임시 py 파일 (파이썬 스크립트) 을 생성하고 파일을 원격 서버로 전송합니다.
5.ansible/tmp/XXX/XXX. 사용자 홈 디렉토리에 해당하는 PY 파일을 실행합니다.
6. 문서 +x 실행 권한을 부여합니다.
7. 결과를 실행하고 반환합니다.
8, 임시 py 파일 삭제, 수면 0 종료;