Installing an OVH Kubernetes Cluster managed with Muppy¶
This document describes how to configure an OVH Managed Kubernetes Cluster for use with muppy.io / Pack8s.
OVH Public Cloud - Managed Kubernetes Service¶
First, select or create an OVH Public Cloud project.
Creating a vRack¶
If you do not have one, create a vRack and attach your Public Cloud project to it.
Creating a Private Network¶
Create the private network that the K8s cluster and the database will use.
- Select the Location
- Name your private network
- Check
Create a Gateway and connect to the private network - Check
Define a VLAN ID
Launch the creation of the Private Network.
Warning
The VLAN ID determines the IP address range that is allocated: 10.{ID}.0.0/16
Creating a Managed Kubernetes Service¶
- Select
Managed Kubernetes Service - Click
Create a Cluster - Select a location — it must be the same as the PostgreSQL cluster's.
- Select the K8s version — take the recommended one
- Select a private network for this cluster:
- Attached private network: select the private network you have just created
- Network gateway: when this option is on, the nodes' outgoing traffic goes through a gateway, which lets you control the IP the nodes use to reach external resources.
- Select a node type (use Discovery D2-8 for test / dev)
-
Configure the size of the node pool:
- You can choose between
Autoscalingand a fixed number of nodes. CheckAutoscaling enabledfor Dev / Test.
- You can choose between
-
Select the billing mode (Hourly is fine for Dev / Test, but remember to shut your servers down.)
Warning
A Gateway is mandatory if you want all your nodes — including those provisioned dynamically — to have a fixed, known IP.
Creating a PostgreSQL cluster¶
Create an instance with the following characteristics:
- Model: it must be identical across every replicated PostgreSQL instance.
- Location: the location must be compatible with the
Managed Kubernetes Cluster, if you use one. - Image: a supported
Ubuntu LTS - SSH key: Muppy's
- Instance name: the name must not refer to the instance's model, but keeping the location in it is useful.
- Automated backup: if the size of your databases allows it, take a
Rotation 7. - Network:
Private mode, and select the Private network you created.- Check
Attach a Floating IP to this instance(see the note below)
- Billing period: unless the database is meant for testing — and therefore temporary —
select
Monthly.
Note
The Floating IP is needed to:
- let the server join an RCS
- let muppy connect to the server.
Creating an RCS¶
On the Primary PostgreSQL Cluster, check:
- that the IPs are consistent:
- Host IP: the Host's private IP
- Control: the IP Muppy uses to connect over SSH. At OVH, this is usually a public Floating IP.
- Public IP: use the Detect button (the IP depends on the gateway)
Warning
If these 3 IPs are not configured correctly, setting up the RCS and High Availability will fail.
Enrolling the k8s Cluster in Muppy¶
Then you must:
- create the k8s Cluster in Muppy
- install the Muppy
Infrastructure Packages
Creating the k8s Cluster in Muppy¶
From the Muppy / K8s / K8s Clusters menu:
- Create a Cluster
- Upload the Cluster's Kubeconfig file
- How the Kubeconfig file is obtained depends on the provider
- Set the Qualifier, the Provider and the Availability Zone
- Click Update Info and check that Muppy retrieves the Namespaces.
Installing the Infrastructure Packages¶
Installing the Infrastructure Packages is documented here: Infrastructure Packages
Note the following specifics of OVH Managed Kubernetes Clusters (OVH MKS):
- Cert-Manager is deployed in the cluster
- Traefik is configured as an Ingress and connected to a
Kubernetes Load Balancer - Certificates can be verified over HTTP or over DNS.