+1-1+1-1+1-1+1-1...
Vagrant - CentOS 환경 구성 실습 본문
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
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
반응형
'Linux > Sever Mangement' 카테고리의 다른 글
Ansible 기본 개념 및 구조 (0) | 2021.03.02 |
---|---|
[서버관리 자동화] Ansible 기초 명령 (0) | 2021.02.27 |
[서버관리 자동화] Ansible 설치 및 초기 세팅 (0) | 2021.02.27 |
DNS 서버 구성 (bind) (0) | 2021.02.27 |
파일 확장자 일괄 변경 (0) | 2021.02.16 |