Kubernetes
Overview
This tutorial will show you how to use Kubernetes on the Nectar Research Cloud.
What you’ll learn
- Create a Kubernetes cluster using Magnum
- Create a service using Pods
- Create a Loadbalancer to allow external access to your service
- Use a ReplicaSet for High Availability
- Scale your cluster
- Use Cinder volumes for storage
What you’ll need
-
A Nectar project with the following quotas:
- 1 x Cluster
- 1 x Network
- 1 x Router
- 2 x Floating IP
- 3 x Loadbalancer
- 3 x m3.small Compute
- Set up the OpenStack Command Line Tool - Tutorial
- python-openstackclient
- python-heatclient
- python-magnumclient
- kubectl
kubectl version skew policy
kubectl is officially supported within one minor version (older or newer)
of kube-apiserver. If your cluster is running 1.21.1 you should use a kubectl
between 1.20 and 1.22. See the k8s version skew policy here.
Magnum
Magnum is the project for the Container Orchestration Engine (COE) Service in OpenStack. In the Nectar context, the only COE framework that is tested and supported is Kubernetes, so this tutorial will only cover topics that are related to Kubernetes.
Kubernetes Tutorial
Kubernetes has an extensive documentation site, which covers many of the concepts that we will be covering, often in greater depth than we do here.
The purpose of this tutorial is not to replace Kubernetes documention. Rather we aim to show you how to quickly set up a Kubernetes cluster on the Nectar Research Cloud, and how to integrate Kubernetes with native OpenStack services like Cinder.
This tutorial uses the Openstack command-line tools rather than the “Project > Container Infra” dashboard panels.