Skip to content

jesmigel/jc_infrastructure

Repository files navigation

jc_infrastructure

Travis

Motivation

To enable the capability of provisioning a kubernetes based infrastructure replicating key aspects of an onprem environment. This includes the following:

  • A kubernetes cluster in a "private" subnet
  • A proxy connected to the "private" and "public" subnet
  • A DNS Server/Sinkhole moderating traffic between the internet and the emulated "onprem" environment

Documentation

Makefile help

# COMMON
# ======
      up: "Brings up a 3 node VM cluster, 1 proxy VM and a dns container"
    down: "Halts (Shutdowns) the 3 node vm cluster"
  status: "Shows the VM and DNS status"
   clean: "Destroys all VMs"
 login_1: "SSH to the node 1 of the VM cluster"
 login_2: "SSH to the node 2 of the VM cluster"
 login_3: "SSH to the node 3 of the VM cluster"
login_ng: "SSH to the proxy node of the VM cluster"


# BOOTSTRAP COMMANDS
# ==================
bootstrap_mounts: "Prepares mounts required prior to building the VM(s)"
                : "    and containers"


# VM COMMANDS
# ===========
validate_vm: "Validates the vm node specifications"


# SUBMODULES
# ==========
      submodules: "Executes submodules_clean submodules_init submodules_sync"
submodules_clean: "Cleans up submodules"
 submodules_init: "Initialises submodules"
 submodules_sync: "Syncs up upstream submodules"


# KUBERNETES (KUBESPRAY)
# ======================
kubespray_deploy: "Executes kubespray_prereq and kubespray_install"


# KUBERNETES (KUBESPRAY) - PREREQUISITES
# ======================================
         kubespray_prereq: "Executes kubespray_venv kubespray_inventory_init kubespray_inventory_build"
           kubespray_venv: "Initialises a kubespray dedicated virtualenv directory"


# KUBERNETES (KUBESPRAY) - INVENTORY
# ==================================
 kubespray_inventory_init: "Initialises a kubespray (ansible) inventory"
kubespray_inventory_build: "Configures the kubespray inventory based on the parameter _K8S_IPS in .makefile.env"
                         : "_K8S_IPS in .makefile.env must match subnet and I.P. stated in"
                         : "     platform/vagrant/vagrant_variables.yaml"


# KUBERNETES (KUBESPRAY) - INSTALLATION
# ==================================
kubespray_install: "Executes kubespray_exec and kubespray_post"
   kubespray_exec: "Executes the kubespray ansible-playbook using the generated inventory"
   kubespray_post: "Places the admin kubernetes configuration to the vagrant home directory inside master nodes"
      kube_config: "initialises a shell script to source the admin config that allows the host to interact "
                 : "   with the kubecluster in the guest VMs"

# END

About

DevOps centric infrastructure

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published