Published on

Openstack Kubernetes Deployment

Authors
  • avatar
    Name
    Me
    Twitter

Introduction

A side project to explore the usage of primarily Kubernetes and Openstack. The main idea being able to spin up a cluster in a quick, declarative way. There is provisioning done by Ansible to bootstrap k3s and other required software. The base of the project was based on a fellow coworkers Terraform modules, and adapted to fit my own use case. This project is not suited for production use, and is still being improved over time.

Ingame Screenshot

Structure

The main project called mod-cluster-k3s is the view of the cluster deployment. Each element of the deployment such as ssh access and bastion setup, are referred to each respective module in another repository. Without going too far into detail about each module, the following main features are deployed: Bastion SSH access, K3s instances, Networking.

Hosted App

I am currently hosting my own example app "Kanslobarometern" in the cluster. The app is "externally" accessed via a service using NodePort.

Settings

Currently a large chunk of settings are decided by parameters in tfvar files. These are not hosted on the git for obvious reasons, since some of them included sensitive data. The instance flavor is hardcoded however, and we deploy a "general1-1" instance (smallest).

TODO

Make more suited for production use Replace NodePort access with loadbalancer Make the process even more automized

Link to github