1. ホーム
  2. kubernetes

[解決済み] Pod内のコンテナからPod自身のIPアドレスを知るには?

2022-09-05 15:25:27

質問

KubernetesはコンテナごとにIPアドレスを割り当てていますが、Pod内のコンテナからIPアドレスを取得するにはどうすればよいのでしょうか。ドキュメントを見ても方法が分かりませんでした。

編集: KubernetesでAerospikeのクラスタを動かそうとしているのですが、設定ファイルに独自のIPアドレスが必要です。そして、私はホスト名を設定するためにconfdを使用しようとしています。環境変数が設定されていれば、それを使用するのですが。

どのように解決すればよいでしょうか?

最も簡単な答えは、ポッドまたはレプリケーション コントローラーの yaml/json ファイルに、以下に定義する設定ブロックを追加して、環境変数としてポッドの IP を追加するようにすることです。(以下のブロックは、さらにポッドに名前と名前空間を利用できるようにします)

env:
- name: MY_POD_NAME
  valueFrom:
    fieldRef:
      fieldPath: metadata.name
- name: MY_POD_NAMESPACE
  valueFrom:
    fieldRef:
      fieldPath: metadata.namespace
- name: MY_POD_IP
  valueFrom:
    fieldRef:
      fieldPath: status.podIP

Pod/rcを再作成して、次のようにしてください。

echo $MY_POD_IP

も実行します。 env を実行して、kubernetesが他に何を提供してくれるのか見てみましょう。

乾杯