Changes

Kubernetes

1 byte added, 20:55, 29 April 2019
Service
https://sookocheff.com/post/kubernetes/understanding-kubernetes-networking-model/
 //A '''containerPort ''' csak informatív jellegű a konténer definícióban. Ettől függetlenül bármilyen porotot porot-ot expose-álni lehet később, olyat is ami itt nincs magadva. Ezt nem lehet később felülírnimegadva. Ha az expose parancsban nem adunk meg '''--target'''-port-ot akkor a '''-containerPort'''-al megadott portot fogja megosztani.
containers:
- name: my-nginx
//Az expose paranccsal lehet egy Pod vagy ReplicSet vagy Deployment-hez service-t készíteni implicit (tehát nem dekleratív módon). Meg kell mondnaimondani, hogy miből indulunk ki. Mi most egy replicaSet-ből, ezért az rs után megadtuk a ReplicaSet nevét. Utána meg kell adni a service nevét, a portot, amit ki akarunk nyitni, valamint a típust. <pre>
# kubectl expose rs nginx-rs --name=http --port=80 --type=NodePort --target-port=80
</pre>
Típusok:
* LoadBalancer
Három féle Háromféle port érdekes egy a '''NodePort ''' típusú service esteténesetetén, amiből az expose paranccsal csak kettőt lehet megadni:
* port: ezen a porton érhető el a service a cluster-en belül. Ennek nincs köze ahhoz hogy a cluster-n kivül hol érhető el a szolgáltatás. Ha nem adjuk meg, akkor ugyan az lesz mint a target-port
* target-port: ez azt mondja meg, hogy a pod-on/container-en belül hol hallgatózik a service. Ha nem adjuk meg külön, akkor a -containerPort -ból szedni.
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
minikube Ready master 7d1h v1.13.4 192.168.122.228 <none> Buildroot 2018.05 4.15.0 docker://18.6.2
</pre> ^^^^^^</pre>
Az expose autómatikusan legyártja a service definíciót a ReplicaSet-ből, amiből kiindultunk. A végerdmény az alábbi: