먼저 아래 링크
https://developer.hashicorp.com/vagrant
Vagrant | HashiCorp Developer
Explore Vagrant product documentation, tutorials, and examples.
developer.hashicorp.com

windows powershell에 들어가서
vagrant --help
vagrant box list
vagrant box add centos7
mkdir ansible
cd ansible
mkdir centos
vagrant init centos/7
start notepad++ vagrantfile
notepadd ++ 로 편집
8 Vagrant.configure("2") do |config|
15 config.vm.box = "centos/7"
35 config.vm.network "private_network", ip: "192.168.33.10"
59 config.vm.provider "virtualbox" do |vb|
61 vb.gui = true
64 vb.memory = "2048"
65 vb.cpus = 2
66 end
78 end
저장!!!!!!!!!!!!!
vagrant up
id vagrant
pw vagrant
vagrant 암호인증 없는 sudo권한 가짐
vagrant ssh ==> 공개키 인증방식 첫번째 nic
== ssh 접속하기위해
/etc/ssh/sshd_config
65:passwordauthentication no --> yes
generic/alpine318 다운로드
PS C:\Users\soldesk\ansible> mkdir alpine
디렉터리: C:\Users\soldesk\ansible
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2024-02-06 오후 12:19 alpine
PS C:\Users\soldesk\ansible> cd alpine
PS C:\Users\soldesk\ansible\alpine> ls
PS C:\Users\soldesk\ansible\alpine> vagrant init generic/alpine318
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
PS C:\Users\soldesk\ansible\alpine>
vagrant 파일 수정
35 config.vm.network "private_network", ip: "192.168.33.20"
vagrant halt == 끄기
vagrant status == 상태확인
vagrant destory == 삭제
rm 으로 남아있는 파일 삭제
3-2 앤서블 서버에 앤서블 실행 환경을 구성하기 96page
notepad++ 에다가 작성 !!https://notepad-plus-plus.org/downloads/
Downloads | Notepad++
notepad-plus-plus.org
# -*- mode: ruby -*-
# vi: set ft=ruby :
# -- Ansible-server --
Vagrant.configure("2") do |config|
config.vm.define "ansible-server" do |cfg| # vagrant가 관리하는 vm 이름 (중복되면 안됨)
config.vm.box = "centos/7" # vm에 설치될 box
cfg.vm.provider "virtualbox" do |vb| # vm provider virtualbox, vmware_desktop, ..
vb.name = "Ansible-server" # virtualbox에 등록될 vm이름
vb.cpus = 2
vb.memory = 4096
vb.gui = false
end
cfg.vm.host_name = "control.example.com" # 리눅스에서 hostnamectl 같은 느낌
cfg.vm.network "private_network", ip: "192.168.110.10" # private_network : hostonly
cfg.vm.synced_folder "../data", "/vagrant", disabled: true # 디렉터리 동기화
cfg.vm.provision "shell", path: "ssh_conf.sh"
end
# -- Managed node 1 --
config.vm.define "managed-node1" do |cfg| # vagrant가 관리하는 vm 이름 (중복되면 안됨)
config.vm.box = "centos/7" # vm에 설치될 box
cfg.vm.provider "virtualbox" do |vb| # vm provider virtualbox, vmware_desktop, ..
vb.name = "node1" # virtualbox에 등록될 vm이름
vb.cpus = 1
vb.memory = 2048
vb.gui = false
end
cfg.vm.host_name = "node1.example.com" # 리눅스에서 hostnamectl 같은 느낌
cfg.vm.network "private_network", ip: "192.168.110.20" # private_network : hostonly
cfg.vm.synced_folder "../data", "/vagrant", disabled: true # 디렉터리 동기화
cfg.vm.provision "shell", path: "ssh_conf.sh"
end
# -- Managed node 2 --
config.vm.define "managed-node2" do |cfg| # vagrant가 관리하는 vm 이름 (중복되면 안됨)
config.vm.box = "centos/7" # vm에 설치될 box
cfg.vm.provider "virtualbox" do |vb| # vm provider virtualbox, vmware_desktop, ..
vb.name = "node2" # virtualbox에 등록될 vm이름
vb.cpus = 1
vb.memory = 2048
vb.gui = false
end
cfg.vm.host_name = "node2.example.com" # 리눅스에서 hostnamectl 같은 느낌
cfg.vm.network "private_network", ip: "192.168.110.30" # private_network : hostonly
cfg.vm.synced_folder "../data", "/vagrant", disabled: true # 디렉터리 동기화
cfg.vm.provision "shell", path: "ssh_conf.sh"
end
# -- Managed node 3 --
config.vm.define "managed-node3" do |cfg| # vagrant가 관리하는 vm 이름 (중복되면 안됨)
config.vm.box = "centos/7" # vm에 설치될 box
cfg.vm.provider "virtualbox" do |vb| # vm provider virtualbox, vmware_desktop, ..
vb.name = "node3" # virtualbox에 등록될 vm이름
vb.cpus = 1
vb.memory = 2048
vb.gui = false
end
cfg.vm.host_name = "node3.example.com" # 리눅스에서 hostnamectl 같은 느낌
cfg.vm.network "private_network", ip: "192.168.110.40" # private_network : hostonly
cfg.vm.synced_folder "../data", "/vagrant", disabled: true # 디렉터리 동기화
cfg.vm.provision "shell", path: "ssh_conf.sh"
end
end
++ ssh 파일
#/bin/bash
# allow ssh login with password
time=$(date "+%Y%m%d.%H%M%S")
# backup before overwriting
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_$time.backup
sudo sed -i -e 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
sudo systemctl restart sshd
ansible 설치 명령어
yum install centos-release-ansible-29
ansible 사용 할 계정 및 sudo 권한 부여
user add devops
chpasswd
devops:비밀번호
echo "devops ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/devops
'Ansible' 카테고리의 다른 글
| ansible 에러 (0) | 2024.02.14 |
|---|---|
| ansible 기본 환경설정 (2) | 2024.02.13 |
| ansible 수요일 (1) | 2024.02.07 |
| ansible 2일차 (2) | 2024.02.07 |
| ansible 사전준비 2 (1) | 2024.02.06 |