«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
12-28 16:41
관리 메뉴

+1-1+1-1+1-1+1-1...

Vagrant - CentOS 환경 구성 실습 본문

Linux/Sever Mangement

Vagrant - CentOS 환경 구성 실습

투명인간 2021. 3. 1. 01:40
728x90

이틀 삽질 해서 만든 Vagrantfile Script...

 

1. vagrant up 실행시 "ERROR umount: /mnt: not mounted" 발생

기존에 설치 되있는 vagrant-vbguest 플러그인을 지우고 0.21 버전 설치 후 해결됨

 

Vagrant No VirtualBox Guest Additions installation found [Fixed] - DevopsRoles.com

Vagrant No VirtualBox Guest Additions installation found [Fixed] - DevopsRoles.com

#Introduction In this tutorial, How to fix error Vagrant No VirtualBox Guest Additions installation found. I use laptop and run command vagrant up for nfs server then error “umount: /mnt: not mounted“ ERROR umount: /mnt: not mounted I have uninstall va

www.devopsroles.com

 

2. Vagrant 기본 명령으로 IP를 고정으로 할당했으나, 집에서 쓰고 있는 LG 공유기(DHCP) 서버 때문인지 세팅한 IP가 아닌 다른 IP로 할당되는  증상이 있어, 설치 후 provisioning 시, 스크립트를 별도로 실행하여 원하는 아이피를 세팅하도록 수정했음

 

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :
vagrant_AIP_version = "2"

Vagrant.configure(vagrant_AIP_version) do |config|
	config.ssh.forward_agent = false
	
	# ansible-client01 setting
	config.vm.define:"ansible-client01" do |cfg|
		cfg.vm.box = "centos/7"
		cfg.vm.provider:virtualbox do |vb|
			vb.name = "ansible-client01"
			vb.customize ["modifyvm", :id, "--cpus",1]
			vb.customize ["modifyvm", :id, "--memory",512]
		end
		cfg.vm.host_name = "ansible-client01"
		cfg.vm.synced_folder ".", "/vagrant", disabled: true
		cfg.vm.network "private_network", ip: "192.168.83.101"
		cfg.vm.network "forwarded_port", guest: 22, host: 19211, auto_correct: false, id: "ssh"
		cfg.vm.provision "shell" do |s|
			s.path = "client_sshd_setting.sh"
			s.args = "'192.168.83.101'"
		end
	end
	# ansible-client02 setting
	config.vm.define:"ansible-client02" do |cfg|
		cfg.vm.box = "centos/7"
		cfg.vm.provider:virtualbox do |vb|
			vb.name = "ansible-client02"
			vb.customize ["modifyvm", :id, "--cpus",1]
			vb.customize ["modifyvm", :id, "--memory",512]
		end
		cfg.vm.host_name = "ansible-client02"
		cfg.vm.synced_folder ".", "/vagrant", disabled: true
		cfg.vm.network "private_network", ip: "192.168.83.102"
		cfg.vm.network "forwarded_port", guest: 22, host: 19212, auto_correct: false, id: "ssh"
		cfg.vm.provision "shell" do |s|
			s.path = "client_sshd_setting.sh"
			s.args = "'192.168.83.102'"
		end
	end
	# ansible-master setting
	config.vm.define:"ansible-master" do |cfg|
		cfg.vm.box = "centos/7"
		cfg.vm.provider:virtualbox do |vb|
			vb.name = "ansible-master"
			vb.customize ["modifyvm", :id, "--cpus",1]
			vb.customize ["modifyvm", :id, "--memory",512]
		end
		cfg.vm.host_name = "ansible-master"
		cfg.vm.synced_folder ".", "/vagrant", disabled: true
		cfg.vm.network "private_network", ip: "192.168.83.100"
		cfg.vm.network "forwarded_port", guest: 22, host: 19210, auto_correct: false, id: "ssh"
		cfg.vm.provision "shell" do |s|
			s.path = "server_network_setting.sh"
			s.args = "'192.168.83.100'"
		end
		cfg.vm.provision "shell", path: "ansible_install.sh"
		cfg.vm.provision "file", source: "ansible_setting.yml", destination: "ansible_setting.yml"
		cfg.vm.provision "shell", inline: "ansible-playbook ansible_setting.yml"
		cfg.vm.provision "shell", path: "client_knownhost_setting.sh", privileged: false
	end
end

client_client_sshd_setting.sh > 네트워크 세팅하는 명령 추가

#! /usr/bin/env bash

now=$(date +"%m_%d_%y")

cp /etc/ssh/sshd_config /etc/ssh/sshd_config_$now.backup

sed -i -e 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config

systemctl restart sshd

cat << EOF  > /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BOOTPROTO="none"
ONBOOT="yes"
IPADDR=$1
TYPE="Ethernet"
EOF
systemctl restart network

server_network_setting.sh

#! /usr/bin/env bash
cat << EOF  > /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
BOOTPROTO="none"
ONBOOT="yes"
IPADDR=$1
TYPE="Ethernet"
EOF
systemctl restart network

나머지 쉘 스크립트는 아래 사이트에서 가져와 사용했음

 

참고링크

ossian.tistory.com/88?category=771731

[VAGRANT & ANSIBLE] CentOS Ansible SSH TEST 환경 구성

[VAGRANT & ANSIBLE] CentOS Ansible SSH TEST 환경 구성 VAGRANT & ANSIBLE CentOS Test 환경 구성 이번 포스팅은 아래의 구성도와 같이 Vagrant로 VM을 Provisioning하고 난 뒤 Ansible을 통해 Ansible-Client..

ossian.tistory.com

 

반응형