1. Ansible 무엇
Ansible는 파이썬 모듈에, 자동화 된 도구의 시스템은 단지 SSH 프로토콜 연결하고 시스템 관리, 자동화 된 주문 실행 및 다른 작업을 할 수 있습니다 사용합니다.
2, 왜이해야 Ansible
- 운영 체제 구성은 볼륨을 얻을 수 있습니다
- 당신은 소프트웨어 서비스의 대량 배포를 얻을 수 있습니다
- 배치 파일은 데이터 분포를 달성 할 수
- 당신은 볼륨 정보 수집 시스템을 달성 할 수있다
Ansible의 사용을 의미하는 3,
- 작업의 효율성 (통합 아키텍처의 배포를) 개선
- 정확도 향상
- 유지 보수 비용 절감
- 반복 작업을 줄일 수
(4), 설치 및 배포
- 어떤 구성 파일이 없습니다 (구성 할 필요가 없습니다)
- 서비스를 시작하지 마십시오
- 클라이언트는 임무를 배포 할 필요가 없습니다
5,安装Ansible
냠 -y ansible 설치
6, 학습은 ansible 호스트 목록
VI / 등 / ansible / 호스트
우리가 포트를 변경 키 로그인을 사용하여, 그래서 여기에 반대로 쓰기 한 단위에 SSH 최적화 섹션에서 정상 쓰기
7, Ansible 모듈을 학습 부르는
첫 번째는 첫 번째를 통해 얻을 수 있습니다 SSH 원격 함수는 ansible 기반 배치 관리는 SSH 통신을 구현
1) 핑 모듈
ansible 호스트 그룹 이름 -m 모듈 이름
ansible의 NFS -m 핑 핑 모듈 호출
2) 범용 모듈 쉘 (명령 모음을 잊지 거의 동일, ansible는) 대신 쉘이없는 각 명령은 자신의 전문 모듈을 가지고, 2843 개 모듈을 지원
ansible NFS는 -a -m "다양한 명령을"쉘
8, YAML 문법, 구문 모듈이 유형의 더 자세한 이상의 매개 변수입니다 전화, 좋은 작은 예를 들어, 100 클라이언트의 관리에 종료 스크립트를 실행, 반복 실행되지 않습니다이
직접 할 수있는, 중간 오류 다시 오류 (ansible 각본)없이 실행
기능 : 1) 다른 수준 사이의 관계의 대표 들여
인덱스의 2), 엄격한 요구 사항을있다
가 공식 문서에해야 할 것이다 1) 파일 모듈 (각 모듈에 대한 특정 매개 변수를 ) https://docs.ansible.com/ansible/latest/modules을 읽을
ansible NFS는 -a -m "경로 = / tmp를 / 올드 보이 = 디렉토리 국가 소유자 MODE = 644 = 올드 보이 올드 보이 그룹"파일
2) 복사模块
"=은 / etc / SSH / sshd_config에 이명 령 = / tmp를 / 모드 = '644'SRC '-a 복사 -m ansible NFS
3) 스크립트 스크립트 모듈
ansible NFS -m 스크립트는 "/server/scripts/xx.sh을"-a
4) 사용자의 사용자 모듈 (WWW 설명 올드 보이, 아니 홈 디렉토리, / sbin에 / nologin으로)로, 사용자와 UID와 666 동일 GID 그룹을 만들
ansible 그룹 -a -m NFS "www가 GID = 666 이름 ="
ansible NFS 사용자 -m -a "이름 = www가 UID = 666 주석 = 올드 보이 쉘 = / sbin에 / nologin으로 만들 집 = 아니오"
5) 크론模块
ansible NFS -m 크론 -a '이름 = "ntpdate를"분 = "* / 5"작업 = "ntpdate를 time1.aliyun.com"'
6) 얌模块
ansible NFS -m 얌 -a "NAME = ntpdate를 최신 상태 ="
예 1 : 서비스 구조 NFS
NFS 서버 :
#!/bin/bash
ansible nfs -m group -a "name=www gid=666 state=present"
ansible nfs -m user -a "name=www uid=666 group=666 shell=/sbin/nologin create_home=no"
ansible nfs -m yum -a "name=nfs-utils"
ansible nfs -m file -a "path=/data state=directory"
ansible nfs -m copy -a "src=exports dest=/etc/exports backup=yes"
ansible nfs -m service -a "name=rpcbind state=started enabled=yes"
ansible nfs -m service -a "name=nfs state=started enabled=yes"
ansible nfs -m shell -a "showmount -e"
NFS 클라이언트 :
#!/bin/bash
ansible nfs_client -m group -a "name=www gid=666 state=present"
ansible nfs_client -m user -a "name=www uid=666 group=666 shell=/sbin/nologin create_home=no"
ansible nfs_client -m yum -a "name=nfs-utils"
ansible nfs_client -m file -a "path=/data state=directory"
ansible nfs_client -m service -a "name=rpcbind state=started enabled=yes"
ansible nfs_client -m shell -a "showmount -e 172.16.1.31"
ansible nfs_client -m mount -a "src=172.16.1.31:/data path=/data fstype=nfs opts=defaults state=mounted"