728x90
Vagrantfile 수정 및 bootstrap.sh 생성
Vagrantfile
1. 베이그런트에서 부르는 호스트 이름 작성
2. 버추얼박스에서 구분하는 호스트 이름 작성
3. 가상 머신의 호스트 이름 변경
4. 호스트 PC와 가상 머신 간에 공유 디렉토리는 사용하지 않음
5. 가상 머신에서 인터넷으로 연결되는 IP 설정
6. 호스트 PC의 포트를 IP 주소와 유사하게 변경
Vagrant.configure("2") do |config|
# 1. 베이그런트에서 ssh 연결 시 사용할 호스트 이름
config.vm.define:"ansible-server" do |cfg|
# 가상 머신에 import할 이미지
cfg.vm.box = "centos/7"
# 버추얼 박스에서 가상 머신 생성
cfg.vm.provider:virtualbox do |vb|
# 2. 생성할 가상 머신의 이름
vb.name = "Ansible-Server"
end
# 3. hostname 명령어 입력 시 출력되는 값
cfg.vm.host_name = "ansible-server"
# 4. 윈도우 호스트와 가상 머신 사이의 공유 디렉토리를 사용하지 않도록 설정
cfg.vm.synced_folder ".", "/vagrant", disabled: true
# 5. 인터넷 연결을 위한 설정 (public_network = 브릿지 네트워크, 호스트 PC의 IP 주소 확인 필요)
cfg.vm.network "public_network", ip: "172.30.1.100"
cfg.vm.network "forwarded_port", guest: 22, host: 19210, auto_correct: false, id: "ssh"
# shell을 호출하여 bootstrap.sh 파일을 실행함
cfg.vm.provision "shell", path: "bootstrap.sh"
end
end
bootstrap.sh
1. YUM을 통한 EPEL 설치
2. YUM을 통한 ANSIBLE 설치
새 파일 생성
아래 명령어 입력
#! /usr/bin/env bash
yum install -y epel-release
yum install -y ansible
"bootstrap.sh" 이름으로 파일 저장
vagrant up
기존의 가상 머신을 삭제하고 작업 진행
PS C:\HashiCorp> vagrant up
에러 발생: umount: /mnt: not mounted
해결
PS C:\HashiCorp> vagrant plugin uninstall vagrant-vbguest
PS C:\HashiCorp> vagrant plugin install vagrant-vbguest --plugin-version 0.21
vagrant ssh
생성된 가상 머신에 접속
PS C:\HashiCorp> vagrant ssh ansible-server
[vagrant@ansible-server ~]$
설정된 IP 확인
[vagrant@ansible-server ~]$ ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:4d:77:d3 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic eth0
valid_lft 86219sec preferred_lft 86219sec
inet6 fe80::5054:ff:fe4d:77d3/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:f3:77:c3 brd ff:ff:ff:ff:ff:ff
inet 172.30.1.100/24 brd 172.30.1.255 scope global noprefixroute eth1
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fef3:77c3/64 scope link
valid_lft forever preferred_lft forever
ansible 설치 확인
[vagrant@ansible-server ~]$ ansible
usage: ansible [-h] [--version] [-v] [-b] [--become-method BECOME_METHOD]
[--become-user BECOME_USER] [-K] [-i INVENTORY] [--list-hosts]
[-l SUBSET] [-P POLL_INTERVAL] [-B SECONDS] [-o] [-t TREE] [-k]
[--private-key PRIVATE_KEY_FILE] [-u REMOTE_USER]
[-c CONNECTION] [-T TIMEOUT]
[--ssh-common-args SSH_COMMON_ARGS]
[--sftp-extra-args SFTP_EXTRA_ARGS]
[--scp-extra-args SCP_EXTRA_ARGS]
[--ssh-extra-args SSH_EXTRA_ARGS] [-C] [--syntax-check] [-D]
[-e EXTRA_VARS] [--vault-id VAULT_IDS]
[--ask-vault-pass | --vault-password-file VAULT_PASSWORD_FILES]
[-f FORKS] [-M MODULE_PATH] [--playbook-dir BASEDIR]
[-a MODULE_ARGS] [-m MODULE_NAME]
pattern
ansible: error: too few arguments
728x90
'Ansible' 카테고리의 다른 글
220608_1_앤서블_응용_앤서블 노드 구성 (0) | 2022.06.08 |
---|---|
220607_1_앤서블_응용_플레이북 제작 환경 구성 (0) | 2022.06.08 |
220603_1_앤서블_응용_vagrant를 이용한 프로비저닝 (0) | 2022.06.03 |
220602_4_앤서블_기초_플레이북 사용하기 (0) | 2022.06.02 |
220602_3_앤서블_기초_한 번의 명령어로 다수의 시스템에 작업하기 (0) | 2022.06.02 |