Skip to content

Latest commit

 

History

History
75 lines (54 loc) · 3.08 KB

README.md

File metadata and controls

75 lines (54 loc) · 3.08 KB

FormKube - Bootstrap the Infrastructure for Vanilla Kubernetes/OpenShift or deploy a fully managed AKS Kubernetes Cluster on Azure

License: GPL v3

FormKube allows you to bootstrap all the needed infrastructure components to deploy Kubernetes or OpenShift clusters on Azure. Additionally, FormKube allows you to bootstrap a fully managed and integrated AKS Cluster.

It's basically the infrastructure part of tectonic-installer for Azure, extended by various features such as multi-zone high-availability, scheduled backup and others. Click here for a full comparison.

FormKube is based on Terraform and Docker. It is basically the result of me teaching myself Terraform and Azure. :)

Prerequisites to Bootstrap a Platform

  1. Azure Credential Configuration
  2. Bootstrapping Prerequisites

Installation Guide

  1. Bootstrapping a Platform
  2. Post Installation Guide
  3. Destroying a Platform

Architecture Documentation

  1. Network Architecture
  2. Network Security Architecture
  3. DNS Configuration
  4. Understanding FormKube's Naming Conventions

Developer Documentation

  1. Development Mode
  2. ToDos
  3. Version History
  4. Considered Features for future releases

TL;DR

  1. Ensure Docker and Bash is installed and you are using a filesystem able to mount files into Ubuntu-based docker containers.

  2. Adjust sample inventory.

  3. For the Azure provider, un the following in the repo's root dir:

    export FORMKUBE_PROVIDER=azure
    export FORMKUBE_CLUSTER=mycluster.mydomain.com #has to be the name of the folder with your configuration inside the clusters dir
    export FORMKUBE_SUBSCRIPTION_ID=abcde-abcde-abcde-abcde
    export FORMKUBE_CLIENT_ID=abcde-abcde-abcde-abcde
    export FORMKUBE_CLIENT_SECRET=abcde-abcde-abcde-abcde
    export FORMKUBE_TENANT_ID=abcde-abcde-abcde-abcde
    bash ./scripts/apply.sh
  4. For the AKS provider, un the following in the repo's root dir:

    export FORMKUBE_PROVIDER=aks
    export FORMKUBE_CLUSTER=mycluster.mydomain.com #has to be the name of the folder with your configuration inside the clusters dir
    export FORMKUBE_SUBSCRIPTION_ID=abcde-abcde-abcde-abcde
    export FORMKUBE_CLIENT_ID=abcde-abcde-abcde-abcde
    export FORMKUBE_CLIENT_SECRET=abcde-abcde-abcde-abcde
    export FORMKUBE_TENANT_ID=abcde-abcde-abcde-abcde
    export FORMKUBE_AKS_SERVICE_PRINCIPAL_CLIENT_ID=abcde-abcde-abcde-abcde
    export FORMKUBE_AKS_SERVICE_PRINCIPAL_CLIENT_SECRET=abcde-abcde-abcde-abcde
    export FORMKUBE_AAD_SERVER_APPLICATION_SECRET=CanBeChosenFreelyButNeverChanged
    bash ./scripts/apply.sh

Authors

  1. ksandermann