Alcuni chiarimenti (non proprio una risposta)
In kubernetes, a ogni pod viene assegnato un indirizzo IP e a ogni contenitore nel pod viene assegnato lo stesso indirizzo IP. Pertanto, come ha affermato Alex Robinson nella sua risposta , puoi semplicemente utilizzare hostname -iall'interno del tuo contenitore per ottenere l'indirizzo IP del pod.
Ho provato con un pod che esegue due contenitori stupidi, e in effetti hostname -istava emettendo lo stesso indirizzo IP all'interno di entrambi i contenitori. Inoltre, quell'IP era equivalente a quello ottenuto usando kubectl describe poddall'esterno, il che convalida l'intera cosa IMO.
Tuttavia, la risposta di PiersyP mi sembra più pulita.
Fonti
Dai documenti di Kubernetes :
Le applicazioni in un pod utilizzano tutte lo stesso spazio dei nomi di rete (stesso IP e spazio della porta) e possono quindi "trovarsi" e comunicare utilizzando localhost. Per questo motivo, le applicazioni in un pod devono coordinare il loro utilizzo delle porte. Ogni pod ha un indirizzo IP in uno spazio di rete condiviso piatto che ha piena comunicazione con altri computer fisici e pod attraverso la rete.
Un altro pezzo dai documenti di Kubernetes :
Fino ad ora questo documento ha parlato di container. In realtà, Kubernetes applica gli indirizzi IP nell'ambito del Pod: i contenitori all'interno di un Pod condividono i loro spazi dei nomi di rete, incluso il loro indirizzo IP. Ciò significa che i contenitori all'interno di un pod possono raggiungere le porte l'uno dell'altro su localhost.
printenv | grep '10.254.24.167'non restituisce nulla tranne la variabile definita dall'utente MY_POD_IP. Comunque, prenda il mio voto signore :)