Ansible 사용법 설명 (2) 공통 명령 및 공통 모듈 소개
첫 번째는 자주 사용하는 명령의 사용이다
둘째, 큰따옴표 ""작은따옴표 ""가 실행 결과에 미치는 영향
셋. 가변 콘솔 도구
넷. 변환 가능한 공용 모듈
첫 번째는 자주 사용하는 명령의 사용이다
Ansible 의 일반적인 명령과 사용법은 앞에서 이미 언급되었다.
실행할 호스트를 나열합니다.
대답할 수 있는 모든 호스트 목록
호스트 대량 검사
Ansible 전체 m 핑-k
Ansible host set -m 모듈 이름 -a 모듈 매개 변수
호스트 호스트 이름 또는 그룹 이름을 "쉼표" 로 구분하여 설정합니다.
-m 모듈 이름, 기본 명령 모듈입니다.
-a 또는 -args 모듈 매개 변수
기타 매개변수
-i 인벤토리 파일 경로 또는 실행 스크립트.
-k 대화식 로그인 암호 사용
-e 변수 정의
-v 세부 정보 표시
둘째, 큰따옴표 ""작은따옴표 ""가 실행 결과에 미치는 영향
다음 명령을 실행하여 ansible 실행 결과를 확인합니다.
1) 하우징
Ansi ble web-m shell-a "echo $ {호스트 이름}"
Ansi ble web-m shell-a "echo $ {호스트 이름}"
2) 작성한 파일을 어디에서 볼 수 있습니까?
Ansible cache -m shell -a 'cd /tmp'
Ansible cache -m shell -a 터치 테스트 파일
참고:
1) 큰따옴표 ""및 작은따옴표 ""의 차이 변수 분석
Ansible 은 두 번째로 명령을 실행합니다. 첫 번째는 로컬 시스템에서, 두 번째는 시스템에서, 두 번째는 구문 분석이 필요한 변수를 전달합니다.
요약: 기본적으로 매개변수가 정확함을 나타내는 데 ""기호가 사용됩니다.
2) 작성한 파일은 어디에 있습니까?
이 파일은 사용자의 홈 디렉토리에 있으며 ansible 은 ssh 를 사용하여 여러 연결을 통해 실행됩니다. 접속이 종료되면 이전의 모든 상태가 무효화됩니다.
해결 방법: CD 명령 대신 chdir 을 사용합니다.
Ansi ble cache-m shell-a' chdir =/tmp touch test file'
셋. 가변 콘솔 도구
Ansible 은 ansible 이 사용자에게 제공하는 대화식 도구입니다. 사용자는 ansible-console 가상화 터미널에서 Ansible 에 내장된 셸 같은 명령을 사용할 수 있어 셸 상호 작용에 익숙한 사용자에게 좋은 사용 환경을 제공합니다.
넷. 변환 가능한 공용 모듈
4. 1) ansible-doc 및 ping 모듈
Ansible-doc 모듈 설명서
모듈의 수첩은 조개껍데기 사람과 맞먹는 것이 중요하다.
Ping 모듈
네트워크 연결 테스트, ping 모듈에 매개 변수가 없습니다.
주: ssh 접속 테스트
4.2) 명령 모듈
기본 모듈, 원격 명령 실행
사용
명령 모듈 고려 사항:
-a 는 실행할 명령을 따라 모듈을 직접 실행할 수 있으며, 명령에 다음 문자가 있을 경우 실행이 실패합니다.
"<" ">" | "&
명령 모듈이 시스템 변수를 구문 분석할 수 없습니다.
이 모듈은 셸을 시작할 필요 없이 ssh 프로세스에서 직접 실행되며 셸을 사용하는 모든 명령이 실패합니다.
모든 기계 부하 보기
날짜 및 시간 보기
4.3) 케이스 모듈
셸 모듈의 사용법은 명령의 사용법과 거의 동일하지만 셸 모듈은 /bin/sh 를 통해 명령을 실행하여 모든 명령을 실행할 수 있습니다.
Vim top 과 같은 대화식 명령은 실행할 수 없습니다.
4.4) 스크립팅 모듈
주문이 너무 복잡합니까?
로컬에서 스크립트를 작성한 다음 스크립트 모듈을 사용하여 실행합니다.
Ansible web -m 스크립트 -a 'urscript'
참고: 이 스크립트에는 셸 스크립트가 포함되지만 이에 국한되지는 않으며, 샤방 인터프리터를 지정하는 모든 스크립트를 실행할 수 있습니다.
시나리오:
모든 웹 호스트에 사용자 wk 를 추가합니다.
1. by 사용자와 wk 사용자는 같은 호스트에 나타날 수 없습니다.
2. wk 사용자의 비밀번호를 456 으로 설정합니다.
4.5) yum 모듈
Yum 패키지 관리자를 사용하여 패키지를 관리합니다.
이름: 작업할 패키지의 이름입니다.
상태: 작업 (설치됨, 제거됨)
4.6) 서비스 모듈
이름: 필수, 서비스 이름
사용: 예 | 아니오는 시작 여부를 나타냅니다.
수면: 다시 시작할 때 중지와 시작 사이에 몇 초 동안 잠을 잔다.
상태: 서비스가 시작, 정지, 재시작 및 재로드되었습니다.
시나리오:
1. 데이터베이스 그룹의 Maria 데이터베이스를 설치합니다.
2. mariadb 서비스를 시작하고 시작을 설정합니다.
4.7) 복제 모듈
원격 호스트에 파일 복사
Src: 로컬 파일을 원격 호스트에 복사합니다. 절대 경로와 상대 경로 모두 허용됩니다. 경로가 디렉토리인 경우 재귀적으로 복사됩니다. 경로가 "/"로 끝나는 경우 디렉토리의 내용만 복사됩니다. /'로 끝나지 않으면 rsync 와 비슷한 디렉토리를 포함한 전체 컨텐츠가 복사됩니다.
Dest: 필수, 원격 호스트의 절대 경로. 소스 파일이 디렉토리인 경우 경로는 디렉토리여야 합니다.
백업: 덮어쓰기 전에 원본 파일을 백업합니다. 백업 파일에는 시간 정보가 포함되어 있으며 Yes | No 의 두 가지 옵션이 있습니다.
강제 수행: 대상 호스트에 다른 내용의 파일이 포함되어 있고 예로 설정된 경우 강제로 겹쳐 씁니다. No 로 설정하면 대상 호스트의 대상 위치가 파일에 없는 경우에만 복제됩니다. 기본값은 예입니다.
시나리오:
로컬 /etc/resolv.conf 파일을 모든 견인 호스트에 복사하고 원본 파일을 백업합니다.
모든 데이터베이스 호스트에 대해 binlog 로그를 엽니다.
4.8) 파이프라인 채우기 모듈 교체 모듈
Sed 와 같은 행 편집 대체 모듈
대상 파일 파일 경로
Regexp 정규식, 수정할 행
선의 최종 수정 결과
모듈을 교체합니다
Sed 와 같은 행 편집 대체 모듈
대상 파일 파일 경로
Regexp 정규식, 수정할 행
교체 결과.
Lineinfile 모듈과 replace 모듈의 차이점
Lineinfile 모듈은 파일의 한 줄을 수정하여 교체하는 역할을 합니다.
대체 모듈은 파일에서 일치하는 모든 행을 수정하고 교체하는 것입니다.
4.9) 모듈 설정
주로 호스트 정보를 얻는 데 사용됩니다. 스크립트에 자주 사용되는 또 다른 매개 변수인 gather_facts 는 이 모듈과 관련이 있으며 filter 매개 변수는 setup 모듈에서 자주 사용됩니다.
필터는 필요한 정보를 필터링합니다.
다음 명령을 실행하여 포함된 모든 정보를 보고 대략적으로 탐색할 수 있습니다.
필터 필터는 정보 모듈의 필터 조건으로 이름을 지정해야 하며 모듈의 세부 정보는 필터 기준으로 사용할 수 없습니다.