kubernetes openstack integrator #3

Supports: bionic

Description

A highly-available, production-grade Kubernetes cluster.

Kubernetes bundle - GARR Cloud

The following instructions will get you a Kubernetes cluster deployed on the GARR Cloud.

NOTE: REQUIRES THE CONFIGURATION OF THE OPENSTACK INTEGRATOR PARAMETERS TO WORK.

Deployment

Download the bundle by clicking on the 'Download .zip' button on the files section.

Edit and configure the 'bundle.yaml' file with the right subnet and floating network ids of your Openstack project. In order to find the subnet and floating network ids, follow these steps:

1. go to the GARR Cloud Dashboard: https://dashboard.cloud.garr.it;
2. select the project and cloud region (related to your DaaS credentials) in which you want to deploy the Kubernetes cluster;
3. go to Network -> Networks and get the default subnet ID and the floating-ip network ID. If you are on a playground project, get the playground-priv subnet ID and the playground-floating-ip network ID;
4. update the openstack-integrator section in the bundle with the informations retrieved in the previous step.

Now, execute the following command:

juju deploy <path/to/bundle>.yaml --trust

Note

If you want to remove and re-deploy the same bundle in the same openstack project please do as follows:

Remove the applications from the juju model

juju remove-application containerd easyrsa etcd flannel kubernetes-master kubernetes-worker openstack-integrator

If some units are in an error or blocked state, execute a juju remove-machine for the remaining machines.

Use the openstack cli to remove the lbaas related resources previously created

source <app-cred-openrc>.sh

where app-cred-openrc.sh is the application credential related to your user account. If you do not have an application credential, you can follow this guide to create it (https://cloud.garr.it/compute/app-credential/).

neutron lbaas-listener-delete <ids>

where ids are all the ids that the command neutron lbaas-listener-list returns.

neutron lbaas-pool-delete <ids>

where ids are all the ids that the command neutron lbaas-pool-list returns.

neutron lbaas-loadbalancer-delete <ids>

where ids are all the ids that the command neutron lbaas-loadbalancer-list returns.

Delete security groups

opensack security group delete <ids>

where ids are all the ids that the command openstack security group list returns EXCEPT the default security group.

Release Floating IPs

opensack floating ip delete <ids>

where ids are all the ids in status DOWN that the command openstack floating ip list returns.

Re-deploy the bundle

juju deploy <path/to/bundle>.yaml --trust

Bundle configuration