Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VirtualBox_K8s_Driver #65

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
79 changes: 79 additions & 0 deletions Bash_Helper_Scripts/making_a_VPN.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# 1st have 3 network virtual cards




# 1st card is for public internet access vLAN69


# 2nd card is for internal access vLAN717


# 3rd card is for port-fowarding to a proxy and the reverse proxy wouuld handle

traffic for intranet vLAN777



|----------|
|_NIC_1____|----------->



___.....___
,..-.=--.-. "".
.{_.. ` ,. .
.' \ / | ,'.\`.
/ : ;' `____> \
: `. ( / :
| `>\_ \ r|
/ \ `._ \
| | ` ; |
: \ / ` ;
\ \. ' ` /
`. | / .'
` `/ . '
`---'.....---''

|----------|
|_NIC_2____|----------->


___ _ ___ _ ___ _ ___ _ ___ _
[(_)] |=| [(_)] |=| [(_)] |=| [(_)] |=| [(_)] |=|
'-` |_| '-` |_| '-` |_| '-` |_| '-` |_|
/mmm/ / /mmm/ / /mmm/ / /mmm/ / /mmm/ /
|____________|____________|____________|____________|
| | |
___ \_ ___ \_ ___ \_
[(_)] |=| [(_)] |=| [(_)] |=|
'-` |_| '-` |_| '-` |_|
/mmm/ /mmm/ /mmm/





|----------|
|_NIC_3____|----------->


Internal Applications <-------> Web_Server/proxy <------> Public vLAN69







Permissions are:

Internal can see internal, and use public route for internet



example: 1st card can only go out and view but cannot receive FTP, HTTP, or SSH

2nd card can server ssh, scp, and 80/8080, as well as DNS, DHCP, and others

3rd card is the production route, whereas it hosts to the public what we expose from the site like webpages and web services, network like
93 changes: 93 additions & 0 deletions Kubernetes/k8s_On_Ubuntu_Installer/k8sNoDockerOnUbuntuInstall.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
#!/bin/bash





echo "Use at your own risk, no liability, or responsibility from me"

echo " please see my issue that explains this file's existence"
echo "https://github.com/Hawaiideveloper/Infastructure-as-Code-Sample_Env/issues/57"

echo "These scripts will prepare ubuntu to run Kubernetes"






#To install using script

minikube delete
sudo apt-get update -y
sudo apt-get upgrade -y

sudo apt-get install curl -y
sudo apt-get install apt-transport-https

sudo apt install virtualbox virtualbox-ext-pack
sudo apt-get install -y conntrack


echo "provided you agreed to everything"
echo " you will now be redirected to minikube installation"


# Download MiniKube , and copy it to executable libraries location
wget https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo cp minikube-linux-amd64 /usr/local/bin/minikube

# Make Minikube executable
sudo chmod 755 /usr/local/bin/minikube
minikube version


# Pull(download/downstream) kubectl binary, & make it executable, then move to location
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl


# Logs of nameless things.
# minikube start --alsologtostderr -v=7 to debug crashes

minikube config set driver virtualbox

# Starts minikube using the HVM of virtualbox
minikube start --driver=virtualbox

# Starts minikube using the HVM of virtualbox and limits memory to 2200
minikube start --driver=virtualbox --memory=2200mb

kubectl version -o json

#minikube start

#kubectl config view
#kubectl cluster-info

#kubectl get nodes
#kubectl get pod

#minikube ssh

#exit

#minikube stop
#minikube status
#minikube delete
#minikube addons list
#minikube dashboard
#minikube dashboard --url



# If you want a dev box created using homebrew please see below
# the following lines are experimental and should not be used, and only used by experience personnel


# To Install Homebrew uncomment next line: (yes Linux has homebrew now)
#/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# To install minikube with homebrew uncomment the next line and do the following ....
# Do not uncomment for production sytems
70 changes: 70 additions & 0 deletions Vagrant/Arch_Linux/Vagrantfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.

# Every Vagrant development environment requires a box. You can search for
# boxes at https://vagrantcloud.com/search.
config.vm.box = "archlinux/archlinux"

# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false

# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine. In the example below,
# accessing "localhost:8080" will access port 80 on the guest machine.
# NOTE: This will enable public access to the opened port
# config.vm.network "forwarded_port", guest: 80, host: 8080

# Create a forwarded port mapping which allows access to a specific port
# within the machine from a port on the host machine and only allow access
# via 127.0.0.1 to disable public access
# config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"

# Create a private network, which allows host-only access to the machine
# using a specific IP.
# config.vm.network "private_network", ip: "192.168.33.10"

# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
# config.vm.network "public_network"

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
# config.vm.synced_folder "../data", "/vagrant_data"

# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
# config.vm.provider "virtualbox" do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
# vb.memory = "1024"
# end
#
# View the documentation for the provider you are using for more
# information on available options.

# Enable provisioning with a shell script. Additional provisioners such as
# Ansible, Chef, Docker, Puppet and Salt are also available. Please see the
# documentation for more information about their specific syntax and use.
# config.vm.provision "shell", inline: <<-SHELL
# apt-get update
# apt-get install -y apache2
# SHELL
end
10 changes: 10 additions & 0 deletions Vagrant/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
The following simplifies the main transaction of downloading an ISO,
Then installing it, and logging into it.


However the configuration file stature is most comparably to that of
a kickstart file.


In simplicity, it is a "thingy" that will configure your virtual machine, but do it
from a more [consistent box](https://github.com/Hawaiideveloper/Infastructure-as-Code-Sample_Env/blob/efa083d42a4892aa72db403a915bd97be2db58ee/Vagrant/Arch_Linux/Vagrantfile#L14), and automated way.