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 Kubernetes clusters on the Devstack cloud. First, manual setup using the kubeadm tool. To integrate the cluster with the cloud, you will configure the OpenStack Cloud Provider and the Cinder CSI plugin, both available on the Kubernetes Github repo. …
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 next to the handmade cluster you created in part 2, but you may not have enough resources (mostly disk space and RAM) for both. Consider tearing down the existing cluster or creating a new Devstack before proceeding. …
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.
It would be so much easier if those services came in the shrink-wrapped form, for example as Docker containers. …
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:
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.
What is the name of the Cinder CSI driver? It is defined in the
csi-cinder-driver.yaml manifest on…
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.
As a first step, log on to the master and worker nodes and set their hostnames to the respective OpenStack instance name. …
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.
Install the server version of Ubuntu 18.04 on a computer with these properties:
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 implemented SSH certificates. My mistakes were of two categories: Incorrect key signing, which leads to invalid certificates, and performing steps on the wrong computer. …
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. …