Dozvieme sa:
Entita v klastri reprezentujúca nejaký zdroj:
vytvárame ich pomocou API klienta (kubectl,web)
Yaml dátové typy: slovník, pole, reťazec, číslo
Yaml je podobný ako JSON
Asociatívne pole:
apiVersion
- kompatibilta,kind
- druh objektu,metadata
- meno, štítky a anotácie,spec
- špecifikácia objektu.Pod
Deployment
,ReplicaSet
,Service
,Ingress
,tento objekt nevytvárame priamo ale pomocou StatefulSet
alebo Deployment
Jedna jednotka aplikácie:
Pod je nedeliteľný - všetky jeho časti bežia spolu na jednom uzle
Deklarujeme PODy ktoré aplikácia potrebuje
Deployment sa dá jednoducho škálovať (vytvárať a rušiť inštancie).
ReplicaSet
+------------+
| Deployment |
+------------+
| controlplane
v
+------------+
| ReplicaSet |
+------------+
| controlplane
v
+------------+
| POD |
+------------+
node
Funguje pre ľubovoľný TCP protokol
Verejná IP adresa je cenný tovar
Deklarujeme symbolické meno mikroslužby
ClusterIP
: služba je viditeľná v rámci klastra (dostane virtuálnuu IP adresu a DNS meno)NodePort
: služba bude dostupná na každom uzle na konkrénom porte.LoadBalancer
: služba bude dostupná pomocu nástrojov Vášho poskytovateľaZverejnenie pomocou LoadBalancer
+-----------+ +-------------+ +---------------+
| POD | Cluster | Service | | Load Balancer | Public
| ClusterIP | Traffic | Cluster DNS | | Public IP | TCP
+-----------+ +-------------+ + --------------+
Ingress
Zverejníme službu HTTP
"Obaľuje" reverzný proxy server (nginx
, HAProxy
)
Verejný webový server so symbolickým DNS menom
Service
na konkrétne URL+-----------+ +-------------+ +---------------+
| POD1 | Cluster | Service 1 | | Ingress | Public
| ClusterIP | Traffic | Cluster DNS | | Public DNS | HTTPS
+-----------+ +-------------+ + --------------+
\ Ingress Rules
+-----------+ +-------------+ \__ /service1
| POD2 | Cluster | Service 2 |
| ClusterIP | Traffic | Cluster DNS | <--- /service2
+-----------+ +-------------+
Kubernetes ekosystém