added sum figures

This commit is contained in:
2019-12-04 20:57:38 +01:00
parent ebd4858a5b
commit fa7c33b60f
15 changed files with 367 additions and 420 deletions

View File

@@ -1,3 +1,4 @@
% !TeX root = ../thesis.tex
\chapter{Elméleti összefoglaló}
\label{sec:theory}
@@ -33,10 +34,14 @@ Néhány fontosabb szolgáltatás, melyet a Kubernetes nyújt:
\end{itemize}
\subsection{Kubernetes klaszter felépítése}
Egy Kubernetes klaszterben két típusú hosztgép lehet. Mindkettőből lehet több darab, de legalább egy-egy példány kötelező.
Egy Kubernetes klaszterben két típusú hosztgép lehet. Mindkettőből lehet több darab, de legalább egy-egy példány kötelező. \aref{fig:k8s-chart} \'abr\'an l\'athat\'o, hogy egy Kubernetes klaszter legal\'abb egy Masterből \'es Workerből \'ep\"ul fel, ezek egy-egy feladatot ell\'at\'o komponensekből \'allnak.
%TODO
<Szép, részletes ábra a K8s klaszter felépítéséről>
\begin{figure}[!ht]
\centering
\includegraphics[width=120mm, keepaspectratio]{figures/k8s_chart.png}
\caption{Egy Kubernetes fel\'ep\'it\'ese}
\label{fig:k8s-chart}
\end{figure}
A Kubernetes Master felelős a klaszterben lezajló folyamatok irányításáért, a Slave-ek, vagy más néven Worker-ek, valamint az alkalmazások állapotának nyilvántartásáért. A klaszterben történő eseményekre válaszul klaszter szintű választ ad - például egy Pod elindítása.
@@ -99,10 +104,19 @@ A Kubeless egy Go nyelven írt, nyílt forr\'askódú, Kubernetes rendszerbe ép
Egy telepített függvény lefutását több esemény - úgynevezett trigger - kiválthatja. Ezek közül egy a http kérés, amelyet a szakdolgozatomban vizsgáltam. Emellett van lehetőség eseményvezérelt műkődésre is, például Kafka rendszerben tárolt üzenetek feldolgozására is.
Lévén, hogy Function as a Service rendszerről van szó, a Kubeless-be telepítendő függvényeket sajátos módon kell megírni.
Lévén, hogy Function as a Service rendszerről van szó, a Kubeless-be telepítendő függvényeket sajátos módon kell megírni. \aref{code:hello-kubeless-go} K\'odr\'eszleten l\'athat\'o, hogy egy Kubeless specifikus csomagot kell import\'alni Go nyelven \'irt f\"uggv\'enyek eset\'eben. Szint\'en l\'atszik, hogy azon k\'iv\"ul egy\'eb t\"obblet teendő nincs.
%TODO
<szép hello world kódrészlet>
\begin{lstlisting}[float=!ht,caption={Kubeless rendszerbe telep\'ithető Hello World k\'odr\'eszlet Go nyelven},label=code:hello-kubeless-go]
package kubeless
import (
"github.com/kubeless/kubeless/pkg/functions"
)
func hello(event functions.Event, context functions.Context) (string, error) {
return "Hello world!", nil
}
\end{lstlisting}
Mint az a fenti kódrészleten is látszik, a függvény első paraméterben megkapja a kiváltott eseményt, a másodikban pedig a futási kontextust, a visszatérése pedig egy karakterlánc, opcionálisan pedig egy keletkezett kivétel. Minden úgynevezett eseménykezelőnek ilyen szignatúrával kell rendelkeznie. Az eseményt leíró, functions.Event típusú paraméterben, például http kérés esetén annak törzsében, található adat.