Update 30 Dec 2020: The fourth part of the series has been published.

Kubernetes seems to have become the de-facto standard for managing container environments. While convenient tools like minikube allow us to study Kubernetes in a home lab, more realistic Kubernetes clusters run on clouds.

This is the first post in a series that documents how I managed to set up Kubernetes clusters on an OpenStack cloud. If you choose to follow along, you will create a single-server cloud with Devstack, the tool to generate testing platforms in OpenStack’s CI environment.

You will then explore two methods of deploying…

This is part 4 of an article series about running Kubernetes on OpenStack.

The local.conf file from the first part of this series contains these three lines to set up Magnum:

enable_plugin heat https://github.com/openstack/heat stable/ussuri enable_plugin magnum https://github.com/openstack/magnum stable/ussuri 
enable_plugin magnum-ui https://github.com/openstack/magnum-ui stable/ussuri

If you followed the instructions, you already have the environment required to create a Kubernetes cluster. Use a non-admin Keystone user; I created a user and a project, both named kube, for this purpose, but you can also use user demo, project demo, which are set up by Devstack’s stack.sh.

It’s possible to operate the Magnum cluster…

TL;DR at the end.

My home has an Odroid C1+, a single-board computer the size of a credit card, based on an ARM CPU and made by Korean company Hardkernel. It’s always on and runs a few essentials like DNS, DHCP, and Samba.

I decided to add two services to it, a photo gallery and a password vault. Installing them natively would be a lot of work — prerequisite software has to be installed, web servers and databases need to be configured. Besides, installation instructions assume heavy stuff like Apache HTTPd and MySQL, probably too heavy for this tiny computer.

This is part 3 of a series covering Kubernetes clusters on an OpenStack cloud.

What has happened so far: You have set up a Devstack cloud and deployed a Kubernetes cluster on two cloud instances. You added the OpenStack Cloud Provider and the Cinder CSI plugin to that cloud.

It’s time to use the cluster. You will create apps that use:

  1. Cinder volumes
  2. multi-attach Cinder volumes
  3. the loadbalancer

A simple app that uses Cinder volumes

You first need to define a storage class that maps to Cinder. This is done by referencing the Cinder CSI driver as provider in the storage class definition.

Obtain the Cinder CSI driver’s name

What is the name…

This page is the second part of a series on running Kubernetes clusters on OpenStack. It is based on a kubernetes.io blog entry for installing Kubernetes and the official OpenStack-Kubernetes cloud provider documentation.

After deploying the Devstack cloud, you will use kubeadm to launch a Kubernetes cluster on a master and a worker instance. You will then add the OpenStack Cloud Provider and the Cinder CSI plugin. This will enable you to launch Kubernetes LoadBalancer services and use persistent volumes implemented by OpenStack resources.

  1. Installing Kubernetes
  2. Building the Kubernetes cluster
  3. Installing the OpenStack Cloud Provider
  4. Installing the CSI Cinder plugin

Installing Kubernetes

This post is part of a series on running Kubernetes clusters on a Devstack cloud. It discusses the setup of the cloud.

The goal is creating Kubernetes clusters on a single-node Devstack server. This document covers the server itself, deploying Devstack and a few post-deployment configuration steps.

Table of contents

  1. The Devstack server
  2. Preparing the Devstack server and deploying the cloud
  3. Configuring your cloud
  4. If you need to reboot the Devstack server
  5. Optionally: Test if load balancing works

The Devstack server

Install the server version of Ubuntu 18.04 on a computer with these properties:

  • RAM about 15GB for comfortable operation. 12GB may be sufficient. This is…

Update Nov 29, 2020: If your ssh client tells you check_host_cert: certificate signature algorithm ssh-rsa: signature algorithm not supported, see the end of this article.

For years I have been using SSH keys for password-less access to my computers at home. This method is superior to passwords, but has its flaws, especially in a datacenter with many actors. SSH certificates are a much better solution, but they are not that well documented.

So I decided to explore them. Due to sloppy reading and my ignorance in security matters, it took me a bit of trial and error before I successfully…

Sorry for all you lovers of Italian cuisine. This is not a food blog. It’s about Gnocchi, the time series database as a service. Gnocchi is software that grew out of OpenStack, the largest open-source cloud operating system, but is an independent project now. If none of this is your passion, you have an opportunity to stop reading now.

I recently tried to get the CPU utilization of OpenStack instances out of Gnocchi. Unfortunately, the latest OpenStack release, Stein, doesn’t create CPU utilization samples anymore, and doesn’t provide much (if any) documentation how to deal with this change. …

Bernd Bausch

Open-Source and Cloud enthusiast. IT training for IT professionals. Special interests: OpenStack and Kubernetes.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store