Changes

Kubernetes

1,557 bytes added, 21:02, 8 April 2019
ReplicaSets
<br>
=ReplicaSets=
 
==Áttekintés==
:[[File:ClipCapIt-190331-231800.PNG]]
- {key: teir, operator: NotIn, values: [production]}
</pre>
 
A pod-hoz hasonlóan a dekleratív megközelítés szellemében, a replicaSet-et is yaml fájllal kell definiálni:
<source lang="C++">
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: nginx-rs
spec:
replicas: 2
selector:
matchLabels:
run: my-nginx
template:
metadata:
labels:
run: my-nginx
spec:
containers:
- name: my-nginx
image: nginx
ports:
- containerPort: 80
</source>
 
A ReplicaSet leírásában 3 fontos rész van a spec szekción belül:
* '''replicas''': megmondja, hogy hány példány kell hogy fusson a pod-ból
* '''selector''': megmondja, hogy milyen címkékkel kell hogy a pod rendelkezzen, amire a replicaSet vonatkozik. Mivel a pod és a replicaSet csak lazán csatolt kapcsolatban van, a ReplicaSet csak annyit figyel, hogy minden fusson a replicas részben megadott számú pod, ami rendelkezik olyan címkékkel amiket a selector szekcióba megadtunk (itt tagadni is lehet)
* '''template''': Itt definiáljuk a pod-ot. Ez a rész megegyezik a pod yaml fájlnál leírtakkal. A metadata részben adjuk meg a pod címkéit, a spec részbe pedig a konténereket.
{{info|Furcsa hogy ezt a két egymástól független entitást egy fájlban definiáljuk. Simán megcsinálhatjuk, hogy a tempalte szekcióban olyan pod-ot adunk meg, aminek nincs egy olyan címkéje sem, ami illeszkedne a selector részben megadott címkékre, így a replicaSet sosem tudna elindulni. }}
 
==Selectorok és címkék==
 
 
 
 
 
==ReplicaSet kezelése==
A '''get''' parancsban ReplicaSet esetén az '''rs'''-t kell megadni a '''pod''' helyett:
A pod-ok és az RS között csak lazán csatolt kapcsolat van. Ha '''--cascade=false ''' kapcsolóval töröljük az RS-t akkor a podokat meg fogja hagyni. És ha újra létrehozzuk az RS-t ezeket a pod-okat fogja felhasználni.
<pre>
# kubectl delete -f rs/go-demo-2.yml --cascade=false