목표 : [1]에서 설치된 centos에 ansible core 설정
centos(vm) -> pc(pm)을 통해 internet이 되도록 network 구성해야 함.
- ansible core에 관련된 것을 internet으로 다운받아 올 것임
위 내용이 가능하도록 vagrant 설정하기 + bootstrap.sh 생성
1. vagrant에서 부르는 hostname 작성
2. virtual box에서 구분하는 hostname 작성
3. vm의 hostname 변경
4. pc 와 vm 간에 공유 dir는 사용 X
5. vm 에 ip 설정
6. pc의 port를 ip와 유사하게 변경
bootstrap.sh 생성
1. yum으로 epel 설치 - ansible을 설치하기 위해
2. ansible 설치
bootstrap.sh를 생성하여 아래 설정 넣기(Vagrantfile과 동일한 위치여야 함)
#! /usr/bin/env bash
yum install epel-release -y
yum install ansible -y
vi Vagrantfile에 아래 내용 붙이기
Vagrant.configure("2") 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: "192.168.35.220"
cfg.vm.network "forwarded_port", guest: 22, host: 19220, auto_correct: false, id: "ssh"
cfg.vm.provision "shell", path: "bootstrap.sh"
end
end
1. |config| 이 아래 내용이 하나의 단락으로 묶이게 됨. 설정이 되는 범위를 정해주는 느낌?
2. do가 생겼다면 end로 막아줘야 함.
Vagrant.configure("2") do |config|config.vm.define:"ansible-server" do |cfg|
cfg.vm.box = "centos/7"
cfg.vm.provider:virtualbox do |vb| # virtual box에서 사용하는 일부를 변경
vb.name="Ansible-Server" # virtual box의 이름 변경
end
cfg.vm.host_name="ansible-server" # 서버의 hostname 변경
cfg.vm.synced_folder ".", "/vagrant", disabled: true # virtual box가 설치 되어있는 pc와 공유 디랙토리 설정을 안함
cfg.vm.network "public-network", ip: " # 인터넷 연결을 위해 필요한 것, public-network은 bridge network를 일컬음. ip는 현재 pc ip가 어떤 대역을 사용하는지 보고 그 대역과 같은 Ip를 잡아주면 됨.
cfg.vm.provision. "shell", path: "bootstrap.sh" # shell이란 것을 호출하여 아까 만들어 둔 bootstarp.sh를 실행
end
end
**참고로 cfg.vm.network "public-network", ip: " 이부분은 알아서 자기가 사용할 수 있는 Ip로 꼭 세팅 하시길!!
심화[1]에서 생성한 vm은 일단 삭제함(전원끄고 삭제해야함)
==> ansible-server: Available bridged network interfaces:
중간에 이런게 뜰 수 있음. 보통 1을 입력해주면 됨. 1이 내 pc가 어떻게 인터넷 통신하고 있는지 임. 보통 wireless(wifi)
아까 생성한 virtual box hostname으로 서버가 설치되고 있는 것을 볼 수 있음.
vagrant로 설치한 vm에 ssh로 접근하여 ip 가 원하는대로 설치되어있는지, ansible은 잘 설치되었는지 확인할 수 있음!
+ 추가 사항(NAT + Host-only 일 때 Vagrantfile 작성
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") 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 "private_network", ip: "192.168.56.10"
cfg.vm.provision "shell", path: "bootstrap.sh"
end
end
'네트워크 > 네트워크 자동화' 카테고리의 다른 글
[심화][1]Ansible 심화를 위한 환경 설명 with 베이그런트 (0) | 2021.02.18 |
---|---|
[000] ansible playbook editor - ansible vim 설치하기 (0) | 2021.02.03 |
[6] 3대의 노드에 웹서버를 설치하고 기동해보자!(centos, ansible) (0) | 2021.02.03 |
[5] Ansible 활용하기 - 작업을 단계별로 검증하여 실행하기(playbook 활용) (0) | 2021.02.03 |
[00]YAML(Playbook) 입력시 주의점!! 탭이 인식 안된다고? (0) | 2021.02.03 |