728x90
플레이북 환경 설정
Vagrantfile
1. Ansible_env_ready.yml 파일을 앤서블 서버로 전달
2. Ansible_env_ready.yml 파일을 앤서블 서버에서 실행
# -*- mode: ruby -*-
# vi: set ft=ruby :
# API 버전 명시
Vagrant_API_Version = "2"
Vagrant.configure(Vagrant_API_Version) do |config|
config.vm.define:"ansible-server" do |cfg|
cfg.vm.box = "centos/7"
cfg.vm.provider:virtualbox do |vb|
vb.name = "Ansible-Server"
end
cfg.vm.host_name = "ansible-server"
cfg.vm.synced_folder ".", "/vagrant", disabled: true
cfg.vm.network "public_network", ip: "172.30.1.100"
cfg.vm.network "forwarded_port", guest: 22, host: 19210, auto_correct: false, id: "ssh"
# path 옵션: 해당 파일을 전송하고 실행하는 것을 포함
cfg.vm.provision "shell", path: "bootstrap.sh"
# 앤서블 환경 준비 파일을 현재 디렉토리에서 원격지의 디렉토리로 전달
cfg.vm.provision "file", source: "Ansible_env_ready.yml", destination: "Ansible_env_ready.yml"
# inline 옵션: 실행만을 포함
# ansible-playbook Ansible_env_ready.yml 명령어를 호출함
cfg.vm.provision "shell", inline: "ansible-playbook Ansible_env_ready.yml"
end
end
bootstarp.sh
1. vim plugin 관련 파일이 저장될 디렉토리 생성
- /home/vagrant/.vim/autoload
- /home/vagrant/.vim/bundle
2. vim과 bash의 환경 설정 파일 생성
#! /usr/bin/env bash
# 앤서블 설치
yum install -y epel-release
yum install -y ansible
# 환경 설정 초기 파일 구성 for vagrant only
mkdir -p /home/vagrant/.vim/autoload /home/vagrant/.vim/bundle
touch /home/vagrant/.vimrc
touch /home/vagrant/.bashrc
Ansible_env_ready.yml (앤서블 환경 준비 파일)
Ansible_env_ready.yml 파일 생성 후 저장
1. yum을 통한 vim-enhanced 설치
2. yum을 통한 git 설치
3. pathogen.vim 다운로드 (https://github.com/tpope/vim-pathogen)
4. vim-ansible-yaml을 git clone을 통해 다운로드
5. vim 환경 설정 수정 (vimrc)
6. Bash 환경 설정 수정 (bashrc)
---
- name: Setup for the Ansible's Environment
hosts: localhost
gather_facts: no
tasks:
- name: Install vim-enhanced
yum:
name: vim-enhanced
state: present
- name: Install git
yum:
name: git
state: present
- name: Download pathogen.vim
shell: "curl -fLo /home/vagrant/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim"
- name: Git clone vim-ansible-yaml
git:
repo: 'https://github.com/chase/vim-ansible-yaml.git'
dest: /home/vagrant/.vim/bundle/vim-ansible-yaml
- name: Configure vimrc
lineinfile:
dest: /home/vagrant/.vimrc
line: "{{ item }}"
with_items:
- "set number"
- "execute pathogen#infect()"
- "syntax on"
- name: Configure Bashrc
lineinfile:
dest: /home/vagrant/.bashrc
line: "{{ item }}"
with_items:
- "alias vi='vim'" # 주의: alias vi = 'vim' 과 같이 공백이 있으면 안됨
- "alias ans='ansible'"
- "alias anp='ansible-playbook'"
vagrant provision
현재 실행 중인 가상 머신에 변경 사항 적용
PS C:\HashiCorp> vagrant provision ansible-server
728x90
'Ansible' 카테고리의 다른 글
220608_2_앤서블_응용_앤서블 서버와 노드 간 통신 설정-sshd_config (0) | 2022.06.08 |
---|---|
220608_1_앤서블_응용_앤서블 노드 구성 (0) | 2022.06.08 |
220603_2_앤서블_응용_Vagrantfile 수정 및 bootstrap.sh 생성 (0) | 2022.06.03 |
220603_1_앤서블_응용_vagrant를 이용한 프로비저닝 (0) | 2022.06.03 |
220602_4_앤서블_기초_플레이북 사용하기 (0) | 2022.06.02 |