쿠버네티스 교육/강의 내용 정리

220620_2_k8s_vagrant를 이용한 vm 준비

kimhope 2022. 6. 20. 14:37
728x90

vagrant를 이용한 vm 준비


버추얼 박스 환경 설정

Virtualbox - 환경 설정

  • 입력 > 가상 머신 > 호스트 키 조합

 

  • 네트워크 > NatNetwork 확인

 

호스트 네트워크 관리자

  • 192.168.56.1/24

 


 

가상 머신 배포

운영 체제에 맞도록 vagrant 설치

https://www.vagrantup.com/

플러그인 설치

  • vagrant-hostmanager, vagrant-disksize
vagrant plugin install vagrant-hostmanager  
vagrant plugin install vagrant-disksize
vagrant plugin list

 

가상 머신 추가

  • ubuntu/bionic64 이미지를 이용한 가상 머신 추가
vagrant box add ubuntu/bionic64
vagrant box list

 

Vagrantfile 생성

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.define "kube-master1" do |config|
    config.vm.box = "ubuntu/bionic64"
    config.vm.provider "virtualbox" do |vb|
      vb.name = "kube-master1"
      vb.cpus = 2
      vb.memory = 3072
    end
    config.vm.hostname = "kube-master1"
    config.vm.network "private_network", ip: "192.168.56.11"
    config.disksize.size = "30GB"
  end
  config.vm.define "kube-node1" do |config|
    config.vm.box = "ubuntu/bionic64"
    config.vm.provider "virtualbox" do |vb|
      vb.name = "kube-node1"
      vb.cpus = 2
      vb.memory = 3072
    end
    config.vm.hostname = "kube-node1"
    config.vm.network "private_network", ip: "192.168.56.21"
    config.disksize.size = "30GB"
  end
  config.vm.define "kube-node2" do |config|
    config.vm.box = "ubuntu/bionic64"
    config.vm.provider "virtualbox" do |vb|
      vb.name = "kube-node2"
      vb.cpus = 2
      vb.memory = 3072
    end
    config.vm.hostname = "kube-node2"
    config.vm.network "private_network", ip: "192.168.56.22"
    config.disksize.size = "30GB"
  end
  config.vm.define "kube-node3" do |config|
    config.vm.box = "ubuntu/bionic64"
    config.vm.provider "virtualbox" do |vb|
     vb.name = "kube-node3"
      vb.cpus = 2
      vb.memory = 3072
    end
    config.vm.hostname = "kube-node3"
    config.vm.network "private_network", ip: "192.168.56.23"
    config.disksize.size = "30GB"
  end

  # Hostmanager plugin
  config.hostmanager.enabled = true
  config.hostmanager.manage_guest = true

  # Enable SSH Password Authentication
  config.vm.provision "shell", inline: <<-SHELL
    sed -i 's/ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/g' /etc/ssh/sshd_config
    sed -i 's/archive.ubuntu.com/ftp.daum.net/g' /etc/apt/sources.list
    sed -i 's/security.ubuntu.com/ftp.daum.net/g' /etc/apt/sources.list
    systemctl restart ssh
  SHELL
end

 

가상 머신 생성

  • Vagrantfile이 있는 경로에서 명령 실행
  • Vagrantfile에 정의된 내용으로 가상 머신 생성
  • 총 4대의 가상 머신 (마스터 노드 1대, 워커 노드 3대)
vagrant up

 

가상 머신 접속

  • kube-master1에 vagrant 사용자 계정으로 ssh 접속
  • 패스워드: vagrant
ssh vagrant@192.168.56.11
Password: vagrant

728x90