VTWO-14496 : start machines configuration
parent
ce236f216f
commit
e577b6e5ac
23
README.md
23
README.md
|
@ -1,4 +1,25 @@
|
||||||
# Introduction
|
# Introduction
|
||||||
|
|
||||||
This repository is intended for demo-ing the manual install of kubernetes's components on both master and worker nodes.
|
This repository is intended for demo-ing the manual install of kubernetes's components on both master and worker nodes.
|
||||||
It should be able to get you to a working single master kubernetes setup
|
It should be able to get you to a working single master kubernetes setup on a set of vagrant boxes
|
||||||
|
|
||||||
|
# prerequisites
|
||||||
|
- vagrant
|
||||||
|
- the scp vagrant plugin : `vagrant plugin install vagrant-scp`
|
||||||
|
- [the GNU parallel CLI](https://www.gnu.org/software/parallel/)
|
||||||
|
|
||||||
|
# setup
|
||||||
|
- start the vms
|
||||||
|
```sh
|
||||||
|
vagrant up
|
||||||
|
```
|
||||||
|
|
||||||
|
- setup a container runtime
|
||||||
|
```sh
|
||||||
|
./scripts/run_script_on_all_nodes install_container_runtime
|
||||||
|
```
|
||||||
|
|
||||||
|
- download kubernetes
|
||||||
|
```sh
|
||||||
|
./scripts/run_script_on_all_nodes download_node_binaries
|
||||||
|
```
|
|
@ -1,5 +1,6 @@
|
||||||
# Doc at https://docs.vagrantup.com
|
# Doc at https://docs.vagrantup.com
|
||||||
# Boxes at https://vagrantcloud.com/search
|
# Boxes at https://vagrantcloud.com/search
|
||||||
|
require 'open-uri'
|
||||||
|
|
||||||
Vagrant.require_version ">= 2.2.4"
|
Vagrant.require_version ">= 2.2.4"
|
||||||
|
|
||||||
|
@ -7,8 +8,9 @@ Vagrant.configure("2") do |config|
|
||||||
config.vm.box = "debian/stretch64"
|
config.vm.box = "debian/stretch64"
|
||||||
config.vm.box_version = "= 9.9.1"
|
config.vm.box_version = "= 9.9.1"
|
||||||
|
|
||||||
|
# greet from every configured VM, revealing its hostname
|
||||||
config.vm.provision "shell", inline: "echo Hello from \$HOSTNAME"
|
config.vm.provision "shell", inline: "echo Hello from \$HOSTNAME"
|
||||||
|
|
||||||
config.vm.define "master-node" do |node|
|
config.vm.define "master-node" do |node|
|
||||||
node.vm.hostname = "master-node"
|
node.vm.hostname = "master-node"
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
curl -sL https://github.com/kubernetes/kubernetes/releases/download/v1.15.0/kubernetes.tar.gz | tar zxvf -
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
sudo apt-get update -y
|
||||||
|
|
||||||
|
sudo apt-get install -y \
|
||||||
|
apt-transport-https \
|
||||||
|
ca-certificates \
|
||||||
|
curl \
|
||||||
|
gnupg2 \
|
||||||
|
software-properties-common
|
||||||
|
|
||||||
|
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
||||||
|
|
||||||
|
sudo add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
|
||||||
|
|
||||||
|
sudo apt-get install -y --allow-unauthenticated docker-ce docker-ce-cli containerd.io
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
vagrant status --machine-readable | grep ,state, | cut -d, -f2 | sort | uniq
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
SCRIPTS_DIR=$(dirname $0)
|
||||||
|
SCRIPT_NAME=$1
|
||||||
|
NODE_NAMES=$($SCRIPTS_DIR/node_names)
|
||||||
|
|
||||||
|
cat $SCRIPTS_DIR/$SCRIPT_NAME
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
read -n 1 -s -r -p "Press any key to continue..."
|
||||||
|
echo ""
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# copy script over
|
||||||
|
chmod u+x "$SCRIPTS_DIR/$SCRIPT_NAME"
|
||||||
|
parallel vagrant scp "$SCRIPTS_DIR/$SCRIPT_NAME" "{}:~/" ::: $NODE_NAMES
|
||||||
|
|
||||||
|
# remotely run the script
|
||||||
|
parallel vagrant ssh {} -c "\~/$SCRIPT_NAME" ::: $NODE_NAMES
|
Loading…
Reference in New Issue