2015-12-02 37 views
9

Come avviene la comunicazione tra due diversi pod in Kubernetes?Comunicazione Pod

Nel mio caso ho due pod: frontend e backend, entrambi hanno diversi contenitori. Desidero che il mio pod di frontend comunichi con il pod di back-end ma non voglio utilizzare l'IP del back-end pod (ovvero codificato in modo rigido).

E 'possibile tramite i servizi?

risposta

7

E 'possibile tramite i servizi?

Sì, services sono il modo consigliato per gestire questo. Una volta impostati i servizi per ciascun pod (o controller di replica, come consigliato), è possibile trovare l'IP del servizio tramite lo service environment variable, ad es. BACKEND_SERVICE_HOST e BACKEND_SERVICE_PORT per un servizio di "backend".

4

Un metodo raccomandato è con il DNS del cluster add-on: http://kubernetes.io/docs/user-guide/services/#dns


Esempio dal 'libro degli ospiti' app:

https://github.com/kubernetes/kubernetes/blob/3574999fa34d54c47f43efd9eaff7e1c571c7910/examples/guestbook/php-redis/guestbook.php#L13

Essi usano: $host = 'redis-master'; come il metodo predefinito per comunicare con il pod redis-master.

Quale è stato definito in redis-master-service.yaml: https://github.com/kubernetes/kubernetes/blob/3574999fa34d54c47f43efd9eaff7e1c571c7910/examples/guestbook/redis-master-service.yaml