Platforma za avtomatizirano nameščanje, skaliranje in upravljanje z vsebniki:
- izvajanje vsebnikov (containers) na gruči gostiteljev (nodes)
- avtomatska razporeditev vsebnikov na ustrezne gostitelje
- preverjanje vitalnosti (health check) vsebnikov
- avtomatsko horizontalno sklariranje vsebnikov preko metrik (npr. poraba CPU, …)
V primeru izpada:
- vsebnika vnovičen zagon
- gostitelja prerazporeditev vsebnikov
Namestitvena datoteka - yaml: verzija + objekti
Strukture
-
strok (pod):
-
gostitelj (node): vozlišče v gruči, na katerem se izvajajo stroki
-
imenski prostor (namespace): prepona imen virov omogoča deljenje gruče in organizacijo projektov
-
preverjanje znanja (health check): sistem periodičnega preverjanja dostopnosti storitev in nadomeščanja nedelujočih replik
-
skrivnosti (secrets): občutljivi podatki

Namestitvene enote
Strok (pod)
Najmanjša namestitvena enota: atomarna enota enega/več vsebnikov
Vsebniki znotraj stroka si delijo: shrambo, IP naslov in vrata
Opcijski komponenti:
- nosilec podatkov (volume): imenik vsebnika, ki se preslika v imenik na gostiteljevem datotečnem sistemu
- označba (label): oznake strokov za identifikacijo / grupiranje
Ne kreiramo jih neposredno
Namestitev (deployment)
Deklarativni nadzor:
- namestitev in posodobitev strokov in replikacijskih nizov
- samodejna vzpostavitev ob izpadih
- upravljanje replik
Ne glede na lokacijo posameznih strokov je namestitev storitve dostopna na statičnem IP
Replikacijski nadzornik (replication controller) in replikacijski niz (replica set)
Zagotavlja, da v nekem trenutku teče zahtevano št. replik stroka - odstranitev odvečnih / zagon dodatnih replik
Samodejna nadomestitev strokov:
- izpad zaradi napake pri delovanju
- izbris / ustavitev stroka
Uporabimo, če ni zahteve po posodobitvah, sicer uporabimo namestitev
Storitev (service)
Abstrakcija logičnega nabora strokov - politika dostopa (spremembe arhitekture ne smejo vplivati na odjemalce)
Tipi storitev:
- ClusterIP (privzeto): storitev znotraj gruče dostopna na IP naslovu
- NodePort: storitev izpostavljena na vratih na IP naslovu gostitelja vsak gostitelj v gruči ločeno
- LoadBalancer: storitev na voljo na porazdeljevalcu obremenitve
Gruča
Kubernetes master
Vozlišče s komponentami za upravljanje gruče:
- kube-apiserver: izpostavlja Kubernetes API, hrani stanje gruče
- kube-controller-manager: izvaja nadzor stanja gruče preko API
- kube-scheduler: iskanje in določanje vozlišč za izvajanje strokov
Kubernetes node
Ena/več instanc vozlišč z izvajalnim okoljem:
- kube-proxy: izpostavlja storitve definirane v apiserver-ju - posredovanje TCP/UDP tokov
- kubelet: primarni agent za vzdrževanje strokov na vozlišču glede na specifikacije (yaml)
kubectl
kubectl create -f conf.yaml… ustvari okolje iz konfiguracijske datotekekubectl get pods… prikaži vse strokekubectl describe pod y… prikaži opis strokakubectl proxy… dostop do GUI