Ansible 설치 및 배포

1. 엔터프라이즈 운영 및 유지 관리를위한 Ansible의 큰 중요성
Ansible은 Python을 기반으로 개발 된 새로 등장한 자동화 된 운영 및 유지 관리 도구이며, 배치 시스템 구성을 달성하기 위해 많은 운영 및 유지 관리 도구 (puppet, cfengine, chef, func, fabric)의 장점을 통합합니다. 배치 프로그램 배포, 배치 실행 명령 및 기타 기능.
Ansible 기능

   1 无终端只需在主控节点部署ansible环境,是基于ssh实现管理的
   2 模块化管理工具,有大量常规运维操作模块,可实现日常绝大部分操作
   3 支持API及自定义模块,可通过Python轻松扩展
   4 通过Playbooks来定制强大的配置、状态管理1

2. Ansible 的
安装 epel 源
[fedra]
name = fedra baseurl
= http : //ftp.sjtu.edu.cn/fedora/epel/8/Everything/x86_64
gpgcheck = 0
여기에 사진 설명 삽입

dnf 설치 ansible -y
ansible --version
여기에 사진 설명 삽입
여기에 사진 설명 삽입


ansible 기본 정보 : /etc/ansible/ansible.conf ## Global 구성 파일, 기본값은 거의 수정되지 않음
/ etc / ansible / hosts ## Global 호스트 인벤토리 목록 파일

#### 3. Anisble 목록 작성 ####
목록은 ansible 제어 호스트 목록입니다.
/ etc / ansible / hosts ## Global manifest 파일

# 1. 관리 호스트 이름 또는 ip를 한 줄에 하나씩 직접 작성하십시오.
node1.westos.com
node2.westos.com
172.25.254.240
여기에 사진 설명 삽입
목록에 도메인 이름을 기록하는 경우 vim / etc / hosts에서 확인해야합니다.
여기에 사진 설명 삽입

2. 관리 호스트의 그룹 [그룹 이름]
목록보기를 설정 합니다 .

ansible 목록의 그룹 이름 [-i list file] --list-hosts
ansible ungrouped --list-hosts
ansible all --list-hosts
여기에 사진 설명 삽입
단일 레벨 목록
[list1]
node1.westos.com
node2.westos.com

[목록 2]
node2.westos.com

[목록 3]
172.25.254.240

중첩 된 목록
[westos : children]
list1
list3

# 测试 :
[root @ ansible ansible] # ansible list1 --list-hosts
hosts (1) :
172.25.254.100
[root @ ansible ansible] # ansible list2 --list-hosts
hosts (1) :
172.25.254.200
[root @ ansible ansible] # ansible list3 --list-hosts
hosts (1) :
172.25.254.240
[root @ ansible ansible] # ansible westos --list-hosts
hosts (3) :
172.25.254.100
172.25.254.200
172.25.254.240

3. 호스트 사양의 범위 동작
호스트 이름 또는 IP 범위를 지정하여 Ansible 호스트 목록을 단순화 할 수 있습니다
구문 :
[start : end]
[westostest]
172.25.254. [100 : 108]
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입

4. 다른 인벤토리 파일 지정
vim inventory
172.25.254.240
[westostest]
172.25.254.100
172.25.254.200

测试
ansible all -i inventory --list-hosts
ansible westostest -i inventory --list-hosts
ansible ungrouped -i inventory --list-hosts
여기에 사진 설명 삽입

ansible 명령은 목록의 정규식을 지정합니다.

  •   ##所有
      ##172.25.254.*
      ##westos*
    

: ## Logic 또는
## westos1 : linux
## 172.25.254.100 : 172.25.254.200

: & ## Logic 및
## westos1 : & linux
## 호스트가 westos1 목록 및 Linux 목록에도 있습니다.

:! ## Logic non
## westos1 :! linux
## is not in linux in westos1

~ ## 키워드로 시작

~ (str1 | str2) ## 조건 1 또는 조건 2로 ​​시작

4. Ansible 구성 파일 매개 변수에 대한 자세한 설명

가능한 목록의 그룹 이름 -m module -u remote_user

# 1.
구성 파일 의 분류 및 우선 순위 /etc/ansible/ansible.cfg # 기본 구성 파일, 다른 구성 파일을 찾을 수 없음,이 파일이
적용됨 ~ / .ansible.cfg # 사용자의 현재 디렉토리에 ansible.cfg가 없습니다.이 파일이 적용됩니다.
./ansible.cfg # 가장 높은 우선 순위

2. 일반적으로 사용되는 구성 매개 변수
[기본값] ## 기본 정보 설정
inventory = ## 인벤토리 경로 지정 쉼표로 구분 된 여러 경로 지정,
여기에 사진 설명 삽입

remote_user = ## 관리 호스트에 로그인 한 사용자 이름, 현재 사용자가 지정되지 않음
여기에 사진 설명 삽입

ask_pass = ## 공개 키 로그인이 false로 설정된 경우 SSH 암호를 입력할지 여부
여기에 사진 설명 삽입

library = ## Library 파일 저장 디렉토리
여기에 사진 설명 삽입

local_tmp = ## 로컬 임시 명령 실행 디렉토리
remote_tmp = ## 원격 호스트 임시 py 명령 파일 저장 디렉토리
forks = ## 기본 동시 수
여기에 사진 설명 삽입

host_key_checking = ## 관리 호스트에 처음 연결할 때 host_key를 설정하기 위해 yes를 입력할지 여부
여기에 사진 설명 삽입

sudo_user = ## Default sudo user
ask_sudo_pass = ## 제어 된 호스트에서 ansible 명령이 실행될 때마다 sudo 암호를 묻는 지 여부
module_name = ## 기본적으로 명령을 사용하는 기본 모듈은 shell
log_path = ## Log 파일 경로 로 수정할 수 있습니다.

[privilege_escalation] ## ID 정보 설정
은 다음과
같습니다 = ## 연결 후 사용자를 자동으로 전환할지 여부 become_method = ## 일반적으로 sudo를 사용하여 사용자 전환 방법을 설정합니다.
become_user = ## 사용자가 관리 대상 호스트 (일반적으로 루트)에서 전환되었습니다.
become_ask_pass ## be_method에 대한 암호를 입력해야합니까? 기본값은 false입니다.
여기에 사진 설명 삽입

5. 사용자 수준 Ansible 운영 환경을 구축합니다.
3 명의 가상 머신 사용자가 약 100 행에서
visudo
수행 할 수 있습니다. 권한을
추가
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
하고 다른 사용자로 전환합니다.
구성 파일 순서 : 우선 순위는 사용자의 홈 디렉토리 및 인벤토리 목록의 구성 파일을 선택합니다.
구성 파일 :
여기에 사진 설명 삽입

재고 목록 :
여기에 사진 설명 삽입

키 인증 설정 및 공개 키 업로드 :

여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입

테스트 :
ansible all --list
여기에 사진 설명 삽입

ansible all -m ping
성공
여기에 사진 설명 삽입

추천

출처blog.csdn.net/qq_42958401/article/details/108527605