Kubernetes for Small and Medium Organisations

With Imixs-Cloud we started a new open infrastructure project, providing a lightweight kubernetes cluster for small and medium-sized organizations. This projects goal is to build, run and maintain business applications in a production ready and self managed kubernetes cluster. The main objectives of Imixs-Cloud are simplicity, transparency and operational readiness.

The runtime environment is based on Kubernetes and provides an easy way to setup and maintain a medium-sized kubernetes cluster environment hosted on virtual servers or bare metal. The project is open source and constantly under development. You can join the project on Github.

The project contains information how to setup a kubernetes cluster on bare metal servers or cloud servers.

Central Configuration

The complete infrastructure of a Imixs-Cloud environment is described in a central configuration directory. The Configuration Directory can be synchronized with a code repository like Git. This makes it easy to role back changes if something went wrong.

The imixs-cloud directory contains different sub-directories holding your applications, scripts and tools:

	/-
	 |+ management/
	    |- monitoring/
	    |- registry/
	    |- traefik/
	 |+ apps/
	    |+ MY-APP/
	       |  001-deployment.yaml
	    .....
	 |+ scripts/
	    |  apply.sh
	    |  setup.sh
	    |  delete.sh
	 |+ tools/

apps/ is the place where your custom business services are configured. Each sub-directory holds at least one kubernetes object description (yaml file). Optional additional configuration files are also located in this directory.

management/ this sub-folder holds the configuration for all management services running on your kubernetes cluster (see below). This configuration is maintained by this project and can be customized for individual needs.

scripts/ provides bash scripts to apply or delete an application and also the setup script to setup a kubernetes node.

tools/ provides useful tools

Management Services

Imixs-Cloud provides a set of management services:

K9s

For a convenient way to obtain information about your cluster Imixs-Cloud uses the tool K9s. K9s is a powerful terminal tool to interact with your Kubernetes cluster.

Traefik

To access your applications from outside of your cluster Imixs-Cloud provides the Ingress Router Traefik.io. This tool allows you to easily expose your services to public Internet addresses.

Longhorn

To run stateful docker images (e.g. a Database like PostgreSQL) you need to define a storage volume along with your service. Due to its simplicity and the very good integration in Kubernetes, we use Longhorn as the preferred storage solution within Imixs-Cloud.

Harbor

Docker images are available on docker registries. The Imixs-Cloud includes a setup to run the registry Habor. Habor is a secure, performant, scalable, and available cloud native repository for Kubernetes.

Contribute

Imixs-Cloud is open source and your are sincerely invited to participate in it. If you want to contribute to this project please report any issues here. All source are available on Github.

Leave a Reply

Your email address will not be published.