Skip to content

Commit

Permalink
Add Vagrant environment
Browse files Browse the repository at this point in the history
  • Loading branch information
StefanScherer committed Nov 11, 2019
1 parent 3f1f107 commit 2fba3db
Show file tree
Hide file tree
Showing 6 changed files with 90 additions and 4 deletions.
2 changes: 2 additions & 0 deletions .gitignore
@@ -0,0 +1,2 @@
.vagrant/
share/
64 changes: 64 additions & 0 deletions Vagrantfile
@@ -0,0 +1,64 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :

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

config.vm.define "k8s-master" do |cfg|
cfg.vm.box = "bento/ubuntu-18.04"
cfg.vm.hostname = "k8s-master"

# cfg.vm.network :private_network, ip: "192.168.38.2", gateway: "192.168.38.1"

cfg.vm.provision "shell", path: "setup/ub-1804-setup.sh"
cfg.vm.provision "shell", path: "setup/ub-1804-master.sh"
cfg.vm.provision "shell", path: "setup/ub-1804-config.sh", privileged: false
cfg.vm.provision "shell", path: "setup/ub-1804-share.sh", privileged: false

cfg.vm.provider "vmware_desktop" do |v, override|
v.gui = false
v.memory = 2048
v.cpus = 2
v.linked_clone = true
end
end

config.vm.define "k8s-worker" do |cfg|
cfg.vm.box = "bento/ubuntu-18.04"
cfg.vm.hostname = "k8s-worker"

# cfg.vm.network :private_network, ip: "192.168.38.3", gateway: "192.168.38.1"

cfg.vm.provision "shell", path: "setup/ub-1804-setup.sh"
cfg.vm.provision "shell", path: "setup/ub-1804-join.sh", privileged: false

cfg.vm.provider "vmware_desktop" do |v, override|
v.gui = false
v.memory = 2048
v.cpus = 2
v.linked_clone = true
end
end

config.vm.define "k8s-win-worker", autostart: false do |cfg|
cfg.vm.box = "StefanScherer/windows_2019"
cfg.vm.hostname = "k8s-win-worker"

cfg.vm.communicator = "winrm"
# cfg.vm.network :forwarded_port, guest: 5985, host: 5985, id: "winrm", auto_correct: true
# cfg.vm.network :forwarded_port, guest: 22, host: 2222, id: "ssh", auto_correct: true
# cfg.vm.network :forwarded_port, guest: 3389, host: 3389, id: "rdp", auto_correct: true
# cfg.vm.network :private_network, ip: "192.168.38.4", gateway: "192.168.38.1"

cfg.vm.provision "shell", path: "setup/win-2019-setup.ps1"
cfg.vm.provision "reload"
cfg.vm.provision "shell", path: "setup/win-2019-worker.ps1", privileged: false, args: "172.16.208.148"


cfg.vm.provider "vmware_desktop" do |v, override|
v.gui = true
v.memory = 2048
v.cpus = 2
v.linked_clone = true
end
end
end
11 changes: 11 additions & 0 deletions setup/ub-1804-join.sh
@@ -0,0 +1,11 @@
#!/bin/bash

# copy the config & write it out
mkdir -p $HOME/.kube
cp -i /vagrant/share/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
join=$(cat /vagrant/share/join-command)
sudo $join

clear
cat $HOME/.kube/config
5 changes: 5 additions & 0 deletions setup/ub-1804-share.sh
@@ -0,0 +1,5 @@
#!/bin/bash

mkdir -p /vagrant/share
sudo cp /etc/kubernetes/admin.conf /vagrant/share
kubeadm token create --print-join-command > /vagrant/share/join-command
8 changes: 6 additions & 2 deletions setup/win-2019-setup.ps1
@@ -1,7 +1,9 @@
$DOCKER_VERSION="19.03.0"

# disable security :)
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -name Shell -Value 'PowerShell.exe -noExit'
if (!(Test-Path C:\vagrant)) {
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -name Shell -Value 'PowerShell.exe -noExit'
}
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
Uninstall-WindowsFeature Windows-Defender

Expand All @@ -11,4 +13,6 @@ Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider -Force -RequiredVersion $DOCKER_VERSION

Restart-Computer -Force
if (!(Test-Path C:\vagrant)) {
Restart-Computer -Force
}
4 changes: 2 additions & 2 deletions setup/win-2019-worker.ps1
Expand Up @@ -13,7 +13,7 @@ docker image tag mcr.microsoft.com/windows/nanoserver:1809 microsoft/nanoserver:
# download the Kube binaries
mkdir -p C:\k\logs
cd C:\k
$ProgressPreference=SilentlyContinue
$ProgressPreference='SilentlyContinue'
iwr -outf kubernetes-node-windows-amd64.tar.gz "https://dl.k8s.io/v$KUBERNETES_VERSION/kubernetes-node-windows-amd64.tar.gz"

tar -xkf kubernetes-node-windows-amd64.tar.gz -C C:\k
Expand All @@ -27,7 +27,7 @@ $ClusterCIDR="10.244.0.0/16"
$KubeDnsServiceIP="10.96.0.10"
$ServiceCIDR="10.96.0.0/12"
$InterfaceName="Ethernet"
$LogDir="C:\k`logs"
$LogDir="C:\k\logs"

$BaseDir = "c:\k"
$NetworkMode = $NetworkMode.ToLower()
Expand Down

0 comments on commit 2fba3db

Please sign in to comment.