Big Data Cluster (BDC) は、k8s 上に複数の Pod を構築することで構成されています。
BDC の管理ポータルからも Pod の情報を取得することはできますが、kubectl 取得することで自分の必要となる情報を取得できるので、JSONPath の操作を覚えがてら、簡単なものを記述してみました。
作成したものがこちらです。
kubectl get pod -n bigdatacluster -o=jsonpath='{range ..items[*]}{.metadata.name}:{.status.podIP}({.spec.nodeName}:{.status.hostIP}){"\n"}{range ..spec.containers[*]}{"\t"}{.name}{.protocol}{"\t""\n"}{"\t\t"}image:{.image}{"\n"}{range ..ports[*]}{"\t\t"}{.protocol}:{.containerPort}{"\t"}{"\n"}{end}{"\n"}{end}{end}' | less
今回は、「bigdatacluster」というネームスペースに BDC を展開していますので、このネームスペース内の Pod / コンテナー / イメージの情報を取得しています。
どのようなソフトが入っているかを確認したい場合、この辺の情報を把握しておきたいことが多々あるのですよね。
実行すると Pod の一覧をベースとして、その Pod 内で起動しているコンテナーの情報 (イメージ / ポート) を取得することができます。
この情報があると、Pod がどのような構成になっているかの把握が自分としてはやりやすかったです。