7,540
edits
Changes
→Hálózat
<br>
<br>
==SSH==
A Cluster létrehozásakor minden olyan SSH kulcsot megkaptunk, amivel a három node-ra be tudnunk lépni SSH-val. És ahogy ezt láthattunk is a default hálózaton a 22-es port nyitva van mind három node-on:
<pre>
# gcloud compute firewall-rules list
NAME NETWORK DIRECTION PRIORITY ALLOW
default-allow-ssh default INGRESS 65534 tcp:22
</pre>
A '''describe''' paranccsal bele is nézhetünk:
<pre>
# gcloud compute firewall-rules describe default-allow-ssh
allowed:
- IPProtocol: tcp
ports:
- '22'
description: Allow SSH from anywhere
direction: INGRESS
kind: compute#firewall
name: default-allow-ssh
...
</pre>
Egy adott node-ra a '''gcloud compute ssh <felhasználó név>@<node név>''' paranccsal lehet belépni.
{{note|Ha nem adunk meg felhasználó nevet, akkor a root-al fog a google sdk megpróbálni belépni, ami nem lehetséges. '''Permission denied (publickey).'''. Ennek széles irodalmva van a neten, nincs igazából konklúzió. Pl: https://stackoverflow.com/questions/26193535/error-gcloud-compute-ssh-usr-bin-ssh-exited-with-return-code-255}}
Az SSH-hoz használt user-t nem kell előre létrehozni. Ha olyan nevet adunk meg, ami még nem létezik, akkor első alkalommal létre fogja hozni. Fontos tehát, hogy mindig megadjunk egy a root-tól különböző felhasználó nevet a '''@''' előtt, különben nem fog menni a belépés. Próbáljunk meg belépni az első node-ra, aminek a nevét a '''kubectl get nodes''' parancsból nézhetjük ki.
<pre>
]# gcloud compute ssh adam2@gke-adam1-default-pool-67fe18ad-3v96
No zone specified. Using zone [europe-west6-b] for instance: [gke-adam1-default-pool-67fe18ad-3v96].
Updating project ssh metadata...⠧Updated [https://www.googleapis.com/compute/v1/projects/adamproject1].
Updating project ssh metadata...done.
Waiting for SSH key to propagate.
...
adam2@gke-adam1-default-pool-67fe18ad-3v96 ~ $
</pre>
<brt>
==Service-ek publikus elérése==
<source lang="C++>
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: web
namespace: default
spec:
selector:
matchLabels:
run: web
template:
metadata:
labels:
run: web
spec:
containers:
- image: gcr.io/google-samples/hello-app:1.0
imagePullPolicy: IfNotPresent
name: web
ports:
- containerPort: 8080
protocol: TCP
</source>
<pre>
# gcloud compute firewall-rules create test-node-port --allow tcp:32094
</pre>
<br>
==Ingress==
Az ingress alapból benne van a cluster-be, egy saját google implementáció. A service belső portját, nem a node portját kell megadni.
https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer
Ha statikus IP-t akarunk, akkor azt külön kell csiálni, de fontos, hogy aztán kitöröljük, mert külön számláz érte.
<source lang="C++">
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: basic-ingress
spec:
backend:
serviceName: web-service
servicePort: 8080
</source>