Skip to content

Latest commit

 

History

History
executable file
·
265 lines (184 loc) · 8.57 KB

5.Vagrant-Virtualbox-Lab.md

File metadata and controls

executable file
·
265 lines (184 loc) · 8.57 KB

Vagrant-Virtualbox ile Lab Ortamı Kurulumu

Host makinanız Windows veya Mac ise bu lab oratamı ile Kubernetes kurumunuzu yapabilirsiniz. Kurulumları Linux, Mac ve Windows sırasına göre yapıyor olacağız.

Linux İçin Kurulumlar

Ssh servisimizi kontrol ediyoruz.

Ubuntu için openSSH Centos için openSSH
sudo apt-get install openssh-server
sudo apt-get install openssh-client
sudo systemctl enable ssh
sudo systemctl start ssh>
sudo yum install openssh-clients
sudo yum install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh

Virtualbox'ı kuruyoruz.

Centos için kurulaum yapmadan önce repo dosyasını listeye ekliyoruz.

sudo wget https://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo -P /etc/yum.repos.d<br>
Ubuntu için Centos
sudo apt-get install virtualbox
sudo usermod -a -G vboxusers $ USER
sudo apt-get install virtualbox—ext-pack
sudo yum install kernel-devel kernel-headers make patch gcc
sudo yum install -y VirtualBox-6.1
sudo usermod -a -G vboxusers $ USER

Ubuntu için vagrant kurulumu

curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt-get update && sudo apt-get install vagrant

Centos için vagrant kurulumu

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum -y install vagrant

Mac için kurulumlar

Virtualbox kurulumu

Virtualbox resmi sayfasından Mac için olan sürümü indirip kurumunu yapabilirsiniz.

vagrant kurulumu için ya Vagrant download sayfasından binary installer'ı indirip kurabilirsiniz ya da aşağıdaki komutla da kurulumu yapabilirsiniz.

brew tap hashicorp/tap
brew install vagrant

Windows için kurulumlar

Windows'da sanallaştırma olarak Virtualbox kullanığımız için Hyper-V nin disable olduğundan emin olunuz. Alttaki komut bütün hyper-v servislerini disable duruma getirecektir.

Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

Windows için openssh kurulumu yapıyoruz.

GUI üzerinden kurulum için program ekle kaldırda opsiyonel özellikler menüsünden OpenSSH Client ve OpenSSH Server programlarını kuruyoruz.

Kurulumu komutla yapmak için öncelikle powershell ile kurulu olup olmadığı kontrol ediyoruz.

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

# alttaki sonucu almalısınız

Name  : OpenSSH.Client~~~~0.0.1.0
State : NotPresent

Name  : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

Kurulu değilse aşağıdaki powershell komularıyla kurabiliriz.

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

SSH servilerini çalıştıryoruz ve firewall üzerinden portlara izin veriyoruz

Start-Service sshd

Set-Service -Name sshd -StartupType 'Automatic'

Get-NetFirewallRule -Name *ssh*

New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' `
                   -Enabled True -Direction Inbound -Protocol TCP `
                   -Action Allow -LocalPort 22

Lab ortamını kuruyoruz

Daha sonra kendimize VagrantKubernetes adında bir klasör açarak içine Vagrantfile adında bir dosya oluşturup alttaki komutları içine kopyalayıp kaydediyoruz.

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


# centops kurmak isteseniz generic/ubuntu2004 yeine generic/centos8  yazmanız yeterli


ENV['VAGRANT_DEFAULT_PROVIDER'] = 'virtualbox'

Vagrant.configure("2") do |config|

# lb-01
config.vm.define "lb-01" do |lb01|
    lb01.vm.box = "generic/ubuntu2004"
    lb01.vm.hostname="lb-01"
    lb01.vm.network "private_network", ip: "10.240.10.2"
    
    lb01.vm.provider :virtualbox do |lv|
       lv.memory=2048
       lv.cpu=1
    end 
 end

# lb-02
config.vm.define "lb-02" do |lb02|
    lb02.vm.box = "generic/ubuntu2004"
    lb02.vm.hostname="lb-02"
    lb02.vm.network "private_network", ip: "10.240.10.3"
    
    lb02.vm.provider :virtualbox do |lv|
       lv.memory=2048
       lv.cpu=1
    end 
 end


# controller-01
config.vm.define "controller-01" do |controller01|
    controller01.vm.box = "generic/ubuntu2004"
    controller01.vm.hostname="controller-01"
    controller01.vm.network "private_network", ip: "10.240.10.4"
    
    controller01.vm.provider :virtualbox do |lv|
       lv.memory=2048
       lv.cpu=1
    end 
 end


# controller-02
config.vm.define "controller-02" do |controller02|
    controller02.vm.box = "generic/ubuntu2004"
    controller02.vm.hostname="controller-02"
    controller02.vm.network "private_network", ip: "10.240.10.5"
    
    controller02.vm.provider :virtualbox do |lv|
       lv.memory=2048
       lv.cpu=1
    end 
 end


# controller-03
config.vm.define "controller-03" do |controller03|
    controller03.vm.box = "generic/ubuntu2004"
    controller03.vm.hostname="controller-03"
    controller03.vm.network "private_network", ip: "10.240.10.6"
    
    controller03.vm.provider :virtualbox do |lv|
       lv.memory=2048
       lv.cpu=1
    end 
 end


# worker-01
config.vm.define "worker-01" do |worker01|
    worker01.vm.box = "generic/ubuntu2004"
    worker01.vm.hostname="worker-01"
    worker01.vm.network "private_network", ip: "10.240.10.7"
    
    worker01.vm.provider :virtualbox do |lv|
       lv.memory=4096
       lv.cpu=2
    end 
 end

 # worker-02
config.vm.define "worker-02" do |worker02|
    worker02.vm.box = "generic/ubuntu2004"
    worker02.vm.hostname="worker-02"
    worker02.vm.network "private_network", ip: "10.240.10.8"
    
    worker02.vm.provider :virtualbox do |lv|
       lv.memory=4096
       lv.cpu=2
    end 
 end

 # worker-03
 config.vm.define "worker-03" do |worker03|
    worker03.vm.box = "generic/ubuntu2004"
    worker03.vm.hostname="worker-03"
    worker03.vm.network "private_network", ip: "10.240.10.9"
    
    worker03.vm.provider :virtualbox do |lv|
       lv.memory=4096
       lv.cpu=2
    end 
 end

end

Daha sonra oluşturduğumuz dosyanın bulunduğu dizinde vagrant up komutunu çalştırıyoruz.

UYARI: Kurulum yapılırken ekranda aşağıdaki gibi bir hata alacak olursanız ve ekranda takılı kaldıysa bir kaç kez enter'a basınız. Şifre girebileceğiniz alan açılacaktır.

This operation requires administrative access. You may skip it by manually adding equivalent entries to the hosts file.

Kurulum tamamlandıktan sonra aynı klasörde iken vagrant ssh controller-02 komutunu çalıştırarak makinamıza ssh yapabiliriz. Ssh bağlantımızdan sonra diğer makinara ping atarak test edebilirsiniz. Bütün makinlarda bu şekilde test yapıp birbirlerine ping atabildiğimizden amin olmalıyız.

Kubernetes kurulumlarında da bütün makinalara bu klasörden bu şekilde ssh yapabilirsiniz.

Makinaların tamamını kapatmak için vagrant halt tamamen silmek için vagrant destroy komutunu kullnabilirsiniz.