vm.gowatana.jp

NEOにほんごVMware(仮)

vSAN Objects Viewer を Kubernetes(TKG)で起動してみる。

vSAN Objects Viewer というツールが Fling で公開されました。

このツールは Docker コンテナとして提供されていて、ドキュメントでは Docker ホストで起動しています。vSAN Objects Viewer のシンプルな Docker での起動手順や利用方法については、下記からダウンロードできる PDF を参照してください。

flings.vmware.com

 

自宅ラボには Tanzu Kubernetes Grid(TKG)環境あったので、今回は Kubernetes で起動してみました。

 

今回の環境

TKG 2.1.1 で作成された Workload Cluster を用意してあります。

$ kubectl get nodes
NAME                                   STATUS   ROLES           AGE     VERSION
tkg21wc01-6ptkb-lfr87                  Ready    control-plane   7d16h   v1.24.10+vmware.1
tkg21wc01-md-0-q7vrz-dc5bcc9cd-6z8kb   Ready              7d15h   v1.24.10+vmware.1
tkg21wc01-md-0-q7vrz-dc5bcc9cd-fq7ld   Ready              7d16h   v1.24.10+vmware.1
tkg21wc01-md-0-q7vrz-dc5bcc9cd-v9gmp   Ready              7d16h   v1.24.10+vmware.1

 

Web ブラウザから LoadBalancer の Service 経由でアクセスしたいので、別途 LB をセットアップしておきます。ちなみに今回は MetalLB を利用しています。

$ kubectl api-resources --api-group=metallb.io
NAME                SHORTNAMES   APIVERSION           NAMESPACED   KIND
addresspools                     metallb.io/v1beta1   true         AddressPool
bfdprofiles                      metallb.io/v1beta1   true         BFDProfile
bgpadvertisements                metallb.io/v1beta1   true         BGPAdvertisement
bgppeers                         metallb.io/v1beta2   true         BGPPeer
communities                      metallb.io/v1beta1   true         Community
ipaddresspools                   metallb.io/v1beta1   true         IPAddressPool
l2advertisements                 metallb.io/v1beta1   true         L2Advertisement

 

今回の MetalLB の IP アドレス プールです。

$ kubectl --namespace=metallb-system get ipaddresspools
NAME      AUTO ASSIGN   AVOID BUGGY IPS   ADDRESSES
default   true          false             ["192.168.11.210-192.168.11.214"]

 

vSAN Objects Viewer の起動

まず、Namespace を作成しておきます。

$ kubectl create ns vsan-viewer
namespace/vsan-viewer created

 

vSAN Objects Viewer のコンテナを Pod として起動します。

$ kubectl run vsan-viewer --image=projects.registry.vmware.com/fling_vsan_objects_viewer/fling_vcmd:v1.5.7 --namespace=vsan-viewer
pod/vsan-viewer created

 

Pod が起動されました。

$ kubectl get pods --namespace=vsan-viewer
NAME          READY   STATUS    RESTARTS   AGE
vsan-viewer   1/1     Running   0          34s

 

LoadBalancer Service リソースを作成します。

$ kubectl expose pod vsan-viewer --type LoadBalancer --port=80 --target-port=80 --namespace=vsan-viewer
service/vsan-viewer exposed

 

Service が作成されました。この場合は、Web ブラウザから下記の URL にアクセスすると vSAN Objects Viewer が開けます。

$ kubectl get service --namespace=vsan-viewer
NAME          TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)        AGE
vsan-viewer   LoadBalancer   100.70.86.100   192.168.11.211   80:30131/TCP   35s

 

Web ブラウザからアクセスすると、下記のような画面が開けるはずです。

 

cmmds-tool_find--f-python.txt ファイルのアップロード

ESXi で下記のように cmmds-tool_find--f-python.txt ファイルを出力して、SSH などで Web ブラウザを開くマシンにダウンロードしておきます。

[root@infra-esxi-01:~] vmware -vl
VMware ESXi 7.0.3 build-20328353
VMware ESXi 7.0 Update 3
[root@infra-esxi-01:~] cmmds-tool find -f json > /tmp/cmmds-tool_find--f-python.txt

 

そして vSAN Objects Viewer にアップロードすると・・・

 

vSAN オブジェクトの様子が見られるはずです。この時点でブラウザのズームは 67%。

 

ブラウザのズームは 50%・・・

 

以上、vSAN Objects Viewer を TKG で起動してみる話でした。