Kubernetes はコンテナごとに IP アドレスを割り当てますが、Pod 内のコンテナから IP アドレスを取得するにはどうすればよいでしょうか。ドキュメントから方法が見つかりませんでした。
編集: Kubernetes で Aerospike クラスターを実行する予定です。構成ファイルには独自の IP アドレスが必要です。また、confd を使用してホスト名を設定しようとしています。環境変数が設定されている場合はそれを使用します。
ベストアンサー1
最も簡単な答えは、ポッドまたはレプリケーション コントローラーの 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 が提供するその他の機能を確認するためにも実行してください。