Skip to content

Bootstrap the Infrastructure for Kubernetes and OpenShift on Azure using Docker und Terraform

License

Notifications You must be signed in to change notification settings

snordmann/formkube

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Bootstrap the Infrastructure for Kubernetes and OpenShift on Azure using Docker und Terraform

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HCL 93.3%
  • Shell 6.7%