SaevOps
[쿠버네티스/도커] Vagrant 가상머신 여러개 생성 및 관리 본문
반응형
1. Vagrantfile 파일 수정
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.define "m-k8s" do |cfg|
cfg.vm.box = "sysnet4admin/CentOS-k8s"
cfg.vm.provider "virtualbox" do |vb|
vb.name = "m-k8s(github_SysNet4Admin)"
vb.cpus = 2
vb.memory = 2048
vb.customize ["modifyvm", :id, "--groups", "/k8s-SM(github_SysNet4Admin)"]
end
cfg.vm.host_name = "m-k8s"
cfg.vm.network "private_network", ip:"192.168.1.10"
cfg.vm.network "forwarded_port" , guest: 22, host:60010, auto_correct: true, id: "ssh"
cfg.vm.synced_folder "../data", "/vagrant", disabled: true
cfg.vm.provision "shell", path: "install_pkg.sh"
cfg.vm.provision "file", source: "ping_2_nds.sh", destination: "ping_2_nds.sh"
cfg.vm.provision "shell", path: "config.sh"
end
#========== #
# Added Nodes #
#========== #
(1..3).each do |i|
config.vm.define "w#{i}-k8s" do |cfg|
cfg.vm.box = "sysnet4admin/CentOS-k8s"
cfg.vm.provider "virtualbox" do |vb|
vb.name = "w#{i}-k8s(github_SysNet4Admin)"
vb.cpus = 2
vb.memory = 2048
vb.customize ["modifyvm", :id, "--groups", "/k8s-SM(github_SysNet4Admin)"]
end
cfg.vm.host_name = "w#{i}-k8s"
cfg.vm.network "private_network", ip:"192.168.1.10#{i}"
cfg.vm.network "forwarded_port" , guest: 22, host: "6010#{i}", auto_correct: true, id: "ssh"
cfg.vm.synced_folder "../data", "/vagrant", disabled: true
cfg.vm.provision "shell", path: "install_pkg.sh"
end
end
end
2. install_pkg.sh 파일 생성 ( 경로는 Vagrantfile과 동일 )
#!/usr/bin/env bash
# install packages
yum install epel-release -y
yum install vim-enhanced -y
: epel , vim 설치 스크립트
3. ping_2_nds.sh 파일 생성 ( 경로는 Vagrantfile과 동일 )
ping 192.168.1.101 -c 3
ping 192.168.1.102 -c 3
ping 192.168.1.103 -c 3
: 핑날려서 상태확인하는 스크립트
4. config.sh 파일 생성 ( 경로는 Vagrantfile과 동일 )
chmod 744 ./ping_2_nds.sh
: 스크립트 사용권한 추가 ( 스크립트를 사용하기 위해선 실행권한이 필요함 )
5. Vagrant 프로비전
# 베어그런트 프로비전
vagrant up
6. 결과 확인
※ 마스터에서 핑을날려 네트워크가 알맞게 설정되었는지 확인
PS C:\HashiCorp> vagrant ssh m-k8s
[vagrant@m-k8s ~]$ ./ping_2_nds.sh
PING 192.168.1.101 (192.168.1.101) 56(84) bytes of data.
64 bytes from 192.168.1.101: icmp_seq=1 ttl=64 time=0.423 ms
64 bytes from 192.168.1.101: icmp_seq=2 ttl=64 time=0.477 ms
64 bytes from 192.168.1.101: icmp_seq=3 ttl=64 time=0.809 ms
--- 192.168.1.101 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.423/0.569/0.809/0.172 ms
PING 192.168.1.102 (192.168.1.102) 56(84) bytes of data.
64 bytes from 192.168.1.102: icmp_seq=1 ttl=64 time=0.359 ms
64 bytes from 192.168.1.102: icmp_seq=2 ttl=64 time=0.850 ms
64 bytes from 192.168.1.102: icmp_seq=3 ttl=64 time=0.758 ms
--- 192.168.1.102 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.359/0.655/0.850/0.215 ms
PING 192.168.1.103 (192.168.1.103) 56(84) bytes of data.
64 bytes from 192.168.1.103: icmp_seq=1 ttl=64 time=0.555 ms
64 bytes from 192.168.1.103: icmp_seq=2 ttl=64 time=0.799 ms
64 bytes from 192.168.1.103: icmp_seq=3 ttl=64 time=0.828 ms
--- 192.168.1.103 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.555/0.727/0.828/0.124 ms

오늘은 베어그런트로 이미지를 가진 VM 여러 개를 생성했다.
Vagrant Cloud로 CentOS 이미지를 다운로드하고, 여러 개의 VM을 생성하고 하기에 아주 적합한 듯하다.
배울 때마다 편한 기술이 많이 나오는 것 같아서 매일 새롭다.
테스트 환경 구축은 오늘까지로 끝.
반응형
'클라우드 > Kubernetes' 카테고리의 다른 글
[쿠버네티스] 디플로이먼트 / 레플리카 / 스펙 (0) | 2022.10.17 |
---|---|
[쿠버네티스] Run과 Create의 차이 (0) | 2022.10.14 |
[쿠버네티스] 구성 요소의 기능 검증 (0) | 2022.09.16 |
[쿠버네티스/도커] Vagrant 가상머신 (0) | 2022.09.14 |
[쿠버네티스/도커] Vagrant 설치 / 접속 / 테스트 (0) | 2022.09.13 |
Comments