Project Name

  •  Performance evaluation of a single Kubernetes cluster across multiple cloud regions

Project description:

Kubernetes is an opensource container orchestration platform for automating application deployment, scaling, management. It enables containerization
and deployment within clouds infrastructure. It introduces the concept of pods which is a group of one or more containers such as Docker containers within a shared network. Kubernetes follows master/slave architecture. A Kubernetes cluster consists of a master and worker nodes. Each pod runs on a worker node in a kubernetes cluster.


One issue is to resolve geographical seperation or workloads, still keeping it easily maintained and managed, Which is usually done using federated solutions. We want to use wireguard vpn to tunnel master and worker nodes(at any project in openstack or in any geographical region) and test the performance of this wireguard vpn and compare it.The scenarios we are going to compare are.


1. Regular K8s deployment :   

  • master and worker nodes as Virtual machines within single shared network. 

2.Single region deployment across different projects :

  • Worker nodes as vms in different projects.
  • Each project has its own virtual network.
  • All worker nodes connected as a single cluster using wireguard.

3.Multi region Deployment :

  •  worker nodes as VMs in different projects 

  • Each project has its own virtual network located in different regions.
  • All projects and regions connect as a single cluster with Wireguard.


The goal of the project is 

  • To test the performance of wireguard vpn and compare it with a regular deployment 
  • To have a validated deployment script for deploying a single Kubernetes cluster in multiple regions interconnected using Wireguard.
  • To produce a report comparing regular web performance between a single local Kubernetes cluster vs, a multi-region cluster.


  • Designing and setting up kubernetes environment in openstack.
  • Create a git repository for each scenario.
  • create a suitable test container with suitable workload tests.
  • Write deployment scripts for three scenarios using ansible.
  •  Deploy a single kubernetes cluster in single cloud region within single shared networks
    using ansible.
  • Deploy a single kubernetes cluster with worker nodes across different projects
    in single cloud region connected with wireguard vpn.
  •  Deploy a single kubernetes cluster with worker nodes across multiple cloud regions and
    in different projects and connected using wireguard vpn.
  • verify the container movement in each scenario.
  •  Evaluate the performance in each scenario.


  • Be able to access Horizon Dashboard to Create Virtual machines and other resources 
  • Able to access different regions to create a multi region network(atleast 3).
  • Able to create Virtual machines and assign RAM, Cores, Volume size to it.
  • Able to create Routers, Network, Security groups, floating ip, LoadBalancer for instances.
  • Able to add keypairs for passswordless authentication.
  • Ability to scale the resources whenever needed.
  • Able to be accountable for the resources used. 


  • Area: Cloud infrastructure
  • Focus: Kubernetes and wireguard
  • sources: github repository 
  • testing: citycloud vms.

Infrastructure needs:

  • Virtual servers: Provided by CityNetwork and CityCloud.


  • Identify similar projects is underway or being proposed in Nordix or upstream projects
  • Identify any specific development be staged with respect to the upstream project and releases.


This calendar is read-only. Please ask your administrator to renew your Team Calendars subscription.


    Customize the different types of events you'd like to manage in this calendar.


    Optionally, restrict who can view or add events to the team calendar.


    Grab the calendar's URL and email it to your team, or paste it on a page to embed the calendar.


    The calendar is ready to go! Click any day on the calendar to add an event or use the Add event button.


    Subscribe to calendars using your favorite calendar client.


The Team

University: Blekinge Institute of Technology 

Dr. Patrik Arlos 



Industry Partner: CityNetwork 

Kim Hindart                                          Vida Ahmadi 

Research                                                       External Supervisor 



DateTimeEvents And NotesSummary


10:00 to 11:00Introduction meetingIntroduction to thesis work,


10:00 to 11:00Introduction to organizationIntroduced partners and colleagues in the organization


10:00 to 11:00Stand-up meetingMeeting with partner, to decide how to start the work


11:00 to 12:00Meeting with supervisorMeeting with Patrik Arlos regarding thesis proposal and Background work.


10:00 to 11:00Stand-up meetingAssigning the tasks and setup a Time Plan


10:00 to 11:00Stand-up meeting Discussed progress of assigned tasks and any improvements to the work


10:00 to 11:00City Network meetingMeeting with Vida Ahmadi regarding work at office and Communication through slack.


10:00 to 11:00Stand-up meeting Discussed progress of assigned tasks and Progress in finding the Research Background.


10:00 to 11:00City Network meeting

Meeting with Vida Ahmadi . Discussion on Methods to Deploy a Kubernetes Cluster.


11:00 to 12:00Team Dynamics

Meeting with Daniel, To Improve the work ethics and Team Dynamics. Discussed the importance of individual needs and team needs.


10:00 to 11:00City Network meeting

Meeting with Vida Ahmadi Where we Discussed the Issues of Exposing an application through LoadBalancer service.


10:00 to 11:00Meeting with supervisorMeeting With Patrik. Discussion on the Network Architecture And Firewall Rules. Made Sure We are on the same page.


02:00 to 03:00Meeting with KimInteraction with Other Colleagues and Discussion and Improvements of Work Culture.


10:00 to 11:00City Network meeting Meeting With Stefano Chuchiella. Discussion on Using Octavia For Exposing the Application.


10:00 to 11:00City Network meeting Meeting With Vida. We Were given a task to document the work so Far and Make sure all the team Members and Supervisors are on the same Page.


PriorityStatusDue DateAssignee
How to handle authentication and tokensNormalCompleted
How to handle vm's and input commands to the vm'sNormal Completed
How to create and handle vm's using sshHigh Completed
Creation of Project, Network, Security Groups, RouterHigh Completed
Install and handle openstack clientNormal Completed
What are the methods to deploy a kubernetes cluster in openstackHigh Completed


How to Deploy a kubernetes cluster using kubeadm and ansible High Completed
How to deploy a kubernetes cluster using RKE and rancherHigh Completed
Compare the methods and find the best possible implementationHigh Completed
How to set up pod overlay network using flannel for pod to pod communicationHigh Completed
How to set up ingress and LoadBalancer to expose an application High Completed
What are the ways to expose an application to the internetNormal Completed
what is wireguardHigh Completed


Deploy a wireguard cluster to verify its workingHighOngoing
Deploy ingress controller on the wireguard clusterHighOngoing

  • No labels
Write a comment...