<목표>
[ 컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 ] 도서의
2.2.2 가상머신에 추가 패키지 설치하기 완료 (52~ 54)
2.2.3 가상 머신 추가로 구성하기 완료 (55~59)
2.3.3 슈퍼푸티로 다수의 가상 머신 접속하기
- vagrantfile을 통해 centOS에 호스트네임, IP 등을 자동으로 설정
- 추가적으로, CentOS에 필요한 하기 패키지를 설치
- EPEL(Extra Packages for Enterprise Linux)
- Vim
2.2.2 가상머신에 추가 패키지 설치하기
< 코드 실행 >
- 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" #add provisioning script
end
end
- install_pkg.sh
< before >
# install_pkg.sh 파일
#!/usr/bin/env bash
# install packages
yum install epel-release -y
yum install vim-enhanced -y
## 명령 프롬프트에서 아래의 명령어를 입력해 프로비전 구문을 실행
C://HashiCorp> vargrant provision
## EOS로 인한 오류발생
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
원인: CentOS 7 EOS에 따라 기존의 레포지토리 내 패키지들이 삭제되어서 설치가 되지 않습니다!
아래의 코드와 같이, 직접 코드를 입력해줘야 찾을 수 있습니다!
- install_pkg.sh
< after >
#!/usr/bin/env bash
# CentOS repo change from mirror to vault
sed -i -e 's/mirrorlist=/#mirrorlist=/g' /etc/yum.repos.d/CentOS-*
sed -i -e 's/mirrorlist=/#mirrorlist=/g' /etc/yum.conf
sed -E -i -e 's/#baseurl=http:\/\/mirror.centos.org\/centos\/\$releasever\/([[:alnum:]_-]*)\/\$basearch\//baseurl=https:\/\/vault.centos.org\/7.9.2009\/\1\/\$basearch\//g' /etc/yum.repos.d/CentOS-*
sed -E -i -e 's/#baseurl=http:\/\/mirror.centos.org\/centos\/\$releasever\/([[:alnum:]_-]*)\/\$basearch\//baseurl=https:\/\/vault.centos.org\/7.9.2009\/\1\/\$basearch\//g' /etc/yum.conf
# install packages
yum install epel-release -y
yum install vim-enhanced -y
< 설치 패키지 확인 >
## CentOS 접속
C:\HashiCorp>vagrant ssh
[vagrant@m-k8s ~]$
## EPEL 저장소 설치 확인
[vagrant@m-k8s ~]$ yum repolist

2.2.3 가상 머신 추가로 구성하기
< 코드 입력 >
- 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 = 1
vb.memory = 1024
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
- install_pkg.sh
: 추가 패키지 설치
#!/usr/bin/env bash
# CentOS repo change from mirror to vault
sed -i -e 's/mirrorlist=/#mirrorlist=/g' /etc/yum.repos.d/CentOS-*
sed -i -e 's/mirrorlist=/#mirrorlist=/g' /etc/yum.conf
sed -E -i -e 's/#baseurl=http:\/\/mirror.centos.org\/centos\/\$releasever\/([[:alnum:]_-]*)\/\$basearch\//baseurl=https:\/\/vault.centos.org\/7.9.2009\/\1\/\$basearch\//g' /etc/yum.repos.d/CentOS-*
sed -E -i -e 's/#baseurl=http:\/\/mirror.centos.org\/centos\/\$releasever\/([[:alnum:]_-]*)\/\$basearch\//baseurl=https:\/\/vault.centos.org\/7.9.2009\/\1\/\$basearch\//g' /etc/yum.conf
# install packages
yum install epel-release -y
yum install vim-enhanced -y
- ping_2_nds.sh
: ping을 보내 네트워크 확인
# ping 3 times per nodes
ping 192.168.1.101 -c 3
ping 192.168.1.102 -c 3
ping 192.168.1.103 -c 3
- config.sh
: ping 테스트 파일이 실행할 수 있도록 파일 권한을 744로 설정
#!/usr/bin/env bash
# modify permission
chmod 744 ./ping_2_nds.sh
< 확인 리스트 >
- 4대의 가상 머신이 정상적으로 구성되는지
- 가상머신 한 곳에 접속해보기
- ping 파일을 실행해 접속한 가상머신에서 3대의 centOS와 통신하는데 문제없는지
1.

2.

3.

2.3.3 슈퍼푸티로 다수의 가상 머신 접속하기
!오류 발생!

!해결!
푸티, 슈퍼푸티는 <동작중인 VM> 쉽게 접속할 수 있게 도와주는 터미널일 뿐, VM을 먼저 동작시켜야 한다


'컴퓨터공학 지식' 카테고리의 다른 글
| API란? (0) | 2023.11.16 |
|---|---|
| [컴퓨터 공학 지식] Flynn의 분류방법-컴퓨터 시스템 분류방법 (0) | 2023.06.19 |