2016-11-08 13 views
0

隣人ポッドを発見する方法:Kubernetes:私は(GKEで)3つの異なるポッドを開始している

kubectl run ubuntu --image myimage --namespace misko -r 3 --command -- /some/binary --bind-to-port 1234 

は、今私は、ホスト名/それらの3に接続する必要がある第四ポッドからそれらのポッドのIPアドレスを発見する必要がありますノード。

これは可能ですか?

答えて

0

これは、ポッドの動作とレプリカを制御するDeploymentを作成していますが、クラスタの内側または外側にポートを公開するためには、この配置用のサービスを作成する必要があります。その後

kubectl expose deployment ubuntu --port=1234 --target-port=1234 

あなたはサービス名とポート番号を使用して、ラウンドロビンでポッドにアクセスすることができます。

ububtu:1234 

他のポッドが、それは別の名前空間上にある場合は、完全なDNSを使用することができます代わりに:

ubuntu.misko.svc.cluster.local:1234 

私はawarよ、より多くの例のために

+0

感謝をkubectl exposeをご覧くださいこの問題を解決するには、すべてのポッド(ラウンドロビンを使用しない)のIPを取得する必要があります。しかし、今私はそれがデザインの観点からは愚かなアイデアだと私はそれを行うべきではないことを認識します。 – Misko

+0

3つの異なるサービスと1つのレプリカ/デプロイメントしかない3つの別個のデプロイメントを作成することもできます。次に、DNSを使用します。あなたが達成しようとしていることに依存します。再起動の場合、IPが変更されます。 – Camil

+0

mongoレプリカを作成しようとしていますが、ホスト名に依存しています。それはKubernetesにとっては使えない。 – Misko

関連する問題