more figures
This commit is contained in:
@@ -104,7 +104,7 @@ 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. \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.
|
||||
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.
|
||||
|
||||
\begin{lstlisting}[float=!ht,caption={Kubeless rendszerbe telep\'ithető Hello World k\'odr\'eszlet Go nyelven},label=code:hello-kubeless-go]
|
||||
package kubeless
|
||||
@@ -122,10 +122,14 @@ Mint az a fenti kódrészleten is látszik, a függvény első paraméterben meg
|
||||
|
||||
Egy megírt függvényt telepíteni két módon lehet. Egy lehetőség közvetlen a Kubernetes API-t használva. Alternatíva és könnyítésként a Kubeless fejlesztői elkészítettek egy parancssoros programot, amelyet használva egyszerűen lehet telepíteni függvényeket, létrehozni triggereket, valamint beállítani a skálázást. Fontos, hogy telepítés közben nem jön létre automatikusan CPU limit egy-egy függvénynek, akkor sem, ha skálázást kérünk hozzá. Skálázáshoz a Kubeless a Horizontal Pod Autoscalert használja.
|
||||
|
||||
Mivel a Kubernetesben Podokat van lehetőség futtatni és ütemezni, a Kubeless függvényekből is Podokat kell létrehozni. Ez a folyamat részleteiben eltér programnyelvenként azok sajátosságai miatt.
|
||||
Mivel a Kubernetesben Podokat van lehetőség futtatni és ütemezni, a Kubeless függvényekből is Podokat kell létrehozni. Ez a folyamat, amely \aref{fig:kubeless-pod-creation} \'abr\'an megfigyelhető, részleteiben eltér programnyelvenként azok sajátosságai miatt.
|
||||
|
||||
%TODO
|
||||
<szép ábra a pod létrehozásáról>
|
||||
\begin{figure}[!ht]
|
||||
\centering
|
||||
\includegraphics[width=120mm, keepaspectratio]{figures/kubeless_pod_creation.png}
|
||||
\caption{Kubeless f\"uggv\'enyből Pod l\'etrehoz\'asa}
|
||||
\label{fig:kubeless-pod-creation}
|
||||
\end{figure}
|
||||
|
||||
A Podban futó konténer létrehozása során a Kubeless Controller a Debian nevű Docker képből indul ki. Először telepíti a programnyelv csomagjait, annak függőségeit és a kód binárissá fordításához szükséges eszközöket. Ez után felmásolja a kódot és a vele együtt, opcionálisan megadott függőségleíró állományt. A fordítási folyamat végén lefordítja a kódot. Ez a folyamat csak akkor lesz sikeres, ha a kód belepési függvényét tartalmazó fájlban meg van jelölve a Kubeless futtató környezet, mint függőség, ezáltal nincs szükség egyedi fordítóeszközre. Az elkészült, futtatható binárist megjelöli a rendszer, mint a képből futtatott konténer belépési pontját. Egy így készült Docker képet lehetőség van feltölteni a Docker Hubra, így későbbi használat során nincs szükség a folyamat újbóli futtatására.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user