Ansible 대량 새로운 기계 운영 환경 초기 화
다음 플레이 북 은 내 가 만 든 새로운 기계 운영 환경 을 초기 화 한 것 으로 all - in - one 파일 로 vars, tasks, templates, handlers 등 을 분리 해서 쓰 지 않 았 다.(옛 규칙, 내 github 에서 다운로드 할 수 있 습 니 다.)
---
- hosts: new
remote_user: shanker
sudo: yes
gather_facts: true
vars:
user: shanker
tasks:
- name: install provisioning tools, git and zsh dstat via yum
yum: name={{ item }} state=installed
when: ansible_os_family == "RedHat"
with_items:
- git
- zsh
- dstat
- screen
- name: install provisioning tools, git and zsh dstat via apt-get
apt: name={{ item }} state=installed
when: ansible_os_family == "Debian"
with_items:
- git
- zsh
- dstat
- screen
- name: install epel on centos6
yum: name=http://archive.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm state=present
when: ansible_os_family == "RedHat" and ansible_distribution_version|int <7
- name: install epel on centos7
yum: name=https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm state=present
when: ansible_os_family == "RedHat" and ansible_distribution_version|int >=7
- name: install zsh as default shell
script: /etc/ansible/setuptools/init_zsh.sh
- name: copy default screen file
copy: src=/etc/ansible/setuptools/screenrc dest=/etc/screenrc mode=0644 owner=root group=root
- name: copy ssh provate key
copy: src=/etc/ansible/setuptools/shanker.pri dest=/home/`user`/.ssh/ mode=0600 owner=`user` group=`user`
- name: copy ssh config
copy: src=/etc/ansible/setuptools/config dest=/home/`user`/.ssh/ mode=0644 owner=`user` group=`user`
hosts: new, new 는/etc/ansible/hosts 에서 정 의 된 그룹 입 니 다. 여 기 는 마음대로 정의 할 수 있 습 니 다. 형식 은 이러한 괄호 안에 그룹 이름 이 있 고 다음은 기계 이름 입 니 다.
[new]
ukcent1
ukcent2
remote_user: shanker 는 플레이 북 을 원 격 으로 실행 하 는 사용자 이름 을 말 합 니 다.
sudo: yes, shanker 를 실행 하고 슈퍼 사용자 권한 이 필요 한 명령 을 sudo 로 실행 합 니 다.
gather_facts: true 는 Ansible 에 게 시스템 환경 변수 정 보 를 받 게 하 는 것 으로 아래 의 판단 시스템 은 Redhead or Debian 을 깔 아 줍 니 다.
vars:
user: shanker, user 입 니 다. 이 변 수 는 shanker 입 니 다. 아래 copy ssh key 가 홈 디 렉 터 리 에 도착 할 때 사용 해 야 합 니 다.
tasks 다음은 실 행 될 일련의 명령 입 니 다.
전반 부 설치 시스템 소프트웨어 는 Ansible 의 Loop 과 Conditionals 문법 을 사 용 했 습 니 다.
{
구체 적 으로 는 공식 문 서 를 참고 할 수 있다.
http://docs.ansible.com/ansible/playbooks_loops.html
http://docs.ansible.com/ansible/playbooks_conditionals.html
}
이 시스템 의 family 가 Redhat 시리즈 라면 yum 모듈 로 소프트웨어 를 설치 하고 데 비 안 시리즈 라면 apt - get 으로 설치 하 며 withitems 는 그 소프트웨어 를 설치 해 야 하 는 것 을 실현 할 수 있 고 스스로 용량 을 늘 릴 수 있다.
그리고 centos 시스템 이 고 centos 6. * 라면 6 의 epel 가방 을 사용 하고 7 의 시스템 이 라면 7 의 epel 가방 을 사용한다 고 판단 합 니 다.
그리고 아래 의 scrip 모듈 은 Ansible 이 원 격 기기 에서 나의 초기 화 zsh 스 크 립 트 를 실행 하 는 것 에 익숙 하 다 고 알려 줍 니 다. 이것 은 반드시 추가 해 야 합 니 다.
뒤의 copy 모듈 은 자신 이 자주 사용 하 는 프로필 의 복 제 를 실현 했다. 예 를 들 어 vimrc, screen, tmux, bashrc 등 을 스스로 추가 할 수 있다.
마지막 으로 copy 나의 비밀 키 는 새 기계 의 집 디 렉 터 리 에 있 고 위 vars 가 설정 한 변수 user 를 사 용 했 습 니 다.
완 료 된 후에 매번 새로운 기계 가 당신 에 게 유지 보 수 를 해 줄 것 입 니 다. 기 계 를 hosts 에 추가 한 다음 에 플레이 북 을 실행 하면 시간 과 힘 을 절약 할 수 있 습 니 다.
환영 하 다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
코드 설명자: Ansible 코드의 Regex 및 Backrefs저는 Ansible과 같은 단순화 프레임워크를 사용하는 경우에도 매우 조밀한 코드를 작성하는 경향이 있습니다. 위의 내용은 RHEL 7 구성 파일 "/etc/aide.conf"의 내용이 정의된 스캔 정의 "LOG"에...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.