Hide last authors
Andrea Omicini 18.1 1 {{velocity}}
2 #set( $currentCourseDoc = "Sd2021" )
3 {{/velocity}}
Andrea Omicini 14.1 5 >Author
Andrea Omicini 18.1 6
Andrea Omicini 14.1 7 * [[Martina Baiardi>>XWiki.MartinaBaiardi4]]
Andrea Omicini 13.1 8
Andrea Omicini 14.1 9 >Abstract
Andrea Omicini 18.1 10
Andrea Omicini 17.1 11 This project has the objective to find out some of the possibilities offered by the Kubernetes software.
Martina Baiardi 1.1 12
13 //Kubernetes// is an open-source software that allows to istantiate a //cluster// composed of //nodes// that aims to distribute //services// over the network, using structures called //pods//.
15 A //cluster// is a collection of //nodes//.
17 //Nodes// are physical or virtual machines that contains //pods//. There are two types of nodes inside a cluster:
19 * The Master Node, mandatory node that has the role to coordinate all the components inside a cluster. It performs this task with the //API Server// instance that executes inside, which exposes REST APIs to perform CRUD (Create, Read, Update and Delete) operations on cluster's objects. The Master Node, called also //Control Plane//, contains other structures than the API Server, such as a distributed open-source database called //ETCD// that only the API Server can interoperate with. This storage contains all the cluster informations, and by default it's inside the Control Plane but it can be also configured to be on the outside.
21 * The //Worker Node(s)//, there is no minimal requirement for them. There can be multiple instances or also no one of them inside of a cluster. Their only role is to carry //pods// and keep them running when needed. Inside each Worker Node there is a component called //Kubelet// that communicates with the API Server assuring that the pods inside his node are working such as the the requirements (in terms of //replicas//).
23 //Services// are the way to expose the access to pods. They include a //Load Balancing Policy// if the pods they refer to have multiple replicas inside the cluster.
25 //Pods// are structures that contains one or more containers, each of them sharing:
27 * Memory (or Volume)
28 * Network space and port space
29 * Process Identifiers (PIDs)
30 * Inter-Process Communications (IPC)
32 Finally, there is another structure called //Deployment// that refers to a collection of replicas of the same pod. Tipically, pods are instantiaded with Deployment's specification.
34 //Kubectl// is the command-line tool used to interoperate with a cluster's API Server.
36 This projects aims to study how to develop a Kubernetes cluster where users without administrator access can submit some //atomic// workload into and waiting the related results when it completes.
Andrea Omicini 14.1 38 >Material
Andrea Omicini 18.1 39 * {{virtuale res="forum-entry" eng="project forum" ita="forum progetti"}}64569{{/virtuale}}
Andrea Omicini 16.1 40 * [[repo>>https://gitlab.com/pika-lab/courses/ds/projects/ds-project-baiardi-ay2021||target=_blank]]
41 * [[presentation on Google Presentation>>https://docs.google.com/presentation/d/1sOcs_seLG84Cvz_GfLcpXXi5IiJoWufV-hw7GdSQfPA||target=_blank]]


— a.y.


— credits


— cycle

2nd cycle

— language



— professor

Andrea Omicini

— tutors

Giovanni Ciatto


— university

Alma Mater Studiorum-Università di Bologna

— campus


— department / faculty / school


— 2nd cycle

8614 Ingegneria e scienze informatiche 

URLs & IDs

AMS Page
course on Virtuale
virtual room
Course Timetable

— course ID


Partita IVA: 01131710376 - Copyright © 2008-2022 APICe@DISI Research Group - PRIVACY